我有一个相对复杂的项目,每个应用程序都需要两个风格维度。我在下面的例子中更简单地改写它:Gradle:多维风味应用程序Id
flavorDimensions "shape", "color"
productFlavors {
blue {
flavorDimension "color"
}
red {
flavorDimension "color"
}
green {
flavorDimension "color"
}
square {
flavorDimension "shape"
}
circle {
flavorDimension "shape"
}
我希望能够设置不同的applicationID对每个变种,如:squareblue将有一个不同的applicationID到circleblue。我无法在颜色维中设置applicationId,因为它对每个形状都是一样的。在上面的例子中,我需要6个不同的applicationIds。这些Ids也不遵循任何模式,它们可能是任何东西。
我在这里看到了答案:How to set different applicationId for each flavor combination using flavorDimensions?但是这意味着我需要手动设置它,这对我的项目来说是不可行的,因为变量数量(1000)。
我真正想要做的是在颜色维上设置两个applicationids,然后根据形状尺寸在构建时选择正确的一个。我尝试过定义变量,但没有取得任何成功,他们只是被最后一个变体覆盖。
你的构建文件都写在一个图灵完备的语言,所以你必须做相当多的潜力。你不能在你链接的那个问题上建立代码,并添加你自己的逻辑来生成应用程序ID吗? – 2014-10-28 16:03:54
ApplicationIDs已经存在,可能是任何东西,所以没有合理的方式来创建它们。我可以在variantFilter中添加每个变体,但是这需要在我的gradle文件中添加数千行以检查每个变体。 – 2014-10-28 16:11:29
如果没有合理的方法来创建它们,我不确定它有什么合理的选择 - 你必须在某个地方对它们进行硬编码。您可以将它们保存为CSV文本文件,然后在构建文件中编写代码,将其读入地图并应用。 – 2014-10-28 16:13:42