ProGuard下载和安装教程(附安装包)
ProGuard 是一款诞生于 2002 年的开源 Java 字节码工具集,聚焦“瘦身—提速—护芯”三大诉求:
整套流程在编译后链路完成,不改动源码,却能显著减小 JAR/AAR 体积并提高反编译门槛,因此成为 Android Studio、Maven、Gradle 默认内嵌的发布前处理工具。
在 Android 场景,开启构建脚本 minifyEnabled true 即可把 ProGuard 集成到打包链,默认产生 dump、mapping、seeds、usage 四份日志,供排查崩溃时反混淆回溯;普通 Java SE、Spring Boot、Maven 项目则可引入 proguard-maven-plugin,在 package 阶段自动调用。
注意,ProGuard 仅处理字节码,不能加密字符串,也无法混淆资源文件与 Native 库;若项目含敏感算法,建议结合 DexGuard、AndResGuard 或自写 JNI 加壳。
2) 下载 ProGuard,笔者使用的是 Windows 系统,从网盘中下载获得 proguard-7.8.0.zip 压缩包,将其解压,如下图所示:
3) 进入 lib 文件夹,然后按照下图打开 Windows PowerShell:
4) 手动输入 java -jar proguardgui.jar 命令,启动 ProGuard:
- 通过压缩器剔除无引用类、字段与方法;
- 利用优化器做方法内联、冗余指令消除;凭借混淆器把类名、方法名替换成 a、b、c 之类无意义符号;
- 最后以预校验器确保产出字节码符合 Java 6+ 校验规范。
整套流程在编译后链路完成,不改动源码,却能显著减小 JAR/AAR 体积并提高反编译门槛,因此成为 Android Studio、Maven、Gradle 默认内嵌的发布前处理工具。
在 Android 场景,开启构建脚本 minifyEnabled true 即可把 ProGuard 集成到打包链,默认产生 dump、mapping、seeds、usage 四份日志,供排查崩溃时反混淆回溯;普通 Java SE、Spring Boot、Maven 项目则可引入 proguard-maven-plugin,在 package 阶段自动调用。
注意,ProGuard 仅处理字节码,不能加密字符串,也无法混淆资源文件与 Native 库;若项目含敏感算法,建议结合 DexGuard、AndResGuard 或自写 JNI 加壳。
下载ProGuard
这里为大家提供了 ProGuard 最新版的安装包:下载后会得到一个 proguard-7.8.0 的压缩包。
安装ProGuard
1) 安装好 Java JDK,关于 JDK 的下载和安装,请阅读《Java JDK下载与安装教程》一文。2) 下载 ProGuard,笔者使用的是 Windows 系统,从网盘中下载获得 proguard-7.8.0.zip 压缩包,将其解压,如下图所示:

3) 进入 lib 文件夹,然后按照下图打开 Windows PowerShell:

4) 手动输入 java -jar proguardgui.jar 命令,启动 ProGuard:
