在带有参数的Gradle中设置参数

在带有参数的Gradle中设置参数,gradle,Gradle,是否可以为gradle脚本键入一些参数,并在脚本中读取这些参数以完成某些参数 例如: productFlavors { full { resValue "string", "app_flavor", "full" resValue "string", "chat_contact",$arg1 } free { minSdkVersion 16 targetSdkVersion 22 versionCode 22 resValue

是否可以为gradle脚本键入一些参数,并在脚本中读取这些参数以完成某些参数

例如:

productFlavors {
 full {
     resValue "string", "app_flavor", "full"
     resValue "string", "chat_contact",$arg1
 }
 free {
     minSdkVersion 16
     targetSdkVersion 22
     versionCode 22
     resValue "string", "app_flavor", "free"
     resValue "string", "chat_contact",$arg2
 }
}

其中,在命令行中键入$arg1和$arg2(例如gradle-Parg1=sergio-Parg2=lauriano


Tks

有几个选项可以实现您的目标:

  • 在Gradle的框架下,有一种支持字符串插值的Groovy语言,例如,您可以像这样将参数包装成字符串

    resValue“字符串”、“聊天室联系人”、“$arg1”

  • 另一个选项是使用参数作为gradle项目属性的引用,例如

    resValue“字符串”,“聊天室联系人”,arg1

    但是,在这种情况下,如果您在命令行中缺少变量,您将收到一个错误,以避免出现这种情况,您可以在gradle.properties中为参数定义默认值


根本不需要使用
$
符号。项目属性(如通过
-Pkey=value
提供的属性)直接添加到范围中。您只需要gstring中的符号,如
中的“我的名字是$name”
。谢谢。这个答案非常有用。我可以在脚本中实现我想要的功能。