Android Studio多环境打包

前言

本文主要介绍使用android studio 进行多环境打包,且可以修改app名称,可在手机上同时安装多个环境的安装包。

1.app module中的build.gradle中添加buildTypes

备注:buildTypes是在android节点下

//只保留相关代码
android {
    signingConfigs {
        config {
            keyAlias '用户名'
            keyPassword '密码'
            storeFile file('你的keystore路径')
            storePassword '密码'
        }
    }
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            //这里修改文件名
           def fileName = "应用名${variant.buildType.name}.apk"
            output.outputFile = new File(outputFile.parent, fileName)
        }
    }
   
    buildTypes {
        beta {//预发布环境
            buildConfigField "String", "STRING_API_ENV", "\"1\""
            applicationIdSuffix '.beta'//包名添加后缀.beta
            debuggable true
            signingConfig signingConfigs.config
        }
        debug {//测试环境
            buildConfigField "String", "STRING_API_ENV", "\"2\""
            applicationIdSuffix '.debug'//包名添加后缀.debug
            signingConfig signingConfigs.config
        }
        release {//正式环境
            buildConfigField "String", "STRING_API_ENV", "\"0\""
            signingConfig signingConfigs.config
            //正式环境相关配置可自己添加,只写出该功能所需代码
        }
    }
}

2.在url类中获取1中buildConfigField的变量

如没有BuildConfig.STRING_API_ENV,先sync project

    private static String TEST_URL = "http://测试url";//测试环境
    private static String RELEASE_URL = "http://正式url";//正式环境
    private static String BETA_URL = "http://预发布url";//预发布环境

    private static final String STRING_API_ENV = BuildConfig.STRING_API_ENV;
    private static String BASE_URL = STRING_API_ENV.equals("0")
            ? RELEASE_URL : (STRING_API_ENV.equals("1") ? BETA_URL : TEST_URL);

    //实例url,换为自己的接口
    public static String VERIFY = BASE_URL + "auth/send";

变量为0调用RELEASE_URL
变量为1调用BETA_URL
变量为0调用TEST_URL

3.在项目目录src下创建debug,beta文件夹

Android Studio多环境打包_第1张图片
演示.png

建议切换到到project视图创建


Android Studio多环境打包_第2张图片
project所在位置.png

分别在debug,beta文件夹下创建和main文件夹下层级一样的文件夹以及文件,如需修改debug,beta的应用图标,创建drawable相关文件,打包apk时会自动替换应用图标和应用名称。


Android Studio多环境打包_第3张图片
debug下string.png

beta与debug相同,名字改为了“应用名预发布”。

结束

Android Studio多环境打包_第4张图片
Build Variant.png

android studio的侧边Build Variant可切换环境。


Android Studio多环境打包_第5张图片
右上角gradle.png

点击android studio 右上角gradle,可分别输出debug,beta,release的apk,也可点击assemble打包三个环境的apk。


Android Studio多环境打包_第6张图片
apk路径.png

apk在app-build-outputs-apk中。
因包名不同,所以三个环境的apk可安装在同一部手机上,且应用名也是不同的,如设置了icon,应用图标也是不同的。

你可能感兴趣的:(Android Studio多环境打包)