日常分享 -(Android)混淆导致断点调试失败

又到了分享时间~~~φ(゜▽゜*)♪

日常分享 -(Android)混淆导致断点调试失败_第1张图片
浪起来

Android 开发有一定时间的同学,相信都遇到过以下问题

在调试的时候,想打个断点看下运行状态,以 debug 方式运行

结果发现死活都没有运行到断点处,但看应用的运行状态,明明应该会打上断点啊,这是为什么捏T_T

反复多次,还是如此,老大在催了,还是没调出来,气得都想把价值九块九的键盘砸了╰_╯

砸键盘

这个时候不妨抽根烟冷静一下,或者先来把王者荣耀,将这些烦恼抛在脑后

日常分享 -(Android)混淆导致断点调试失败_第2张图片
打王者去

回来时仔细想想,哎~~~这句代码没有打上断点,是不是手机运行时识别不出这句代码,为什么识别不出呢,是不是安装到手机时代码跟原来的不一样了

这时候,有经验的同学就会先想到混淆,没错,这次的问题就是混淆导致的

好吧,于是去 appbuild.gradle 中将混淆关闭

minifyEnable true

改为

minifyEnable false

完了一运行,欧耶~~~断点打上了,问题解决φ(゜▽゜*)♪

长泽雅美
长泽雅美

其实更好的做法是,将出现问题的类加入混淆规则中,keep 这个类使之不参与不混淆

但是出现的概率很高呢,是不是有点麻烦,那就直接用 log 调试吧,这样万无一失

当然还有一种低级错误导致断点打不上,就是没有以 debug 方式运行,不过一般人很少会犯这种错误吧

总之,以后碰到断点没打上的情况,首先想想是不是混淆的问题,再考虑其他,这样就能够事半功倍了

好了,今天的分享就到这里(p≧w≦q)

日常分享 -(Android)混淆导致断点调试失败_第3张图片
The King

你可能感兴趣的:(日常分享 -(Android)混淆导致断点调试失败)