代码混淆之后定位线上bug

代码混淆的目的

代码混淆的目的是防止竞争对手通过反编译来阅读项目代码。

Android中通过ProGuard来做代码混淆(当然也还有其他的产品可以做代码混淆)。

bug日志反混淆

资料:错误log、mapping.txt

异常log: 

mapping.txt: 
表示混淆前后代码的对照表(映射关系),这个文件非常重要。如果你的代码混淆后会产生bug的话,log提示中是混淆后的代码,希望定位到源代码的话就可以根据mapping.txt反推。将bug在mapping.txt中搜一下,就能定位到源码的具体位置。 
注意:每次混淆打包后,这个文件都会被覆盖。所以当你发布新版本的时候,都需要拷贝相应版本的mappint.txt文件,以备日后解决bug用啊。

参考资料

ProGuard的作用、使用及bug分析 
http://www.trinea.cn/android/proguard-use/

关于android混淆的一些经验 
http://www.jianshu.com/p/cac416194a12

关于apk混淆后出现的bug查找 
http://vincenttung.blog.51cto.com/6249439/1189914

混淆代码后bug定位源码 
https://my.oschina.net/lifj/blog/674663

http://www.woaipu.com/shops/zuzhuan/61406
http://www.znds.com/tv-967956-1-1.html
http://www.znds.com/tv-967958-1-1.html

原文地址:https://www.cnblogs.com/sy646et/p/7197963.html