Android Studio在打包的时候会根据选择的Build Variant是Debug和Release默认生成<code>app-debug.apk</code>或者<code>app-release.apk</code>。
那么如何打包时候生成自定义文件名呢?
只要在moudle的build.gradle
中进行如下设置即可。
在根节点添加
// 当前beta版本号
ext.build_number = "beta1";
// 显示的时间格式,形如20171110
def releaseTime() {
return new Date().format("yyyyMMdd", TimeZone.getDefault());
}
在android节点中添加
android {
// 一定要写在android节点中
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
// 显示app名称+当前版本号
def fileName = "Your App Name-V${variant.versionName}"
// 如果有渠道,显示渠道名""
if (variant.flavorName!=""){
fileName = fileName + "-${variant.flavorName}"
}
// 加入打包时间
fileName = fileName + "-${releaseTime()}"
// 如果是debug版本,加入beta版本号
if ('debug'.equals(variant.buildType.name)) {
fileName = fileName + "-${build_number}.apk"
} else {
// 如果是release版本,直接显示
fileName = fileName + "-release.apk"
}
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
这样设置之后,打出的包的文件名就形如
//没有渠道
Your App Name-V1.0.0-20171110-beta1.apk
Your App Name-V1.0.0-20171110-release.apk
// 有渠道
Your App Name-V1.2.1-20171110-渠道名称-beta2.apk
Your App Name-V1.2.1-20171110-渠道名称-release.apk