我需要在构建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
有人知道怎么做吗?谢谢!
答案 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"
如果有效,请告诉我们!