二次元产品口味,Android工作室?

Two dimensional product flavors, Android studio?

在我的游戏中,我有两种不同的配置:1- 角色 2- 市场。每个角色代表一个卡通人物,每个市场代表一个当地市场,以发挥他们的 billing/advertising 能力。

我有20个角色和4个市场。角色和市场都需要在代码和 xml 文件中有自己的一组配置。

我实施的处理这种情况的方法是在我的 app-level build.gradle:

中每个市场每个字符使用一个 flavor
productFlavors {
    character1_market1 {flavorDimensions "in_1"}
    character1_market2 {flavorDimensions "in_2"}
    character1_market3 {flavorDimensions "in_3"}
    character1_market3 {flavorDimensions "in_3"}
    ...
    charactern_market1 {flavorDimensions "in_65"}
    charactern_market2 {flavorDimensions "in_66"}
    charactern_market3 {flavorDimensions "in_67"}
    charactern_market4 {flavorDimensions "in_68"}
}

这显然增加了很多样板代码和资源来管理。例如,对于每组字符,我需要一个自定义可绘制文件夹。但是现在每个角色的相同可绘制文件夹将针对每个市场变化重复(4 次)。或者我需要为每个市场定制一个 AndroidManifest.xml 文件(4 个不同的清单文件)。但现在我必须为每个角色市场风格重复这些 AndroidManifest.xml 文件。

我怎样才能更有效地管理它,这样我就可以拥有不同的市场配置和角色配置集,而无需重复代码和资源?我想要达到的最终结果是在发布时,当我选择一个关于特定角色和特定市场的风格时,每个配置都会自动应用。

您可以为每个口味创建不同的维度文件

例如如果你有味道flavor_a, flavor_b

在 src 文件夹内创建文件夹,风格 name.You 已经有主文件夹(它应该包含通用文件)并且您应该在文件夹 flavor_aflavor_b[= 内遵循相同的文件夹名称15=]

flavor_a 的维度路径是 app/src/flavor_a/res/values/dimens.xml flavor_b 的维度路径是 app/src/flavor_b/res/values/dimens.xml

您可以关注所有适合您口味的资源。