Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用改型构建两个构建android变体来获取两个不同的URL?_Java_Android_Retrofit_Retrofit2_Build Variant - Fatal编程技术网

Java 如何使用改型构建两个构建android变体来获取两个不同的URL?

Java 如何使用改型构建两个构建android变体来获取两个不同的URL?,java,android,retrofit,retrofit2,build-variant,Java,Android,Retrofit,Retrofit2,Build Variant,我正在开发一个android应用程序,用于为共享同一数据源的两个不同构建变量获取两个不同的RESTAPI。我正在使用product flavor作为构建变体。但我不知道如何配置改装部分,以便为不同的构建变量选择不同的API 提前感谢您发布的调试版本,您可以使用 // setting up retrofit .baseUrl(if (BuildConfig.DEBUG) { "https://debug.server" } e

我正在开发一个android应用程序,用于为共享同一数据源的两个不同构建变量获取两个不同的RESTAPI。我正在使用product flavor作为构建变体。但我不知道如何配置改装部分,以便为不同的构建变量选择不同的API


提前感谢您发布的调试版本,您可以使用

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

您可以创建一个基于您的产品风格向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"'
            }
        }
        ....
    }
现在重建您的项目,然后您可以访问项目中的
BuildConfig.SERVER\u URL
,这将根据您选择的产品风格而有所不同。

可能的重复项