代碼混淆的目的
代碼混淆的目的是防止競爭對手通過反編譯來閱讀項目代碼。
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