android - 安卓摇篮。如何将 Flavors 与 buildTypes 结合起来
问题描述
我正在开发一个白色品牌应用程序。
我们为每个客户端创建不同的风格,每个客户端都有Debug
API 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/
解决方案
对于我的具体问题,在 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
文件
推荐阅读
- appium-ios - 3.1.3 的 Android 配置 - 使用 Appium 进行移动测试
- android - 程序类型已存在:com.google.gdata.client.Query$CategoryFilter
- angular - Angular 6:当 jquery 更新字段时,组件值不更新
- javascript - 如何将新数组添加到本地存储中的当前数组元素?
- r - 带有 R 的 U_SQL 脚本
- javascript - Svelte 条件元素类报告为语法错误
- c# - Microsoft.Extensions.Options 您是否必须手动将其通过完整堆栈
- javascript - Mapbox GL JS 更新图片叠加源
- mysql - 无休止的更新循环?Mysql 触发器
- python - Python 似乎会自动将列表转换为字符串,之后 .append() 和 .pop() 将无法使用