实体类混淆后无法正确解析

项目可能在debug阶段毫无问题,数据正常,接口正常,完全没有问题,
但是打release包后,数据无法正确显示或者是解析成javaBean.

  • 原因

    网络请求解析数据的实体类如果混淆,就会发生字段的错乱,无法正确解析,请求接口和返回的数据都是没问题的,但是解析成javaBean失败了,才会出现这种问题

  • 解决方案

实体类不混淆,添加混淆规则
-keep class com.xxx.xxx.entity.* { ; }
不同项目可能稍微有些不一样,可以不混淆model包,也可以不混淆所有实现Serializable接口和Parcelable接口的类
总之就是不混淆实体类就解决了

记录一下我现在的混淆规则

#webview的js接口
-keepclassmembers class fqcn.of.javascript.interface.for.webview {   public *;
}#baserecycleviewadapterhelper
-keep class com.chad.library.adapter.** {   *;
}#oss 阿里云存储
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**

-keep public class * implements com.bumptech.glide.module.GlideModule

#高德地图
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}

#retrofit2
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

#okhttputils
-dontwarn com.zhy.http.**
-keep class com.zhy.http.**{*;}
#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}
#okio
-dontwarn okio.**
-keep class okio.**{*;}

#eventbus3
-keepattributes *Annotation*
-keepclassmembers class ** {    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

#gilde
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;public *;
}
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule#stetho
-keep class com.facebook.stetho.** { *; }
-dontwarn org.mozilla.javascript.**
-dontwarn org.mozilla.classfile.**
-keep class org.mozilla.javascript.** { *; }

#gson
-keep public class com.google.gson.**
-keep public class com.google.gson.** {public private protected *;}
-keep class sun.misc.Unsafe { *; }
-keepattributes Signature
-keepattributes *Annotation*

#ormlite
-keepattributes *DatabaseField*
-keepattributes *DatabaseTable*
-keepattributes *SerializedName*
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }

#galleryfinal
-keep class cn.finalteam.galleryfinal.widget.*{*;}
-keep class cn.finalteam.galleryfinal.widget.crop.*{*;}
-keep class cn.finalteam.galleryfinal.widget.zoonview.*{*;}

#jpush
-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }

#==================protobuf======================
-dontwarn com.google.**
-keep class com.google.protobuf.** {*;}

#友盟
-keepclassmembers class * {   public <init> (org.json.JSONObject);
}-keepclassmembers enum * {
    public static **[] values();public static ** valueOf(java.lang.String);
}#bugly
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
-keep class com.tencent.tinker.**{*;}
-keep class android.support.**{*;}

-dontwarn rx.internal.util.unsafe.*
#-keep class com.taobao.accs.**{*;}
#-keep class com.alibaba.wireless.**{*;}-dontwarn com.squareup.okhttp.**
-keep class com.xiyoukeji.baselibrary.**{*;}

#rx
-dontwarn rx.**
-keepclassmembers class rx.** { *; }
# retrolambda
-dontwarn java.lang.invoke.*

#js
-keepattributes *Annotation*
-keepattributes *JavascriptInterface*
-keep class com.xiyoukeji.baitu.home.WebActivity.**{*;}

#友盟社会化分享
-dontusemixedcaseclassnames
-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-keep public class javax.**
-keep public class android.webkit.**
-dontwarn android.support.v4.**
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable

-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
-keep public class com.umeng.socialize.* {*;}

-keep class com.facebook.**
-keep class com.facebook.** { *; }
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.umeng.socialize.handler.**
-keep class com.umeng.socialize.handler.*
-keep class com.umeng.weixin.handler.**
-keep class com.umeng.weixin.handler.*
-keep class com.umeng.qq.handler.**
-keep class com.umeng.qq.handler.*
-keep class UMMoreHandler{*;}
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.modelmsg.** implements   com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep class com.tencent.mm.sdk.** {*;}
-keep class com.tencent.mm.opensdk.** {*;}
-dontwarn twitter4j.**
-keep class twitter4j.** { *; }

-keep class com.tencent.** {*;}
-dontwarn com.tencent.**
-keep public class com.umeng.com.umeng.soexample.R$*{public static final int *;}
-keep public class com.linkedin.android.mobilesdk.R$*{public static final int *;}
-keepclassmembers enum * {
    public static **[] values();public static ** valueOf(java.lang.String);}-keep class com.tencent.open.TDialog$*
-keep class com.tencent.open.TDialog$* {*;}
-keep class com.tencent.open.PKDialog
-keep class com.tencent.open.PKDialog {*;}
-keep class com.tencent.open.PKDialog$*
-keep class com.tencent.open.PKDialog$* {*;}

