完美处理 Android App 的 apk 输出路径与文件名

实现代码

复制代码
buildTypes {

        // ...
    
        
        applicationVariants.all {
            variant ->
                variant.outputs.all {
                    Calendar calendar = Calendar.getInstance(Locale.CHINA);
                    def buildDate = String.format(Locale.CHINA, "%04d%02d%02d", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH))
                    def versionName = variant.versionName
                    def versionCode = variant.versionCode
                    //项目名-版本名-版本号-release/debug.apk
                    if (variant.buildType.name.equals('release')) {
                        variant.getPackageApplication().outputDirectory = new File("ApkOutputs/release")
                        outputFileName = "${rootProject.getName()}-v${versionName}-${versionCode}-${buildDate}-release.apk"
                    } else {
                        variant.getPackageApplication().outputDirectory = new File("ApkOutputs/debug")
                        outputFileName = "${rootProject.getName()}-v${versionName}-${versionCode}-${buildDate}-debug.apk"
                    }
                }
        }
    }

效果

相关推荐
Jinuss8 分钟前
源码分析之React中createFiberRoot方法创建Fiber根节点
前端·javascript·react.js
Lueeee.12 分钟前
llseek 定位设备驱动实验
linux·驱动开发
Jason_zhao_MR13 分钟前
YOLO5目标检测方案-基于米尔RK3576开发板
linux·人工智能·嵌入式硬件·目标检测·计算机视觉·目标跟踪·嵌入式
小小程序媛(*^▽^*)18 分钟前
Claude Code 新手保姆级安装与使用指南 (ZCF 版)
linux·编辑器·vim
Jinuss34 分钟前
源码分析之React中ReactDOMRoot实现
前端·javascript·react.js
鱼香rose__42 分钟前
管道、环境变量与常用命令
linux
web守墓人43 分钟前
【前端】vue3的指令
前端
RisunJan1 小时前
Linux命令-last(查看用户登录历史)
linux·服务器·网络
孟秋与你1 小时前
【安卓】开发一个读取文件信息的简易apk
android
42nf1 小时前
Android Launcher3添加负一屏
android·launcher3·android负一屏