Android(安卓)Studio多环境打包
16lz
2022-06-11
前言
本文主要介绍使用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文件夹
演示.png建议切换到到project视图创建
project所在位置.png
分别在debug,beta文件夹下创建和main文件夹下层级一样的文件夹以及文件,如需修改debug,beta的应用图标,创建drawable相关文件,打包apk时会自动替换应用图标和应用名称。
debug下string.png
beta与debug相同,名字改为了“应用名预发布”。
结束
Build Variant.pngandroid studio的侧边Build Variant可切换环境。
右上角gradle.png
点击android studio 右上角gradle,可分别输出debug,beta,release的apk,也可点击assemble打包三个环境的apk。
apk路径.png
apk在app-build-outputs-apk中。
因包名不同,所以三个环境的apk可安装在同一部手机上,且应用名也是不同的,如设置了icon,应用图标也是不同的。
更多相关文章
- android:sharedUserId权限问题
- Android(安卓)中各种权限深入体验及详解
- Android引路蜂地图开发示例:第一个地图应用
- Android应用开发提高系列(5)——Android动态加载(下)——加载已安装A
- Appium环境搭建
- 配置android jni开发环境
- Android技术框架概要
- 第一章 andriod studio 安装与环境搭建
- Android各大发布市场