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

以上。

相关推荐
恋猫de小郭4 分钟前
KotlinLLM 开源 ,一个可以在运行时自己生成永久 Kotlin 代码的 Agent 库
android·前端·人工智能
游戏开发爱好者812 分钟前
iOS应用加固方案全解析:源码加固与IPA在线加固对比
android·macos·ios·小程序·uni-app·cocoa·iphone
大鹏说大话35 分钟前
PHP 异步处理方案:队列使用场景与 RabbitMQ 实操
android
molihuan1 小时前
最新 Paddle-Lite Android平台编译
android·ocr·paddle·推理·端侧·paddle lite
小肝一下1 小时前
多态(上)
android·开发语言·c++·vscode·多态·面向对象·伊蕾娜
三少爷的鞋2 小时前
Android 面试系列:Retrofit 的 suspend 是如何实现的?
android
solo_9913 小时前
用 LSPosed 模拟录屏音频编码器卡顿:从思路到落地
android
zzq779714 小时前
别把大模型 API Key 写进 APK:移动 AI 应用接口防盗刷实践
android·人工智能·安全·app加固·御盾安全·安卓加固
xiaopang16 小时前
RK3568 AOSP 编译与快速部署实战
android