通常为了区分每次本地打的apk版本的区别,我们会自定义自动修改打包出来后的apk名称,而不是app_debug.apk或者apk_release.apk.
修改打包出来的apk名称方法也很简单,在app目录下的build.gradle (不是根目录下的build.gradle)中android{}加上如下代码
android.applicationVariants.all { variant ->
variant.outputs.all {
// 名称_android_版本号.apk
outputFileName = "你要修改的名字.apk"
}
}
但是为了区分每次打的apk名称不一样,我们都会加上打包的当前时间或者版本信息啥的
例如:在build.gradle 获取当前系统时间添加到打包信息中
// 获取当前系统时间
def releaseTime() {
return new Date().format("MM_dd", TimeZone.getTimeZone("UTC"))
}
android {
compileSdk 32
defaultConfig {
applicationId "com.github.demo1"
minSdk 22
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
......
android.applicationVariants.all { variant ->
variant.outputs.all {
// 名称_时间.apk
outputFileName = "demo_${releaseTime()}.apk"
}
}
}
以上打包结果:
当然可以把当前app的版本信息放进去,比如获取版本号,
def releaseTime() {
return new Date().format("MM_dd", TimeZone.getTimeZone("UTC"))
}
android {
compileSdk 32
defaultConfig {
applicationId "com.github.demo1"
minSdk 22
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
.......
android.applicationVariants.all { variant ->
variant.outputs.all {
// 名称_android_版本号.apk
outputFileName = "demo_V${defaultConfig.versionCode}_${releaseTime()}.apk"
}
}
}
打包出来的结果如图所示: