又到了分享时间~~~φ(゜▽゜*)♪
做 Android
开发有一定时间的同学,相信都遇到过以下问题
在调试的时候,想打个断点看下运行状态,以 debug
方式运行
结果发现死活都没有运行到断点处,但看应用的运行状态,明明应该会打上断点啊,这是为什么捏T_T
反复多次,还是如此,老大在催了,还是没调出来,气得都想把价值九块九的键盘砸了╰_╯
这个时候不妨抽根烟冷静一下,或者先来把王者荣耀,将这些烦恼抛在脑后
回来时仔细想想,哎~~~这句代码没有打上断点,是不是手机运行时识别不出这句代码,为什么识别不出呢,是不是安装到手机时代码跟原来的不一样了
这时候,有经验的同学就会先想到混淆,没错,这次的问题就是混淆导致的
好吧,于是去 app
的 build.gradle
中将混淆关闭
将
minifyEnable true
改为
minifyEnable false
完了一运行,欧耶~~~断点打上了,问题解决φ(゜▽゜*)♪
其实更好的做法是,将出现问题的类加入混淆规则中,keep
这个类使之不参与不混淆
但是出现的概率很高呢,是不是有点麻烦,那就直接用 log
调试吧,这样万无一失
当然还有一种低级错误导致断点打不上,就是没有以 debug
方式运行,不过一般人很少会犯这种错误吧
总之,以后碰到断点没打上的情况,首先想想是不是混淆的问题,再考虑其他,这样就能够事半功倍了
好了,今天的分享就到这里(p≧w≦q)