如果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
The “Signature” attribute is required to be able to access generic types when compiling in JDK 5.0 and higher.