我正在开发一个白色品牌的应用程序。
我们为每个客户端创建了不同的风格,每个客户端都有 Debug
和 Production
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/