用Proguard解析GSON

时间:2017-10-09 00:41:24

标签: android gson proguard

我在使用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

有什么建议吗?

2 个答案:

答案 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。 我希望它能帮助你解决问题!