我与下面的代码具有相同的结构,我想在applicationId和后缀中添加前缀(不带点),并在gradle文件的最后使用applicationId值。
我不想使用applicationIdSuffix,因为它会自动添加点,并且在整个gradle中都无法获得完整的applicationId。
flavorDimensions "type", "version"
productFlavors.all {
ext.appIdPrefix = "com.example"
ext.appId = ""
ext.appIdSuffix = ""
}
productFlavors {
flavor1 {
dimension "type"
appId = ".flavor1"
}
full {
dimension "version"
appIdSuffix = "Full"
}
}
productFlavors.all {
applicationId appIdPrefix + appId + appIdSuffix
}
现在,当我使用“flavor1full”运行我的应用程序时,applicationId仅是“com.exmaple.flavor1”,而没有获得appIdSuffix的值
我该如何解决?
最佳答案
无需更改每种口味的应用程序ID,而是尝试遍历applicationVariants:
applicationVariants.all { variant ->
def flavors = variant.productFlavors
variant.mergedFlavor.applicationId = flavors[0].appId + flavors[1].appIdSuffix ;
}
由于两种构建类型,这将对每种口味的组合进行两次迭代。另请参阅Multi-Dimension Flavor ApplicationId
还要注意您的问题中的错字:
appIdSuffix "Full"
应该是appIdSuffix="Full"
关于android - 具有 flavor 的ext变量不适用于多维,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54786444/