【问题标题】:Use of flavour dimensions in build.gradle in android studio在 android studio 的 build.gradle 中使用风味维度
【发布时间】:2018-07-06 12:05:49
【问题描述】:

我们可以使用 build gradle 中的 product flavor 字段来构建多个应用程序变体。为什么是风味维度?它是强制性的,带有错误消息,“所有风味现在都应该属于风味维度”

如果它有合理的用途,我们如何以及在哪里区分不同风味维度的配置?

我提到的所有其他博客和帖子都没有给我令人满意的答案,大多数人告诉我“你不需要它”。请点亮。

【问题讨论】:

    标签: android android-studio groovy build.gradle


    【解决方案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
        }
    }
    ...
    

    【讨论】:

    • 是的,我明白这是偏好的组合。还有一个问题是“您不需要检查维度”意味着您没有任何配置,也不需要文件夹隔离。我说的对吗?
    • 这是正确的,如果您使用文件夹来按风格隔离代码,则无需为维度添加任何新内容。
    • 您能否为上述示例添加一个 sn-p?
    • 添加到答案的片段
    • 旧帖,但对于未来需要更多信息的人,您可以查看该文章,medium.com/@mds6058/…
    【解决方案2】:

    在某些情况下,您可能希望组合来自多种产品风格的配置。 source

    以前,您无法组合产品风味,例如fullminApi27。风味维度是产品风味的分组,您可以组合不同维度的风味。例子:

    • api 维度:minApi24minApi27 口味
    • mode 维度:demofull 口味
    • CodeChimp 的例子:tier:free,paidflavors

    Gradle 创建的构建变体数量等于每个风味维度中的风味数量与您配置的构建类型数量的乘积。

    构建变体:[minApi24, minApi23, minApi21][Demo, Full][Debug, Release] source

    因此,尽管我们有 4 种产品风格和 2 种构建类型 (4 x 2),但我们不仅获得了 8 种构建变体。我们得到了 12。来自一个维度(minApi24、minApi23、minApi21)的每个风味都创建一个具有构建类型和其他风味维度的构建变体。

    通过flavor dimensions documentation了解更多信息。

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2017-10-19
      • 2014-08-10
      相关资源
      最近更新 更多