# 运行 ProGuard
从 `Gradle Plugin for ProGuard version 4.10` 之后就开始支持 ProGuard。ProGuard 插件是自动添加进来的。如果 Build Type 的 `minifyEnabled` 属性被设置为 true,对应的 task 将会自动创建。
~~~
android {
buildTypes {
release {
minifyEnabled true
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
productFlavors {
flavor1 {
}
flavor2 {
proguardFile 'some-other-rules.txt'
}
}
}
~~~
发布版本将会使用它的 Build Type 中声明的规则文件,product flavor(定制的产品版本)将会使用对应的 flavor 中声明的规则文件。
这里有两个默认的规则文件:
- proguard-android.txt
- proguard-android-optimize.txt
这两个文件都在 SDK 的路径下。使用 `getDefaultProguardFile()` 可以获取这些文件的完整路径。它们除了是否要进行优化之外,其它都是相同的。
- 译者序
- 简介
- 新构建系统的目标
- 为什么使用 Gradle?
- 配置要求
- 基础项目
- 构建文件示例
- 项目结构
- 配置项目结构
- 构建任务
- 通用任务
- Java 项目的 Task
- Android Tasks
- 基本的构建定制
- Manifest 属性
- 构建类型
- 签名配置
- 运行 ProGuard
- 清理资源
- 依赖、Library 和多项目
- 包依赖
- 本地包依赖
- 远程包依赖
- 多项目设置
- Library 项目
- 创建 Library 项目
- 普通项目和 Library 项目的区别
- 引用 Library 项目
- Library 项目发布
- 测试
- 单元测试
- 基本知识和配置
- 运行测试
- 测试 Android Library 项目
- 测试报告
- 独立项目
- 多项目报告
- Lint 支持
- 构建 Variants(变种)版本
- 产品定制
- 构建类型+产品定制=构建变种版本
- 产品定制的配置
- 源组件和依赖
- 构建和任务
- 测试
- 多定制的变种版本
- 高级构建的自定义
- 构建选项
- Java 编译选项
- aapt 选项
- dex 选项
- 操作 task
- 构建类型和产物定制的属性引用
- 使用sourceCompatibility 1.7
- 附录
- ApplicationId 与 packageName