首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Gradle配置Proguard?

如何使用Gradle配置Proguard?
EN

Stack Overflow用户
提问于 2014-02-10 16:43:06
回答 1查看 28.4K关注 0票数 12

我最近切换到Android Studio / Gradle,我想知道如何在build.gradle脚本中配置ProGuard。我是Gradle的新手,但我认为配置Proguard任务会是一个好主意(正如Proguard项目文档中所记录的那样。

我想使用'printmapping‘设置将Proguard配置为将映射保存在不同产品风格的不同文件中

代码语言:javascript
复制
task myProguardTask(type: proguard.gradle.ProGuardTask) {
     printmapping file("test.txt")
}

但是它在任务执行时会崩溃,

代码语言:javascript
复制
Gradle: Execution failed for task ':module:proguardFlavorVariant'.
    > proguard.ConfigurationParser.<init>(Ljava/io/File;Ljava/util/Properties;)V

在较新版本的Gradle‘android’插件中,Proguard似乎包含在内,我认为这可能就是为什么在Proguard文档中描述的配置Proguard任务不起作用的原因。但我没有找到任何关于如何使用较新的android-gradle-plugin实现此主题的文档。

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-11 01:50:03

Proguard内置于Android-Gradle插件中,您不需要将其配置为单独的任务。文档位于:

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard

您的口味是否如此不同,以至于您真的想为它们配置不同的ProGuard?我认为在大多数情况下,您可以使用一个配置来覆盖所有这些配置。

编辑:

如果您确实想针对不同的风格更改ProGuard规则,Android Gradle DSL允许您这样做。文档中的示例说明了如何执行此操作:

代码语言:javascript
复制
android {
    buildTypes {
        release {
            // in later versions of the Gradle plugin runProguard -> minifyEnabled
            minifyEnabled true
            proguardFile getDefaultProguardFile('proguard-android.txt')
        }
    }

    productFlavors {
        flavor1 {
        }
        flavor2 {
            proguardFile 'some-other-rules.txt'
        }
    }
}

这应该可以处理您的用例,除非您正在寻找一种方法,让它根据口味名称自动确定Groovy值,而不必手动设置它;您可以通过一些定制的proguardFile脚本来实现。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21672409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档