根据 zatziky 对当前 Android Gradle 插件 (v1.0+) 和 Dexguard 插件 (6.1.+) 的回答进行更新
要创建 dexguard 插件开关,您可以执行以下操作
在您的根 build.gradle 中向您的 ext 添加一个属性(如果尚未完成,请创建它,see here why you would do that)
ext {
enableDexGuardPlugin = false
....
}
在您的应用 build.gradle 中添加这样的插件:
apply plugin: 'com.android.application'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}
如果您有图书馆项目,请这样做
apply plugin: 'com.android.library'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}
如果您不需要它们,请从您的调试构建类型中删除所有 proguard 配置(尤其是 getDefaultDexGuardFile('dexguard-release.pro'))。不幸的是,至少对于 lib 项目,所有的构建类型都是在 assembleDebug 中构建的,所以你必须为getDefaultDexGuardFile 提供一个存根,就像 zatziky 说的那样:
private File getDefaultDexGuardFile(String name) { new File(name) }
您可以将其添加到您的根目录build.gradle,以便每个脚本都有它。
现在,如果您期望从中获得巨大的性能优势,您可能会感到失望。关键是在调试版本中禁用所有minifyEnabled,因为如前所述,目前 gradle android 是愚蠢的并且可以构建所有构建类型(至少使用库)。您可以使用上面的属性:enableDexGuardPlugin
release {
...
minifyEnabled rootProject.ext.enableDexGuardPlugin
...
}