【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"
           }
       }
   }

}
相关推荐
2401_858286117 小时前
VSCODE远程链接错误: 无法建立链接,过程试图写入的管道不存在的解决方法
ide·vscode·编辑器
wxson72828 小时前
【Android视频监控系统技术总结】
android·音视频
一朵好运莲8 小时前
Turbo Console Log插件VSCode更改log快捷键教程
ide·vscode·编辑器
hunterandroid10 小时前
[Android 从零到一] LiveData 粘性事件与单次消费:从重复触发到可靠事件总线
android
hunterandroid10 小时前
[Android 从零到一] Android 事件分发机制:从 ACTION_DOWN 到 View 事件消费链路
android
阿巴斯甜10 小时前
adb‑shell 全套命令实操总结
android
奔跑的架构师11 小时前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm
AFinalStone12 小时前
Android 7系统国际化(七)Resources 与 AssetManager 源码剖析
android·国际化·local
Android-Flutter12 小时前
Android 内存泄漏详解
android·kotlin