1.为什么我关注混淆
首先说一下最近的一个问题,让我开始关注android的混淆规则:
我新建了一个项目,开发完成,本来在dev和qa环境都是正常允许没有问题,但是切换到release环境就出大问题。
release环境中,网络请求通过Gson转换得到的数据,每个字段都是null。我的登陆请求得到的userbean
,每个字段都是空的,但是dev和qa就都没问题,当场就把我整懵逼了,想不通为什么,又由于release调试不方便,所以定位错了错误方向导致卡了很久。休息一晚第二天清晰一下思路,找到了问题的关键所在:
由于release使用的混淆规则,所以UserBean也参与了混淆,进而导致Gson在转化时找不到对象对应的字段,所以每个字段都是null
解决办法 添加对应的混淆规则
https://blog.csdn.net/androidzmm/article/details/85066997
-keep class com.example.app.mvp.model.entity.** { *; }#实体类的entity包所有内容不参与混淆
2.混淆规则的学习
https://www.jianshu.com/p/e9d3c57ab92f
网友评论