参考:Android Studio 中修改Apk名称(新增Android studio 3.*设置)
示例一:
android {
//...
applicationVariants.all { variant ->
variant.outputs.all { output ->
println output
//ApkVariantOutputImpl_Decorated{
// apkData=Main
// {type=MAIN, fullName=debug, filters=[],
// versionCode=1, versionName=1.0}}
//ApkVariantOutputImpl_Decorated{
// apkData=Main{
// type=MAIN, fullName=release, filters=[],
// versionCode=1, versionName=1.0}}
println output.apkData
//Main{type=MAIN, fullName=debug, filters=[], versionCode=1, versionName=1.0}
//Main{type=MAIN, fullName=release, filters=[], versionCode=1, versionName=1.0}
def fullName = output.apkData.fullName
println fullName
//debug
//release
def versionName = output.apkData.versionName
println versionName
//1.0
//1.0
//修改方式一
def releaseApkName1 = "gradle2_" + fullName + versionName + ".apk"
println releaseApkName1
// gradle2_debug1.0.apk
// gradle2_release1.0.apk
//修改命名
outputFileName = releaseApkName1
//修改方式二:
def releaseApkName2 = rootProject.getName() + "-v" +
defaultConfig.versionName + "-" +
variant.buildType.name + "-" +
buildTime() +
".apk"
println releaseApkName2
//MyGradle2-v1.0-debug-2019_07_05--11:08.apk
//MyGradle2-v1.0-release-2019_07_05--11:08.apk
// outputFileName = releaseApkName2
}
}
}
def buildTime() {
def date = new Date()
def formattedDate = date.format('yyyy_MM_dd--HH:mm')
return formattedDate
}
示例二:
android {
//...
applicationVariants.all { variant ->
variant.outputs.all { output ->
def releaseApkName = rootProject.getName() + "_" +
output.apkData.fullName + "_v" +
output.apkData.versionName + "_" +
buildTime() +
".apk"
println releaseApkName
//MyGradle2_debug_v1.0_2019_07_05_11:21:18.apk
//MyGradle2_release_v1.0_2019_07_05_11:21:18.apk
outputFileName = releaseApkName
}
}
}
def buildTime() {
def date = new Date()
def formattedDate = date.format('yyyy_MM_dd_HH:mm:ss')
return formattedDate
}