Android Studiogradle多渠道打包
Posted 寒小枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studiogradle多渠道打包相关的知识,希望对你有一定的参考价值。
1.简介
由于android应用市场比较多,项目上线之前需要对每个市场进行打包,单独打包当然可以,但是如果要上传的市场比较多,这个工作量就比较大了,万一打包出现点问题还要重新再次打包,想想都害怕,所以我们可以采用多渠道打包的方式,在进行一些简单的配置后,可以一次性打包所有指定的各渠道apk文件,传统的eclipse一般使用ant进行多渠道打包,此处不作介绍,感兴趣的可以自行google学习,随着Android Studio开发工具的不断普及,所以介绍下Android Studio使用gradle来实现多渠道打包。
2.签名文件的配置
使用signingConfigs进行签名配置,下面代码分别配置了debug 版和release版的签名信息.
signingConfigs
//debug版签名配置
debug
//key别名
keyAlias 'test'
//key密码
keyPassword '123456'
//密钥文件路径
storeFile file('D:/AndroidStudioWork/MyApplication/test.jks')
//密钥文件密码
storePassword '123456'
//发布版签名配置
release
//key别名
keyAlias 'test'
//key密码
keyPassword '123456'
//密钥文件路径
storeFile file('D:/AndroidStudioWork/MyApplication/test.jks')
//密钥文件密码
storePassword '123456'
3.buildTypes的配置
使用buildTypes指定编译时使用的签名配置.
buildTypes
//debug使用上面debug的配置
debug
signingConfig signingConfigs.debug
//release使用上面release的配置
release
signingConfig signingConfigs.release
4.productFlavors的配置
使用productFlavors指定需要的渠道.
/*
指定多个渠道
*/
productFlavors
dev
manifestPlaceholders = [channel: "dev"]
official
manifestPlaceholders = [channel: "official"]
xiaomi
manifestPlaceholders = [channel: "xiaomi"]
wandoujia
manifestPlaceholders = [channel: "wandoujia"]
"360"
manifestPlaceholders = [channel: "360"]
5.打包
使用gradlew build命令进行打包操作,打好成功后会出现下图success的提示:
然后打开输出目录会看的打好的包,包含debug和release版本:
6.修改默认输出apk包的名字
上图中apk包名字是默认的,我们自己定义下:测试+buildtype+版本+渠道名,当然你也可以定义其他的,定义方式在build.gradle文件中添加如下配置:
applicationVariants.all variant ->
variant.outputs.each output ->
output.outputFile = new File(
output.outputFile.parent,
"测试-$variant.buildType.name-$defaultConfig.versionName-$variant.productFlavors[0].name.apk".toLowerCase())
然后执行gradlew build命令打包:
7.gradlew命令介绍
介绍一下常用的gradlew 命令含义:
gradlew assembleDebug 编译并打Debug包
gradlew assemblexiaomiDebug 编译并打xiaomi的debug包,其他类似
gradlew assembleRelease 编译并打Release的包
gradlew assemblexiaomiRelease 编译并打xiaomi的Release包,其他类似
gradlew installRelease Release模式打包并安装
gradlew uninstallRelease 卸载Release模式包
gradlew clean 删除app目录下的build文件夹
gradlew build 检查依赖并编译打包
参考资料:
1.Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用
2.Android Studio 使用Gradle多渠道打包
3.Android Studio debug使用release的签名
以上是关于Android Studiogradle多渠道打包的主要内容,如果未能解决你的问题,请参考以下文章