我需要在构建我的 Android 项目之前运行一个脚本。但是,我想将一个参数传递给脚本,这取决于正在构建的变体(假设是 flavor 的包名称)。我知道如何为所有变体运行脚本,但实际上我只想为当前变体运行它,否则会花费太多时间。
我当前的 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
有人知道怎么做吗?谢谢!
最佳答案
在 build.gradle 文件中编写如下自定义参数属性:
packageName = hasProperty('packagename') ? packagename : 'your-default-package name'
修改 build.gradle 文件中的以下行:
task preBuild (type: Test, dependsOn: runScript)
当你从命令行运行 gradew 时,运行类似于下面的东西:
gradlew preBuild -Ppackagename="your-package-name"
请让我们知道这是否有效!
关于android - 根据 build.gradle 中的风格传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699763/