丧心病狂的Android混淆文件生成器
效果
混淆前
![](https://upload-images.jianshu.io/upload_images/14847428-b1106d3249fcaf32.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
混淆后
![](https://upload-images.jianshu.io/upload_images/14847428-7606f678b61f3de3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/911/format/webp)
![](https://upload-images.jianshu.io/upload_images/14847428-83ebc59fe1a793a8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/761/format/webp)
使用
获取混淆文件
自己生成规则
使用intellij idea 打开 proguard-creater 工程 编辑 Main.java 根据提示填写相应参数运行即可
使用已有规则
前往proguard-file 下载对应的文件即可
Android工程配置
- 开启混淆
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
- 将混淆文件导入到 proguard-rules.pro 同一目录下
- 编辑proguard-rules.pro,添加如下内容
# ---------------------------------------------------------------------------- # 混淆的压缩比例,0-7 -optimizationpasses 5 # 指定不去忽略非公共的库的类的成员 -dontskipnonpubliclibraryclassmembers # 指定混淆是采用的算法 -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* # 指定外部模糊字典 proguard-chinese.txt 改为混淆文件名,下同 -obfuscationdictionary proguard-chinese.txt # 指定class模糊字典 -classobfuscationdictionary proguard-chinese.txt # 指定package模糊字典 -packageobfuscationdictionary proguard-chinese.txt