完美处理 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"
                    }
                }
        }
    }

效果

相关推荐
techdashen3 分钟前
不开端口,不配 DNS,用树莓派在家搭一个公网可访问的 Web 服务
前端·网络·智能路由器
ch3nyuyu16 分钟前
IO缓冲区
linux·服务器
李艺为23 分钟前
Android Studio使用switch匹配资源id时报需要常量表达式解决办法
android
wheeldown28 分钟前
2026年4月横评三款主流远控软件实况实测:UU远程,Todesk,向日葵,综合性能 UU 远程表现最佳
linux·运维·服务器
早起傻一天~G30 分钟前
vue2+element-UI表单封装
前端·vue.js·ui
诗句藏于尽头31 分钟前
CentOS 7 源码编译安装 Python 3.11 完整教程
linux·centos·python3.11
pixcarp34 分钟前
Nginx实战部署与踩坑总结 附带详细配置教程
服务器·前端·后端·nginx·golang
bksczm35 分钟前
Linux之基础开发工具(Ubuntu)之apt 、vim
linux·ubuntu·php
java_logo38 分钟前
Docker 部署 Open WebUI + Ollama 完整教程(Windows / Linux 通用)—— 打造自己的本地OpenAI
linux·docker·容器·ollama·open-webui·open-webui部署·open-webui教程
Live&&learn42 分钟前
Vue项目打包后内联字符串不显示的原因
前端·javascript·vue.js