我们可以使用build gradle中的product flavours字段构建应用程序的多个变体。为什么要加味?并带有错误消息“所有调味品现在都应属于调味品尺寸”,这是强制性的
如果有合理的用途,我们如何在何处区分不同风味尺寸的配置?
我提到的所有其他博客和帖子都没有给我满意的答案,并且大多数告诉我“您不需要它”。请给点灯。
答案 0 :(得分:1)
我最好将风味尺寸描述为一种将风味分组的方式。
我能想到的一个用例就是这个。
在等级维度下,您可以享受免费和付费的口味。
您有一个测试和产品风格,它们在一个环境维度下指向不同的后端。
组装所有组件时,最终会为每个层和环境使用一个版本,以便可以测试免费/测试版本,免费/产品版本等。
您无需检查尺寸,只需像往常一样将任何变量/条件代码放在风味上即可。
使用多维的示例
,,,
flavorDimensions "tier", "env"
productFlavors {
paid {
dimension "tier"
... add variables here
}
free {
dimension "tier"
versionName = android.defaultConfig.versionName + " free"
... add variables here
}
test {
dimension "env"
... add variables here
}
prod {
dimension "env"
... add variables here
}
}
...
答案 1 :(得分:0)
在某些情况下,您可能希望组合来自多种产品风格的配置。 source
以前,您无法组合产品口味,例如full
和 minApi27
。风味维度是产品风味的分组,您可以组合来自不同维度的风味。示例:
api
维度:minApi24
和 minApi27
风味mode
维度:demo
,full
口味tier
:free
、paid
口味Gradle 创建的构建变体的数量等于每个风味维度中的风味数量与您配置的构建类型数量的乘积。
构建变体:[minApi24, minApi23, minApi21][Demo, Full][Debug, Release] source
因此,即使我们有 4 种产品风格和 2 种构建类型 (4 x 2
),我们也不仅仅获得了 8 种构建变体。我们得到了 12。维度中的每种风味(minApi24、minApi23、minApi21 均创建具有构建类型和其他风味维度的构建变体。
在 flavor dimensions documentation 阅读更多内容。