我有一个具有此产品组和风格配置的 Gradle Android 项目:
/*
* Define different flavor groups
*/
flavorGroups 'market', 'version'
/*
* Defile product flavors
*/
productFlavors {
amazon {
flavorGroup 'market'
}
google {
flavorGroup 'market'
}
flav1 {
flavorGroup 'version'
packageName 'com.company.flav1'
}
flav2 {
flavorGroup 'version'
packageName 'com.company.flav2'
}
flav3 {
flavorGroup 'version'
packageName 'com.company.flav3'
}
}
// .. Other stuff
效果很好。所有来源和资源都正确合并。
但出于特定原因,我需要包后缀为 .amz
以用于 amazon
产品风格。我怎样才能做到这一点?
我这样试过:
amazon {
flavorGroup 'market'
packageNameSuffix '.amz'
}
但是 gradle
抛出异常。
最佳答案
目前这是不可能的。 packageNameSuffix 严格来说是构建类型的属性。
我想提供一种方法来为给定变体(即所有 flavor 维度和构建类型的给定组合)自定义 ProductFlavor 的值,但目前还不可能。
您可以做一个扩展现有版本构建类型并添加后缀的“amzRelease”构建类型,而不是新的 flavor 维度。
如果您当前的“amazon”风格做得更多(配置 versionCode/Name/etc...),它就不会工作。然后,您可以同时使用您的亚马逊风格和 amzRelease 构建类型。它会创建比您需要的更多的变体,但在我们有更好的变体之前它会起作用。
关于Android Gradle - 在特定的 productFlavor 上添加 packageNameSuffix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422729/