传统上,在 Groovy 中,可以在ext
{}
块中定义特定于风味的变量,但切换到 Kotlin DSL 似乎extra
地图具有项目范围。
看起来可以通过使用以下方法强制为附加功能设置风味范围:
productFlavors {
register("flavor1") {
require(this is ExtensionAware)
...
}
register("flavor2") {
require(this is ExtensionAware)
...
}
}
(来源:https ://github.com/gradle/kotlin-dsl-samples/issues/1254 )
但是如果以后需要使用它,例如基于buildType
这样的调整变量:
variants.forEach { variant ->
val flavor = variant.productFlavors[0]
val size = ?? // extra??
variant.buildConfigField("String", "SIZE", size)
}
这些风味范围的引用将extra
如何使用?