大多数情况下,我们通过flavor配置中的buildConfigField
传递REST端点,如下所示:
buildFlavors {
staging {
buildConfigField "String", "SERVER_URL", "\"http://staging-server.com\""
}
production {
buildConfigField "String", "SERVER_URL", "\"http://production.com\""
}
}
这是很好理解的。
现在想象一下Car Dashboard应用程序。我们有一个项目,还有三个客户或productFlavors
:
Audi
Bentley
Chevrolet
对于每种口味,我们有2种不同的服务器配置:
Staging
Production
当然还有两个buildTypes
:
Debug
Release
。现在,对于每个变体,我们都有不同的REST端点:
Audi
Staging
:staging.audi.com
Production
:audi-live.com
Bentley
Staging
:bentleystaging.com
Production
:bproduction.com
Chevrolet
Staging
:chev-staging.com
Production
:prod-chevy.com
现在,我们如何在build.gragle
中一起声明Flavors和Endpoint配置,以便我们可以为上面的每个客户构建两个APK,Staging
和Production
配置?
这样的事情:
AudiStagingDebug
- 客户:Audi
,配置:Staging
。AudiProductionDebug
- 客户:Audi
,配置:Production
。BentleyStagingDebug
BentleyProductionDebug
ChevroletStagingDebug
ChevroletProductionDebug
AudiStagingRelease
AudiProductionRelease
BentleyStagingRelease
BentleyProductionRelease
ChevroletStagingRelease
ChevroletProductionDebug
答案 0 :(得分:0)
你看过Flavor Dimensions吗?在我看来,documentation并不十分清楚。但是这一系列文章可能会有所帮助,特别是:Advanced Android Flavors Part 2 — Enter Flavor Dimensions