【发布时间】:2022-09-27 21:13:50
【问题描述】:
我知道如何创建一个 buildConfigField 变量并在我的 build.gradle 文件中设置它的值。例如。 buildConfigField \'String\', \'BUILD_VALUE\', \'HELLO WORLD\'。
我也知道如何通过任务从 gradle 命令行传入一个参数。例如,如果我在终端中执行./gradleW propertyTypes -Dargs=test1 -Pargs=test2 并在我的build.gradle 中有以下内容:
task propertyTypes(){
doLast{
if (project.hasProperty(\"args\")) {
println \"Project property [\"+project.getProperty(\"args\")+\"]\"
}
println \"System property [\"+System.getProperty(\"args\")+\"]\"
}
}
它会将test2 和test1 输出到终端。
但是,我不知道如何将它们放在一起。我希望能够通过 gradle 命令行传入一个参数(例如 \"Hello World\"),然后将其设置为 buildConfigField 以供程序本身使用。但是,当我尝试时,要么任务不知道 buildConfigField 是什么,要么 buildConfigField 不知道传递给任务的属性。
关于如何完成这项工作的任何见解?
-
android { android.applicationVariants.all { variant -> variant.buildConfigField \"String\", \'BUILD_VALUE\', \"\\\"${getArgsValueSomehow()}\\\"\" } }getArgsValueSomehow在哪里返回一些字符串? -
是的,那是我不知道怎么写的部分。它的
getArgsValueSomehow-ness。
标签: android gradle command-line parameters arguments