自从 Gradle plugin for ProGuard 4.10 版本以后,Gradle 开始支持混淆。如果通过 Build Type 的 minifyEnabled 属性配置了使用混淆后,The ProGuard plugin 会自动被应用,并且自动创建一些任务。
android {
buildTypes {
release {
minifyEnabled true
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
productFlavors {
flavor1 {
}
flavor2 {
proguardFile 'some-other-rules.txt'
}
}
}
使用 buildTypes 以及 productFlavors 定义的规则文件可以轻松的生成多种版本。
有两个默认的规则文件
他们位于SDK中,使用 getDefaultProguardFile()
方法可以返回文件的全路经。除了是否启用优化之外,这两个文件的其他功能都是相同的。