Gson出现javaBean在打包后无效的问题
来源:互联网 发布:阿里云客服工作台 编辑:程序博客网 时间:2024/05/21 20:29
曾经,我遇到一个bug,同样的请求方法,定义在自定义控件TitleBar里面,在未打包的时候能拿到数据,但是,打包之后,怎么都看不到数据,各种方式,各种测试,最终发现,还是不行,拿不到数据,Today,我一步一步的检测到Gson解析的时候,我发现打包之后的数据,经过Gson解析后,就没有了。所有请求方法都没有问题,就单单这个不行,可纠结了。最终我发现:
原因是:因为客户端代码中的JavaBean(实体类)的字段名称必须与服务端返回json字符串中的key要一致,才能进行解析,而混淆编译之后,客户端代码中的JavaBean(实体类)的类名与其字段名称全部变成了a、b、c、d等等字符串,这与服务端返回的json字符串中的key不一致,导致解析失败。所以,
解决的办法是:在进行混淆编译进行打包apk的时候,过滤掉存放所有JavaBean(实体类)的包不进行混淆编译。
在proguard.cfg文件中添加:
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# Gson specific classes -keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
-keep class com.google.gson.** { *;}#这句非常重要,主要是滤掉 com.bgb.scan.model包下的所有.class文件不进行混淆编译
-keep class com.bgb.scan.model.** {*;}
经过测试,一切正常。
新学习的一点知识,最终我去寻找我的那个javaBean,结果,被我不小心放到了其他的包中去了
这个,这样,哎╮(╯▽╰)╭
写博客纪念一下,happy
1 0
- Gson出现javaBean在打包后无效的问题
- Gson出现的问题
- Jar打包后出现问题的解决方案
- 关于安卓webview的addJavascriptInterface在DEBUG之RUN时有效,在签名打包后无效的问题
- Gson的混淆打包问题
- javabean问题,gson解析
- Android:混淆打包后出现的各种问题
- 在确认UIAlertView后,调用presentViewController无效的问题
- 关于vb6自带打包工具打包后的安装文件在windows操作系统上安装出现问题的解决方法(部分转载)
- 关于安装VB/VS后调试程序时出现 【无法附加:绑定句柄无效】的问题
- 由在Tomcat中使用JavaBean出现的某名气妙的问题想到的
- 混淆后导致GSON出现missing type parameter的错误
- oracle 新建字段后查询时出现标识符无效问题
- EventBus,Gson打包混淆问题
- gson 使用以及打包apk发布的问题
- gson 使用以及打包apk发布的问题
- 解决"打包成功后的ipa点击程序出现白屏,不能进入界面"的问题
- 解决"打包成功后的apk点击程序出现白屏,不能进入界面"的问题
- Xcode快捷键
- Sql删除重复操作
- hdu 1496
- 辞职后工作状态总结
- 停止更新
- Gson出现javaBean在打包后无效的问题
- 《合伙人总结语录》
- asp.net 后台按钮事件弹出新页而不被阻止
- 安卓应用运营基础知识—签名
- 机智的末位无空格
- EditText 如何定义光标的位置
- loadrunner简介
- POJ 2081 JAVA
- linux中,如何清除环境中已经分区的磁盘,并格式化数据,不重启系统