2017-10-09 79 views
0

我有在Android上GSON问题Proguard的解析。 APK已编译,安装在手机上。 应用程序不会崩溃,它只是不正确解析对象。通过GSON使用ProGuard

我记录所有数据,它是这样的:

我得到正确的字符串数据进行解析。

(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

在这一行:

- keep,allowshrinking class com.project.package.oauth.Token { *; } 

你真的有破折号和保持之间的空间?如果是这样,请拿出来看看是否有帮助。

您还可能要在以前dontwarn线的虚线后删除空间,以及。

+0

不,我没有这些空间。修复后。谢谢 :) –