proguard 相信已经不再陌生,但是混淆代码恢复估计玩得少。
混淆配置的时候会有这么一段,重要的文件就是 mapping.txt。注释写得很清楚,代码混淆前后的映射。 可能大家都有用过友盟sdk,里面有一个功能就是分析错误,针对每一个版本都会让我们上传一个mapping.txt文件,这样 收集到的错误就不会是混淆之后的代码a.b.c,而是我们真正的包名了~
怎么做到的呢?一顿资料查找, ReTrace!在我们SDK目录里面就有这个工具。
路径: sdk/tools/proguard/bin/proguardgui.sh
运行后就会打开GUI工具了。 选择左边最下面的ReTrace->选择apk混淆时生成的mapping.txt文件->在"Obfuscated stack trace" 里面贴出报错的代码->点击右下角的ReTrace!
在"De-obfuscated stack trace" 里面就会恢复出真正的源码
代码混淆还不熟悉的童鞋可以阅读下这篇文章Android studio 使用心得(五)---代码混淆和破解apk