【发布时间】:2014-03-07 12:01:34
【问题描述】:
我最近切换到 Android Studio / Gradle,我想知道如何在 build.gradle 脚本中配置 ProGuard。我是 Gradle 的新手,但我认为配置 Proguard 任务是个好主意(如 Proguard 项目文档中所述。
我想配置 Proguard 以使用 'printmapping' 设置将映射保存在不同的文件中以用于不同的产品风格
task myProguardTask(type: proguard.gradle.ProGuardTask) {
printmapping file("test.txt")
}
但它在任务执行时崩溃
Gradle: Execution failed for task ':module:proguardFlavorVariant'.
> proguard.ConfigurationParser.<init>(Ljava/io/File;Ljava/util/Properties;)V
在较新版本的 Gradle 'android'-plugin 中,似乎包含了 Proguard,我认为这可能是为什么按照 Proguard 文档中所述配置 Proguard 任务不起作用的原因。但我没有找到关于如何使用较新的 android-gradle-plugin 执行此操作的任何文档。
感谢您的帮助!
【问题讨论】:
-
确保您的 proguard 配置文件正确写入,因为它显示解析错误,通常在您的 proguard 文件出现问题时出现。
-
感谢您的建议,但我的 proguard 文件应该没问题,因为如果我在 gradle 脚本中没有 proguard 自定义的情况下执行 gradle 构建(包括 proguard 任务),它就可以工作。
-
为什么不使用
runProguard trueproguardFile getDefaultProguardFile('proguard-android.txt')在不同风味的风味配置中。 -
这是我现在正在使用的 ;-) 但我只是想知道是否有可能在 gradle 中配置它而不必创建 x 多个文件来维护。
-
好的,您能否将整个 build.gradle 文件包含在内,因为我认为您必须使用一些存储库或依赖类路径才能包含 proguard 任务,不确定。
标签: android gradle android-studio proguard android-gradle-plugin