ProGuard 开源项目使用教程
proguard项目地址:https://gitcode.com/gh_mirrors/prog/proguard
1. 项目的目录结构及介绍
ProGuard 项目的目录结构如下:
annotations/
: 包含注解相关文件。ant/
: 包含 Ant 构建脚本。base/
: 包含基础配置和工具。bin/
: 包含可执行脚本。docs/
: 包含文档文件。examples/
: 包含示例项目。gradle-plugin/
: 包含 Gradle 插件相关文件。gradle/wrapper/
: 包含 Gradle 包装器文件。gui/
: 包含图形用户界面相关文件。proguard-app/
: 包含 ProGuard 应用程序文件。retrace/
: 包含反混淆工具文件。github/workflows/
: 包含 GitHub Actions 工作流文件。gitattributes
,gitignore
,hgignore
: 版本控制相关配置文件。CONTRIBUTING.md
: 贡献指南。LICENSE
: 许可证文件。README.md
: 项目介绍和使用说明。build.gradle
: Gradle 构建脚本。gradle.properties
: Gradle 属性文件。gradlew
,gradlew.bat
: Gradle 包装器脚本。settings.gradle
: Gradle 设置文件。
2. 项目的启动文件介绍
ProGuard 项目的启动文件主要位于 bin/
目录下,包括:
proguard.sh
: 用于 Unix 系统的启动脚本。proguard.bat
: 用于 Windows 系统的启动脚本。
这些脚本用于执行 ProGuard 的混淆和优化任务。
3. 项目的配置文件介绍
ProGuard 的配置文件通常是一个 .pro
文件,包含了混淆和优化的具体配置。以下是一个示例配置文件的内容:
-injars in.jar
-outjars out.jar
-libraryjars <java.home>/lib/rt.jar
-keep public class com.example.MyClass {
public static void main(java.lang.String[]);
}
-dontwarn com.example.**
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-injars
: 指定输入的 JAR 文件。-outjars
: 指定输出的 JAR 文件。-libraryjars
: 指定库 JAR 文件。-keep
: 指定保留的类和方法。-dontwarn
: 指定不警告的类。-optimizations
: 指定优化的选项。
通过这些配置文件,可以精确控制 ProGuard 的混淆和优化行为。