我在使用Proguard的Android上遇到GSON问题。 APK已编译,安装在手机上。 应用程序没有崩溃,只是没有正确解析对象。
我记录了所有数据,就像那样:
我得到正确的字符串,要解析数据。
(CookieValue是正确的)
Token token = new Gson().fromJson(cookieValue, Token.class);
在这一行之后,我正在记录这个对象,它里面只有空值。
我的Proguard GSON:
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-dontwarn sun.misc.**
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keep public class com.google.gson
令牌规则:
-dontwarn com.project.package.model.oauth.**
-keep,allowshrinking class com.project.package.oauth.Token { *; }
是的,我已尝试过此配置https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
有什么建议吗?
答案 0 :(得分:0)
在这一行:
- keep,allowshrinking class com.project.package.oauth.Token { *; }
你实际上在短跑和保持之间有空间吗?如果是这样,那就拿出来看看它是否有帮助。
您可能还想删除前一个dontwarn行中短划线后的空格。
答案 1 :(得分:0)
你可以在我的收藏中找到它: https://github.com/thientvse/awesome-mobile-collections/blob/master/README.md
它将帮助您在proguard文件中配置几乎lib。 我希望它能帮助你解决问题!