Android Proguard – Jackson的TypeReference类中的IllegalArgumentException

如果proguard用于混淆,Android应用程序崩溃.下面是堆栈跟踪.
Caused by: java.lang.IllegalArgumentException: Internal error: 
  TypeReference constructed without actual type information
    at a.b.a.g.b.<init>(TypeReference.java:35)
    at a.c.d.q.<init>(StdCouchDbInstance.java:22)
    at a.c.d.p.<clinit>(StdCouchDbInstance.java:22)

我使用的是EktorpClient库(使用couchdb),StdCouchDbInstance.java是指this文件,TypeReference.java是this包.有关在Proguard配置文件中应该使用哪个选项来解决此问题的任何建议?

解决方法

我刚刚使用Proguard遇到了Ektorp依赖问题. TypeReference是通用的,-keepattributes Signature将保留通用信息.

我实际上使用了以下内容,这解决了我的问题.

-keepattributes Signature,*Annotation*,EnclosingMethod

Proguard Examples

The “Signature” attribute is required to be able to access generic types when compiling in JDK 5.0 and higher.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...