如何解决当 minifyEnabled 为 true 时,如何将 JSON 字符串转换为自定义对象?
我的 Android 应用使用 API 来获取 JSON 字符串并希望将其转换为自定义对象。
当 minifyEnabled 为 false 时,它运行良好,但当设置为 true 并制作 APK 时,经过一些测试,我发现 Gson 无法将 JSONObject 字符串映射到我的客户对象,并且所有属性都为空。
JSONObject obj = new JSONObject(result);// result is a string that have got from the API
Gson gson = new Gson();
String v=String.valueOf(obj);
MyObjectModel mobj= gson.fromJson(v,MyObjectModel.class);//Null Execption happen here
String t=goodMoodContentModel.getContentText();//t is null when minifyEnabled is true
为什么会发生这种情况以及如何处理?
更新:
我用这个代码来测试它:
debug {
minifyEnabled true
shrinkResources false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
解决方法
你有没有试过在你的亲卫规则(-keep ETC)中保留这个类?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。