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. }
  8. productFlavors {
  9. flavor1 {
  10. }
  11. flavor2 {
  12. proguardFile 'some-other-rules.txt'
  13. }
  14. }
  15. }

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

有两个默认的规则文件

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

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