在Android中,我有一个proguard配置方面的问题。我使用Genson解析传入的JSON数据。它速度快,不需要额外的配置或反序列化器,因为服务器端也有Genson。
在调试模式下,一切都很好,但在发行版中,它不能正常工作。
不幸的是,我在运行时出现了一些错误:
FATAL EXCEPTION: main
Process: com.es.mobile.meedy, PID: 16650
java.lang.UnsupportedOperationException: Couldn't find parameter at 0 from type interface com.owlike.genson.Converter , you should first locate the parameterized type, expand it and then use typeOf.
at com.owlike.genson.reflect.TypeUtil.typeOf(Unknown Source)
at com.owlike.genson.GensonBuilder.withConverters(Unknown Source)
at com.mypackage.f.k.a(Unknown Source)
at com.a.a.b.n.a(Unknown Source)
at com.a.a.i.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)即使datamodel在保持类中也会发生这种情况。我尝试了所有的信任与保持课堂,班级成员,等等。我还能做什么呢?
编辑
我还知道些什么:
发布于 2014-12-09 12:05:50
解决这个问题的方法是添加-keepattributes签名。
如果正在使用注释,则应该启用此选项,-keepattributes *注释*
另外,还必须提供由Genson提供的ser/de应用程序类:-keep类com.mypackage.model.** { *;}
发布于 2014-12-08 17:01:21
-keep class com.owlike.genson.*{ *; } 将该行添加到您的ProGuard配置中。
-keep,修饰符,.class_specification 指定要保留为代码入口点的类和类成员(字段和方法)。例如,为了保留一个应用程序,您可以指定main类及其main方法。为了处理库,应该指定所有可公开访问的元素。
https://stackoverflow.com/questions/27362851
复制相似问题