代码混淆 - Gson解析bug
来源:互联网 发布:网络攻击追踪溯源 编辑:程序博客网 时间:2024/06/04 20:04
项目中使用Gson解析json数据,未做混淆处理时,网络访问及解析json数据正常。作代码混淆时,依据官方demo,配置Gson的混淆。混淆后,网络访问出现了问题,数据不能正常加载。Debug跟踪发现,网络访问获取数据正常,在Gson解析时出现了问题。很撸google发现了问题所在。
<span style="font-size:14px;">##---------------Begin: proguard configuration for Gson ----------# Gson uses generic type information stored in a class file when working with fields. Proguard# 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-keep class sun.misc.Unsafe { *; }#-keep class com.google.gson.stream.** { *; }# Application classes that will be serialized/deserialized over Gson<em><strong><span style="color:#FF6666;">-keep class com.google.gson.examples.android.model.** { *; }</span></strong></em>##---------------End: proguard configuration for Gson ----------</span>
请注意倒数第二行,红色特别标注的那一行,这是google官方的proguard的文档,,class 后方到**签名的是google的包名,而实际上应改成所有应用Gson的java bean定义的目录,如此bug解除了.
<span style="font-size:14px;">## ----------------------------------## ########## Gson混淆 ############ -----------------------------------libraryjars libs/gson-2.2.4.jar-keepattributes Signature-keep class sun.misc.Unsafe { *; }-keep class com.google.**{*;}-keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();}<em><strong><span style="color:#CC0000;"># 需</span></strong></em></span><pre name="code" class="java"><em><strong><span style="font-size:14px;color:#CC0000;"># XXX.XX.XXX</span></strong></em># 改成所有Java bean 存放的包名-keep class XXX.XX.XXX.** { *; }-keep class org.json.** {*;}
Bug记录在案,以备后查!
0 0
- 代码混淆 - Gson解析bug
- android代码混淆后gson无法解析问题
- android代码混淆之Gson解析为null
- android代码混淆后gson无法解析问题
- Android 混淆代码后Gson 解析为null
- 使用Gson 代码混淆问题
- 代码混淆 GSON完满解决
- anroid 使用 Gson 混淆 遇到的bug
- Gson解析,主要代码
- android 混淆代码gson数据nullpointerexception
- android代码混淆 GSON完满解决
- google gson 使用proguard混淆代码注意事项
- retrace 解析混淆代码
- anroid 使用 Gson 混淆 遇到的bug 总结
- anroid 使用 Gson 混淆 遇到的bug 总结
- 代码混淆之后定位线上bug
- 混淆之后Gson解析返回的数据为null
- Android ProGuard代码混淆解析
- SAX解析XML文档
- Unity之通过Shader实现雪景
- 启动画面尺寸以及图标
- Android解决ViewPager页面滑动空白bug和图片点击bug
- dialog 登录的时候 提示信息的
- 代码混淆 - Gson解析bug
- node-inspector,is a debugger interface for Node.js applications
- IOS 类和方法
- POJ 1236 强联通分量
- Android性能调优
- 用if语句随机生成十个数,排序
- 原生js实现简洁的返回顶部组件
- iOS NSBundle文件与nib文件——iOS 编码复习(十)
- mybatis级联查询