【Android】240204 android studio build.gradle.kts APK名字带日期

通过Android studio 生成 APK 名字的时候,带年月日时,可以在 build.gradle 里面定义;

在Gradle脚本的build任务中,每当我构建项目时,我都希望获得当前时间戳,并将其保存到项目资源目录中的文件中。如果我理解正确,我应该能够调用Java方法来实现这一点,比如(在Kotlin中):

复制代码
import java.util.Date
import java.text.SimpleDateFormat

build.gradle.kts 写法

复制代码
android {
	...
    // 输出类型
    android.applicationVariants.all {
        // 编译类型
        val buildType = this.buildType.name
        val date = SimpleDateFormat("yyyyMMddHH").format(Date())
        outputs.all {
            // 判断是否是输出 apk 类型
            if (this is com.android.build.gradle
                .internal.api.ApkVariantOutputImpl) {
                this.outputFileName = "Batchuserdata" +
                        //"_${android.defaultConfig.versionName}_${buildType}.apk"
                        "_${android.defaultConfig.versionName}_${date}_${buildType}.apk"
            }
        }
    }

}

build.gradle 的写法

复制代码
android {
   ...
   // 输出类型
   android.applicationVariants.all {
       // 编译类型
       val buildType = this.buildType.name
       SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHH").format(new Date())
       outputs.all {
           // 判断是否是输出 apk 类型
           if (this is com.android.build.gradle
               .internal.api.ApkVariantOutputImpl) {
               this.outputFileName = "Batchuserdata" +
                       //"_${android.defaultConfig.versionName}_${buildType}.apk"
                       "_${android.defaultConfig.versionName}_${date}_${buildType}.apk"
           }
       }
   }

}
相关推荐
杉氧3 小时前
兼容与共生:如何在旧项目中优雅地引入 Compose?
android·架构·android jetpack
Flynt4 小时前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
杉氧4 小时前
性能优化实战:如何定位冗余重组并榨干 Compose 的每一帧性能?
android·架构·android jetpack
阿pin5 小时前
Android随笔-ATMS与AMS区别与联系
android·ams·atms
alexhilton15 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
杉氧21 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白1 天前
指针与数组的核心机制
android
黄林晴1 天前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋1 天前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev1 天前
Gson → kotlinx.serialization
android·java·kotlin