我正在努力将Android应用程序从Eclipse迁移到Android Studio。该应用程序自然有3个风味维度的东西:
flavorDimensions("skin", "cost", "market")
productFlavors {
skin1 {
flavorDimension "skin"
}
skin2 {
flavorDimension "skin"
}
free {
flavorDimension "cost"
}
paid {
flavorDimension "cost"
}
google {
flavorDimension "market"
}
samsung {
flavorDimension "market"
}
amazon {
flavorDimension "market"
}
有了这个,我有三个有些相关的问题,我似乎无法找到明确的解决方案。
第一个问题是“applicationId”依赖于3个维度中的2个,即皮肤和成本。从上面的示例,如果我构建skin1PaidGoogle,如果我构建skin2FreeAmazon,我将需要“com.example.skin1”,我需要“com.example.skin2_free”。这是一个实时应用程序,因此没有机会在这里进行更改。如何实现这一目标。
第二个问题是需要自定义src / res集。默认为我提供了每种风味的文件夹以及所有风味的所有组合。所以我得到了“skin1”,“skin2”,“免费”,“谷歌”等文件夹,我得到了“skin1FreeGoogle”和“skin1PaidAmazon”等文件夹。我知道我也得到了构建类型的变种。我还需要像“skin1Free”“freeAmazon”“FreeGoogle”这样的文件夹。我只需要这里无数可能性的一小部分。如何将这些附加文件夹添加到srcSets中?我知道影响合并的优先顺序,但如果我可以添加文件夹,我可以管理它。
第三个问题与依赖关系有关。我可以有“编译”行,我可以有“freeCompile”行,但我还需要“freeAmazonCompile”类型行。
如果没有这些功能,在我看来,我要么必须做出许多妥协并且有许多重复的srcSets,所以任何帮助都非常感激。