我正在开发一个当前使用 google gson 1.7.1 lib 的应用程序。一切正常,但我想将其更新到最新版本。尝试将其更新到 2.4,并且在应用程序的调试版本上运行良好。
我最近尝试在发布版本上运行该应用程序,突然 JSON 解析机制不起作用。将 gson lib 恢复到 1.7.1 可以解决该问题,但我仍然希望将其更新到最新版本。
我注意到的是,如果我设置minifyEnabled为false发布版本,我会再次开始获取数据(解析机制有效)。
minifyEnabled true有谁知道有关最新 gson lib 的问题吗?
在我的 proguard-rules 文件中,我有以下与 gson 库相关的项目:
-keepclassmembers class com.myapp.data.beans.json.** {
private <fields>;
}
-keep class sun.misc.Unsafe { *; }
-keep class com.myapp.ui.views.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
Run Code Online (Sandbox Code Playgroud)
我也尝试添加
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
Run Code Online (Sandbox Code Playgroud)
按照 Google Gson 示例配置文件,但它没有任何区别。
您需要告诉 proguard 保留类(字段和方法),并且这些类将通过 GSON 进行序列化/反序列化。
例如,如果您的包中包含所有模型com.google.gson.examples.android.model,则需要添加以下规则来 proguard
-keep class com.google.gson.examples.android.model.** { *; }
Run Code Online (Sandbox Code Playgroud)
看一下这个 Gson proguard 官方示例,并尝试在您的项目中使用这些规则。
| 归档时间: |
|
| 查看次数: |
2120 次 |
| 最近记录: |