kotlin build.gradle.kts下修改APK的输出名称

kotlin build.gradle.kts下修改APK的输出名称

直接贴代码:

kotlin 复制代码
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("yyyyMMdd-HHmm")
                val createTime = LocalDateTime.now().format(formatter)
                val parts = this.name.split("-")
                val flavorName = parts.getOrNull(0) ?: ""
                val buildType = parts.getOrNull(1) ?: ""
                this.outputFileName ="${flavorName}_${buildType}_v${versionName}_${createTime}.apk"
            }
        }
    }

字段解释:

kotlin 复制代码
versionName:版本名称: v1.0.1

this.name:APP的默认名称  oppo-debug

parts:把默认名称分割后的数据 

0位的flavorName是渠道名称:oppo

1位的buildType是版本:debug或者release

createTime:按照yyyyMMdd-HHmm格式的时间 20251112-1638

放在文件中的

kotlin 复制代码
android {
defaultConfig{
}
//放在这个位置
android.applicationVariants.all{
......
}
}

打包后输出的格式为

kotlin 复制代码
oppo_debug_v1.0.1_20251112-1638.apk

以上。

相关推荐
低调小一3 分钟前
深度复盘:KMP 在字节跳动的工程化落地实践
android·kotlin
zh_xuan2 小时前
kotlin 密封类
开发语言·kotlin
歪楼小能手3 小时前
Android16系统go版关闭重力旋转开关后缺失手动旋转屏幕悬浮按钮
android·java·平板
崇山峻岭之间3 小时前
Matlab学习记录37
android·学习·matlab
stevenzqzq6 小时前
Android 协程 Channel 菜鸟教程
android·channel
遗悲风6 小时前
PHP伪协议全面解析:原理、常用场景、攻防实战与安全防护
android·安全·php
撩得Android一次心动6 小时前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(源码篇)
android·lifecycle
stevenzqzq6 小时前
android fow 限流
android·限流·flow
冬奇Lab8 小时前
Android 15 显示子系统深度解析(二):图形缓冲区管理与HWC硬件合成
android
wings专栏8 小时前
Android触摸事件分发记录
android