美文网首页Android Other
[Android]安卓开发中,如何自动切换不同环境下的URL

[Android]安卓开发中,如何自动切换不同环境下的URL

作者: 黑森林中的小木屋 | 来源:发表于2018-09-29 15:22 被阅读0次

目的:开发环境和生产环境使用不同的URL,并实现自动切换
步骤:
1、设置modulesflavors

image.png

2、设置成功后modulesbuild.gradle文件中会出现下面的代码

productFlavors {
      product {
      }
      dev {
      }
  }

Android studio左边Build Varians中会出现下面的选项:

image.png

3、appBuild Variant选项中会出现4个选项devDebugdevRealseproductDebugpeoductRelease。如果想去除其中的某个的话,可以在build.gradle中这么设置,比如我想去除devRelease这个选项:

variantFilter { variant ->
        def names = variant.flavors.name
        def buildType = variant.buildType.name
        if (names.contains("dev") && buildType == "release") {
            setIgnore(true)
        }
    }
image.png

没有release选项了

4、上面设置了3中环境,实际上只是生成了BuildConfig.java文件,

image.png

接下来在代码中对环境进行判断

public class APIConstant {
        
    public static String BASE_URL = "https://xxxxxx";
    

    static {
        if (BuildConfig.FLAVOR != null && BuildConfig.FLAVOR.equals("dev")) {
            BASE_URL = "http://xxx_xxx_x/frontend";     //如果是生产环境,则重新赋值
        }
    }

    public static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json");
}

注:这种方式还可用于多渠道打包

Android Studio中包名为build.gradle中的application id,可以和manifest.xml中的不一致,manifest.xml中的包名仅作为R文件的包名

image.png image.png

相关文章

网友评论

    本文标题:[Android]安卓开发中,如何自动切换不同环境下的URL

    本文链接:https://www.haomeiwen.com/subject/hasylftx.html