-keep class com.sina.** {*;}
-dontwarn com.sina.**
-keep class  com.alipay.share.sdk.** { *;}
-keepnames class * implements android.os.Parcelable {public static final ** CREATOR;
}-keep class com.linkedin.** { *; }
-keepattributes Signature

#实体类
-keep class com.xiyoukeji.baotu.entity.** { *; }

注意

大多数debug包没问题,release包出现问题的,大多都是混淆规则没配置好,一般通过手机调试,在as看log信息都可以看出事哪个包出现了问题,然后再看是不是没有进行混淆.细心总能找到问题所在.祝大家工作顺利!

混淆问题(常见问题汇总)相关推荐

  1. 系统部署常见问题汇总

    系统部署常见问题汇总 文章目录 系统部署常见问题汇总 引用文件路径问题 前端代码兼容IE问题 IE不支持Promise问题 IE浏览器GET请求缓存问题 前端代码混淆问题 npx的使用 IE兼容new ...

  2. 天线测试常见问题汇总和解答

    平均增益,最大增益,极化效率是怎么回事? 左右旋分量,轴比,相角是什么东西? 测试距离与精度到底是什么关系? 吞吐量和TRPTIS和测试距离,通路损耗,有什么对应关系? 多探头,单探头,平面近场,球面 ...

  3. 神经网络学习小记录-番外篇——常见问题汇总

    神经网络学习小记录-番外篇--常见问题汇总 前言 问题汇总 1.下载问题 a.代码下载 b. 权值下载 c. 数据集下载 2.环境配置问题 a.20系列所用的环境 b.30系列显卡环境配置 c.CPU ...

  4. exec不同文件l怎么汇总_ABAQUS常见问题汇总 - 2.0版.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 ABAQUS常见问题汇总 - 2.0版.doc1 ...

  5. 使用maven下载依赖包及maven常见问题汇总

    最近下载了SPRING3.1.4,发现只有SPRING相关的源码,没有其依赖的jar包.SPRING依赖的jar相当多,自己一个一个的下载比较费劲,就仔细阅读了SPRING下载说明,新版本的SPRIN ...

  6. java 遇到的问题_Java常见问题汇总(一)

    原标题:Java常见问题汇总(一) 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问 ...

  7. 集成 jpush-react-native 常见问题汇总 ( iOS 篇)

    给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1.收不到推送 确保是在真机上测试,而不是在模 ...

  8. fastText中常见问题汇总

    fastText中常见问题汇总: 1.什么是fastText fastText是一个用于文本分类和词向量表示的库,它能够把文本转化成连续的向量然后用于后续具体的语言任务,目前教程较少! 2.为什么训练 ...

  9. 软考考后常见问题汇总

    摘要:软考考后常见问题汇总,查询成绩.证书领取.考试复核等 一.考试分数线什么时间出?合格分数线会不会有变化? 答:合格分数线出成绩一个月左右,如2020年12月18日出成绩,2021年1月11日出合 ...

最新文章

  1. Flex+J2EE获取FlexSession的方法
  2. woocommerce 分类到菜单_Woocommerce商店显示分类
  3. 运放放大倍数计算公式_19.运算放大器的特性与应用,不得不掌握的知识点(一)...
  4. Unity 双击Asset后回调的实现
  5. Ormlite数据库
  6. ubuntu16.04没有声音解决方案( 通俗易懂)
  7. JavaScript通过变量设置对象键[重复]
  8. C++11 外部模板
  9. mysql索引超出了数组接线_索引超出了数组界限如何解决?
  10. 阿里 Maven仓库
  11. 酒店旅业治安管理系统接口开发
  12. 非阻塞connect用法
  13. Nginx不停机升级
  14. Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API XX
  15. 半导体显示丨三星显示器拟投资逾21.5亿美元抢占OLED电视面板市场
  16. apollo学习之---基础知识点学习(1)commen_math
  17. 突发!蚂蚁集团CEO宣布辞职,阿里方面表示属实!
  18. 企业IT运维开发一体化解决方案
  19. 4个终于被破解的世界密码
  20. Qiime2最全安装教程--包教包会,可私信远程免费帮装

热门文章

  1. EXt的数据加载与展示
  2. 学习python之——python入门
  3. Windows 64位下载安装My SQL
  4. ORA-22858: invalid alteration of datatype
  5. [转载]3Dmax+blend+WPF综合运用
  6. 计划策略70 之 MIXED MRP
  7. IKNP 的改进:G-OT、C-OT、R-OT
  8. Windows的Os Loader恢复
  9. 安卓基础:实现多线程下载本次服务器的图片
  10. 机械设计制造及其自动化-本科课程