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

我们为每个客户端创建了不同的风格,每个客户端都有 DebugProduction API,所以我试图在 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/\"")
    }
}

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

flavor 公司1,BuildType调试
https://app.company1.com/devApi/

Flavor company1, BuildType 发布
https://app.company1.com/prodApi/

flavor 公司2,BuildType调试
https://dev.company2.com/api/

Flavor company2, BuildType 发布
https://prod.company2.com/api/

最佳答案

对于我的具体问题,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

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

关于安卓 Gradle 。如何将 Flavors 与 buildTypes 结合起来,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54196980/

10-11 00:16