android代码混淆后gson无法解析问题

转载 2015年11月19日 17:35:56
  1. 转载:http://blog.csdn.net/goleftgoright/article/details/8555597

  2. -proguard-project.txt  
  3. ##---------------Begin: proguard configuration for Gson  ----------  
  4. # Gson uses generic type information stored in a class file when working with fields. Proguard  
  5. # removes such information by default, so configure it to keep all of it.  
  6. -keepattributes Signature  
  7.   
  8.   
  9. # Gson specific classes  
  10. -keep class com.google.gson.stream.** { *; }  
  11.   
  12.   
  13.   
  14.   
  15. # Application classes that will be serialized/deserialized over Gson  
  16. -keep class com.google.gson.examples.android.model.** { *; }  
  17. #这段话的意思是说,将com.google.gson.examples.android.model这个包下面的所有类
  18. #不进行混淆。很关键!!!!其实,只要将
  19. #java bean即android客户端的需要用gson进行解析的类给注释掉,不进行混淆编译既可以。  
  20.   
  21.   
  22.   
  23. ##---------------End: proguard configuration for Gson  ----------  




问题主要是使用了混淆编译的方式进行apk打包(其中不混淆编译进行apk打包则一切正常),因为客户端代码中的JavaBean(实体类)的字段名称必须与服务端返回json字符串中的key要一致,才能进行解析,而混淆编
译之后,客户端代码中的JavaBean(实体类)的类名与其字段名称全部变成了a、b、c、d等等字符串,这与服务端返回的json字符串中的key不一致,导致解析失败。所以,解决的办法是:在进行混淆编译进行打包apk的时候,过滤掉存放所有JavaBean(实体类)的包不进行混淆编译

相关文章推荐

解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题

使用gson解析服务器端接受的json字符串,自己用

使用Gson解析json格式的字符串的正确方式

开发环境:Android Studio     开始前先添加google的依赖包,添加方法:在builder.gradle文件中添加'com.google.code.gson:gson:2.3.1' ...

Gson出现javaBean在打包后无效的问题

曾经,我遇到一个bug,同样的请求方法,定义在自定义控件TitleBar里面,在未打包的时候能拿到数据,但是,打包之后,怎么都看不到数据,各种方式,各种测试,最终发现,还是不行,拿不到数据,Today...

gson容易混淆的几处

使用gson,后台如果返回类似:data:[]   伪代码: A为一个类  private List parseResultInfo(String jsonString) {         Gson...

google gson 使用proguard混淆代码注意事项

这里不介绍怎样开启代码混淆功能。具体方法可以参照: http://developer.android.com/tools/help/proguard.html http://proguard.sou...

代码混淆 - Gson解析bug

项目中使用Gson解析json数据,未做混淆处理时,网络访问及解析json数据正常。作代码混淆时,依据官方demo,配置Gson的混淆。混淆后,网络访问出现了问题,数据不能正常加载。Debug跟踪发现...

Android如何优雅地防止Bean类混淆

相信大家在开发Android app都会遇到一个问题:在打release包时bean类常常被混淆,导致出现空指针进而引发crash; 如何做到保持指定的类不被混淆?方案不止一个, 1、 在混淆配置...
  • dbs1215
  • dbs1215
  • 2016年11月27日 00:30
  • 2010

使用gson导致不能混淆的解决办法

由于使用了gson解析json字符串生成对象,导致混淆后的jar包不能正确使用。经过上网查阅资料,找到了正确的混淆方式。  原理:解压开混淆后的jar后发现,使用gson.from或者其他方法生成对象...

Android:混淆打包后出现的各种问题

android签名混淆打包后出现的各种问题最近看一些关于混淆应用的文章,于是在自己的应用中引入了混淆文件proguard-android.txt 设置使用混淆:// 不显示Log buildConf...

android 打包 生成apk 出现的问题 javascript失效 json解析失败 解决方案

android 打包 生成apk 出现的问题 javascript失效 json解析失败 解决方案
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android代码混淆后gson无法解析问题
举报原因:
原因补充:

(最多只允许输入30个字)