[英]Genson with Android - Proguard config
我在Android Project中使用proguard config遇到問題。 我正在使用Genson解析傳入的JSON數據。 它速度很快,不需要額外的配置或解串器,因為在服務器端也有Genson。
一切在調試模式下都可以正常工作,但是在發布時,使用proguard則不能。
不幸的是,我在運行時遇到一些錯誤:
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在keep類中,也會發生這種情況。 我嘗試過使用keep類,classmember等進行所有配置。我還能做什么?
編輯
我還知道什么:
解決該問題的方法是添加-keepattributes簽名
如果正在使用注釋,則也應啟用此選項-keepattributes * Annotation *
此外,還必須提供Genson進行Ser / de處理的應用程序類:-keep類com.mypackage.model。** {*; }
-keep class com.owlike.genson.*{ *; }
將該行添加到您的ProGuard配置中。
-keep [,modifier,...] class_specification
指定要保留為代碼入口點的類和類成員(字段和方法)。 例如,為了保留應用程序,您可以指定主類及其主方法。 為了處理庫,您應該指定所有可公開訪問的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.