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

以上。

相关推荐
OriginCoding15 小时前
用 AI Agent 协作完成一个 Android TOTP 应用:从需求边界到 v1.0.0
android·ai编程
杉氧18 小时前
React 灵魂:深入剖析 Hooks 与副作用(Side Effects)陷阱
android·前端·react native
又见情义19 小时前
RK3568 + RTL8211F 网络唤醒(WOL)功能适配全记录
android·网络·驱动开发
用户09340777351419 小时前
HarmonyOS WPS Open SDK 实践:registerApp 鉴权与就绪门禁
android·typescript·harmonyos
jike_202619 小时前
会议离线录音APP:无网络记录能力对比
android·智能手机·语音识别
always_TT20 小时前
【Python 字符串格式化:format() 方法】
android·开发语言·python
恋猫de小郭20 小时前
AI 时代,一个优化 Flutter 的重复代码工具 Deslop
android·前端·flutter
RisunJan20 小时前
Android 面试知识点整理
android·面试·职场和发展
脚踏实地,坚持不懈!21 小时前
Android ANR 内核底层全解析:从一次触摸到“应用无响应”
android·linux
xhBruce21 小时前
强制使用桌面模式 - SECONDARY_HOME -android-15.0.0_r23
android·launcher3