首页 > 解决方案 > 安卓摇篮。如何将 Flavors 与 buildTypes 结合起来

问题描述

我正在开发一个白色品牌应用程序。

我们为每个客户端创建不同的风格,每个客户端都有DebugAPI Production,所以我试图在 Gradle 中设置它们。

我该怎么做?

这是我尝试过的:

buildTypes {
    debug {
        // some configurations
    }
    release {
        // some configurations
    }
}

flavorDimensions "client"
productFlavors {
    company1{
        dimension "client"
        buildConfigField("String", "BASE_URL", "\"https://app.company1/devApi/\"")
    }

    company2 {
        dimension "client"
        buildConfigField("String", "BASE_URL", "\"https://app.company2/devApi/\"")
    }
}

编辑:我希望能够为BASE_URL每个 Flavor 和 Buildtype 定义不同的。

风味 company1,BuildType 调试

https://app.company1.com/devApi/

风味公司 1,BuildType 发布

https://app.company1.com/prodApi/

风味公司2,BuildType调试

https://dev.company2.com/api/

风味公司 2,BuildType 发布

https://prod.company2.com/api/

标签: androidandroid-gradle-pluginandroid-productflavorsandroid-build-type

解决方案


对于我的具体问题,在 URL 之间存在很大差异的情况下,我无法使其与 Flavors 和 BuildTypes 一起使用。

我能够通过使用特定strings.xml于每个构建变体(这是风味和构建类型的每种组合)来定义调试/生产 URL:

这些是执行此操作的文件夹结构:

src/flavour1Debug/res/values/strings.xml 
src/flavour1Release/res/values/strings.xml 

src/flavour2Debug/res/values/strings.xml 
src/flavour2Release/res/values/strings.xml 

EXTRA:这也可用于托管不同的google-services.json文件


推荐阅读