当我们进行apk打包时,默认会生成app-debug.apk或者app-release.apk,每次都需要手动去修改apk的名称,用于区分各个版本的名称。
其实,我们可以修改build.gradle配置文件,每次打包的时候自动修改apk名称
一、修改module的build.gradle配置文件
在android闭包下添加如下信息:
android{
//...
android.applicationvariants.all{ variant ->
variant.outputs.all{
def createtime = new date().format("yyyymmddhhmm", timezone.gettimezone("gmt+08:00"))
def filename = "${project.name}_${buildtype.name}_${defaultconfig.versionname}_${createtime}.apk"
outputfilename = filename
}
}
//...
}- ${project.name}:当前module的名称
- ${buildtype.name}:当前的构建类型,debug或者release或者是自定的flavor
- ${defaultconfig.versionname} :版本名称,对于defaultconfig中的versionname,类比的我们也可以使用 ${defaultconfig.versioncode}来表示defaultconfig中的versioncode;
- ${createtime}:自定义的打包时间,时间格式是:yyyymmddhhmm。
二、多渠道包打包修改apk名称
在android闭包下添加如下信息:
android{
//...
android.applicationvariants.all { variant ->
variant.outputs.all {
def createtime = new date().format("yyyymmddhhmm", timezone.gettimezone("gmt+08:00"))
def filename = "${variant.productflavors[0].name}_${buildtype.name}_${variant.versionname}_${createtime}.apk"
outputfilename = filename
}
}
//...
}三、kotlin dsl build.gradle.kts配置自定义打包apk名字
首先需要添加导包,import java.time.localdatetime和import java.time.format.datetimeformatter,用于获取当前时间。
在android闭包下添加如下信息:
import java.time.localdatetime
import java.time.format.datetimeformatter
android{
//...
android.applicationvariants.all {
outputs.all {
if (this is com.android.build.gradle.internal.api.apkvariantoutputimpl) {
val config = project.android.defaultconfig
val versionname = config.versionname
val formatter = datetimeformatter.ofpattern("yyyymmddhhmm")
val createtime = localdatetime.now().format(formatter)
this.outputfilename = "${project.name}_${this.name}_${versionname}_$createtime.apk"
}
}
}
//...
}到此这篇关于android自定义修改打包apk名称的文章就介绍到这了,更多相关android打包apk名称内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论