根据build.gradle中的flavor调整参数

时间:2014-05-16 16:01:13

标签: android gradle android-gradle

我需要在构建Android项目之前运行脚本。但是,我想将一个参数传递给脚本,该脚本依赖于正在构建的变体(让我们说一下这个变种的包名)。我知道如何为所有变种运行脚本,但我实际上只想为当前变体运行它,因为否则需要花费太多时间。

我当前的build.gradle看起来像这样:

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    productFlavors {
        MyFlavor {
            packageName "com.my.package"
        }
    }
}

task runScript(type: Exec) {
    commandLine 'ruby', 'script.rb', my-package-name
}

preBuild.dependsOn runScript

有人知道怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:0)

在build.gradle文件中编写如下所示的自定义参数属性:

packageName = hasProperty('packagename') ? packagename : 'your-default-package name'

修改build.gradle文件中的以下行:

task preBuild (type: Test, dependsOn: runScript)

当你从命令行运行graldew时,运行类似下面的内容:

gradlew preBuild -Ppackagename="your-package-name"

如果有效,请告诉我们!