我正在开发一个 android 应用程序,用于为共享相同数据源的两个不同 Build Variant 获取两个不同的 Rest API。我正在将产品风味用于构建变体。但我不知道如何配置改造部分来为不同的构建变体选择不同的 API。
预先感谢
我正在开发一个 android 应用程序,用于为共享相同数据源的两个不同 Build Variant 获取两个不同的 Rest API。我正在将产品风味用于构建变体。但我不知道如何配置改造部分来为不同的构建变体选择不同的 API。
预先感谢
您可以创建一个BuildConfig 字段,以根据您的产品风格向 API 客户端提供不同的REST API URL :
打开您的build.gradle (应用程序级别)文件并将以下行添加到您的android 块:
android {
....
applicationVariants.all { variant ->
def variantName = variant.flavorName
// replace your specific flavor here instead of 'flavor1' & 'flavor2'
if (variantName.contains("flavor1")) {
variant.buildConfigField 'String', "SERVER_URL", '"your_flavor_specific_url_here"'
} else if (name.contains("flavor2")) {
variant.buildConfigField 'String', "SERVER_URL", '"your_flavor_specific_url_here"'
}
}
....
}
现在重建您的项目,然后您可以访问BuidConfig.SERVER_URL
您的项目,这将根据您选择的产品风格而有所不同。
对于调试版本,您可以使用
// setting up retrofit
.baseUrl(if (BuildConfig.DEBUG) {
"https://debug.server"
} else {
"https://release.server"
})
为了味道,你可以试试
// setting up retrofit
.baseUrl(if (BuildConfig.FLAVOR == "test") {
"https://debug.server"
} else if(BuildConfig.FLAVOR == "staging"){
"https://staging.server"
} else {
"https://release.server"
})