2

我正在开发一个 android 应用程序,用于为共享相同数据源的两个不同 Build Variant 获取两个不同的 Rest API。我正在将产品风味用于构建变体。但我不知道如何配置改造部分来为不同的构建变体选择不同的 API。

预先感谢

4

2 回答 2

2

您可以创建一个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您的项目,这将根据您选择的产品风格而有所不同。

于 2019-06-07T05:03:15.947 回答
0

对于调试版本,您可以使用

        // 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"
        })

这个问题描述了如何定义风味

于 2019-06-07T03:21:53.853 回答