我有2种口味,比如香草和巧克力。我也有调试和发布构建类型,我需要香草发布有一个字段为真,而其他3个组合应该为假。
def BOOLEAN = "boolean"
def VARIABLE = "VARIABLE"
def TRUE = "true"
def FALSE = "false"
VANILLA {
debug {
buildConfigField BOOLEAN, VARIABLE, FALSE
}
release {
buildConfigField BOOLEAN, VARIABLE, TRUE
}
}
CHOCOLATE {
buildConfigField BOOLEAN, VARIABLE, FALSE
}
我有一个错误,所以我猜调试和释放技巧不工作。这是可能的吗?
9条答案
按热度按时间ddhy6vgd1#
循环变量并检查其名称:
dly7yett2#
这里是一个解决方案,没有我在Simas answer下描述的缺点
vnzz0bqm3#
不幸的是,在Gradle构建系统中,
buildTypes
和productFlavors
是两个独立的实体。据我所知,要完成您想要实现的目标,您需要创建另一个构建风格,如:
koaltpgm4#
对于您的特定情况,您也可以只使用defaultConfig:
默认值为TRUE,但是您将所有调试版本和所有Chocolate版本设置为FALSE。因此,唯一剩下的TRUE是VANILLA-release。
cotxawn75#
下面是我解决这个问题的方法:
(我还不能确定
ext.fields
是否存在于一个flavor上)nvbavucw6#
您可以尝试多种产品口味:
qnyhuwrf7#
@Simas Aswer是正确的,但使用switch case可能会更好一些:
sg2wtvxw8#
我用以下方法解决了这个问题(.kts)
当每种风格/构建类型组合的URL彼此之间存在较大差异时,可以使用此解决方案。
此外,使用
applicationVariants.all{ .. }
***时必须不带***lambda参数。sgtfey8w9#