您的位置:首页 > 移动开发 > Android开发

Android Studio生成APK,追加版本号区分

2016-11-23 17:28 337 查看
Android Studio 开发,如果需要编译多个渠道,那么编译出来的包会有很多个 release 和 debug 版本,如何能更好地区分这些安装包名(不是应用包名!!!),这里做了一些备用,大家可以参考一下:

在AS项目里,打开build.gradle:

在android{}节点添加下面这段代码

//自定义apk安装包名
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, applicationId + "-" +
buildType.name + "-v" +
defaultConfig.versionName + "-" +
defaultConfig.versionCode + ".apk" );
}
}


说明:

applicationId —> 应用包名 (这里可以选择默认。但如果用于多渠道打包的话,就要用这个了)

buildType.name —> 编译类型

defaultConfig.versionName —> 默认版本号

defaultConfig.versionCode —> 默认版本值

//多渠道配置
productFlavors{
_baidu{
applicationId "com.app.test.bd"   //编译生成的包名
minSdkVersion 14
targetSdkVersion 24
manifestPlaceholders = [CHANNEL_ID : "bd"]
}
_360{
minSdkVersion 14
targetSdkVersion 24
manifestPlaceholders = [CHANNEL_ID : "360"]
}
_tencnet{
minSdkVersion 14
targetSdkVersion 24
manifestPlaceholders = [CHANNEL_ID : "tc"]
}
_uc{
applicationId "com.app.test.uc"
minSdkVersion 14
targetSdkVersion 24
manifestPlaceholders = [CHANNEL_ID : "uc"]
}
4000
}


编译结果:

com.app.test.bd-debug-v1.0.1-1.apk //百度 debug 包

com.app.test.bd-debug-v1.0.1-1.apk //百度 debug 包

com.app.test.uc-debug-v1.0.1-1.apk //uc debug 包

com.app.test.uc-release-v1.0.1-1.apk //uc release包

com.app.test-debug-v1.0.1-1.apk //不修改包名的 debug 包

com.app.test-release-v1.0.1-1.apk //不修改包名的 release包

注:这篇不是介绍 多渠道的打包的。只是用多渠道打包,说明一下 在自定义安装包名的时候,applicationId 的使用。

另外,这种多渠道打包的方法,好像可以实现 应用更改包名。不过对于 在上线的时候,是否可以审核通过就不知道了。(不喜勿喷)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: