# 運行 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