记一篇Android混淆的坑

                                                                                                     记一篇Android混淆的坑

目前大多数app打包都使用了代码混淆,而至于为什么要使用代码混淆以及混淆的优势是什么这篇文章我就不说明了,今天主要记录下使用混淆后出现的问题。

1先说下背景吧,之前项目突然编译很慢很慢,甚至一个小时都编译不过,也不报错,当时想了尝试了很多种方式(没有翻墙)于是就把Gradle插件版本改了,最终还是没解决问题。猜想的是网络原因,第二天就自动好了

2.这次我要说的坑与上面有很大的关系,最近打算发布新版本,突然发现打包后运行直接闪退,我看了本地日志都是第三方空指针,但是我很确定的是混淆规则都是按照官方文档配置的,但是无论怎么修改混淆配置文件都会空指针,这个问题困扰了我几天。上班有时间就在研究,什么清除缓存,重启as,还原混淆配置文件都尝试了,都无法解决问题,甚至我把最近新加的第三方框架都注释了,还是一样,QQ,微信各种寻找撸友帮助,都没得到一个肯定的答案,混淆后有个mapping.txt文件可以还原代码,但是这是第三方空指针,总不能修改人家源码吧?更可恶的是混淆规则也是按照官方文档来的,这问题到底出现在那里?

这是空指针异常

这个空指针我大概看了下是网络请求方面的。怎么办?怎么办?(不开启混淆代码一切正常运行)

3.最后直到解决问题的一天,我仔细回顾了最近我对项目做了什么操作,eeeeeemmmmmmmmmmmmm,突然想起上次项目编译不过貌似修改过本地,我遇到赶紧对比了下Gradle版本,果然版本当时被我修改了,我尝试回归了之前的版本,果然混淆后项目正常运行,说实话之前在项目中使用混淆的时候从未想过Gradle版本会导致项目出问题,以前都是混淆规则配置有误才会出现这种问题。虽然问题解决了,但是有种搬起石头砸自己脚的感觉,最后奉劝各位没事别去修改什么gradle插件版本,as版本之类的,特别是去降低版本,混淆在平时debug模式都是关闭的,到了正式打包你很可能就忘记你修改过版本了,那时候你找问题就真正很难很难了................

4.写这篇文章就是给自己一个警告,也是给各位一个劝告,如果这篇文章有帮助到你,麻烦点赞支持一下,谢谢....

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值