代码混淆的目的
代码混淆的目的是防止竞争对手通过反编译来阅读项目代码。
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