启用混淆
ProGuard混淆器是Android SDK附带的。
Eclipse中取消掉project.properties文件中以proguard.config开头的那一行注释。ProGuard会使用两个配置文件,第一个是tools/proguard目录中proguard-android.txt文件,它是共享通用的android混淆配置文件。第二个是项目配置文件proguard-project.txt。只做最基本的混淆的时候后者通常是空白的。
Android studio需要在build.gradle中设置minifyEnable为true。使用proguard-rules.txt为指定项目进行混淆。
如果想根据自己的需要配置混淆效果,可使用tools/proguard/bin目录下的proguardgui,因为配置语言有点难懂。
混淆的回溯
ProGuard创建了一个mapping.txt,可以看到原始方法名和变量名对应转换成了什么。
ProGuard创建了4个文件来帮忙进行代码的回溯:
dump.txt 展示Java class文件转变成class.dex之前的信息
mapping.txt 混淆前后命名的变化
seeds.txt 没有被混淆的类
usage.txt 从apk中移除的代码