需求
省去每次打包还需要手动修改包名,费时费力的操作;
在此可以自定义版本号、版本名、app名、时间戳等等,举一反三
话不多说,对症下药
实现
分为两部分,第一部分在Moudle(app)的根节点定义时间戳格式、自定义变量名称;
第二部分在Moudle(app)的android节点下定义包名输出格式
1.定义外部时间戳、自定义变量
def releaseTime() {
return new Date().format("yyyyMMdd", TimeZone.getDefault())
}
ext.appName="测试打包@Saxon_1"
这里可以自己修改包名及时间戳格式
- android节点下添加代码
// 一定要写在android节点中
applicationVariants.all { variant ->
variant.outputs.all { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName
if (variant.buildType.name == 'release') {
fileName = "${appName}-${defaultConfig.versionName}-${releaseTime()}.apk"
} else if (variant.buildType.name == 'debug') {
fileName = "${appName}-${defaultConfig.versionName}-${releaseTime()}-debug.apk"
} else {
fileName = "${appName}-${defaultConfig.versionName}-${releaseTime()}-other.apk"
}
outputFileName = fileName
}
}
}
结果
请受到帮助的小伙伴点个赞