3.4.4 使用混淆

自从 Gradle plugin for ProGuard 4.10 版本以后,Gradle 开始支持混淆。如果通过 Build Type 的 minifyEnabled 属性配置了使用混淆后,The ProGuard plugin 会自动被应用,并且自动创建一些任务。

1. android {
2. buildTypes {
3. release {
4. minifyEnabled true
5. proguardFile getDefaultProguardFile('proguard-android.txt')
6. }
7. }

9. productFlavors {
10. flavor1 {
11. }
12. flavor2 {
13. proguardFile 'some-other-rules.txt'
14. }
15. }
16. }

使用 buildTypes 以及 productFlavors 定义的规则文件可以轻松的生成多种版本。

有两个默认的规则文件

  • proguard-android.txt
  • proguard-android-optimize.txt

他们位于SDK中,使用 getDefaultProguardFile() 方法可以返回文件的全路经。除了是否启用优化之外,这两个文件的其他功能都是相同的。