通常,我们通过flavor配置中的buildConfigField
传递REST端点,如下所示:
buildFlavors {
staging {
buildConfigField "String", "SERVER_URL", "\"http://staging-server.com\""
}
production {
buildConfigField "String", "SERVER_URL", "\"http://production.com\""
}
}
这是众所周知的。
现在想象一下汽车仪表板应用程序。我们只有一个项目,三个客户或
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配置,以便我们可以使用Staging
和Production
配置为上述每个客户构建两个APK?像这样:
AudiStagingDebug
-客户:Audi
,配置:Staging
。 AudiProductionDebug
-客户:Audi
,配置:Production
。 BentleyStagingDebug
BentleyProductionDebug
ChevroletStagingDebug
ChevroletProductionDebug
AudiStagingRelease
AudiProductionRelease
BentleyStagingRelease
BentleyProductionRelease
ChevroletStagingRelease
ChevroletProductionDebug
最佳答案
您是否看过Flavor Dimensions?我认为documentation不太清楚。但是,这一系列文章可能会有所帮助,尤其是:Advanced Android Flavors Part 2 — Enter Flavor Dimensions
关于android - Gradle :多种口味,每种口味都有生产和生产的终点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48589293/