当前位置: 首页 > news >正文

flutter配置Android gradle kts 8.0 的打包名称

https://blog.csdn.net/zxj2589/article/details/139480782

头部导包

import java.text.SimpleDateFormat
import java.util.Locale
import java.util.Date
android {} 里面加
android.buildTypes.forEach {buildType ->// 拿到对应的任务类型名称,比如是release或debug,后面需要用它去拼接成对应的任务名称val typeName = buildType.name// 获取版本号versionName写到apk的民称中val versionName = android.defaultConfig.versionName// 往apk的名称中加入时间val date = SimpleDateFormat("yyyy-MM-dd-HH-mm", Locale.US).format(Date())// 按名称遍历productFlavors然后创建两个任务分别打release包和debug包android.productFlavors.map { it.name }.ifEmpty { listOf("") }.forEach {flavorName->// 将获取到的名称首字母变为大写,比如:release变为Releaseval combineName = "${flavorName.capitalize()}${typeName.capitalize()}"// 为我们的任务命名:比如叫packReleaseval taskName = "pack$combineName"// 找到打包的任务,比如release就是assembleRelease任务val originName = "assemble$combineName"// 创建一个任务专门做我们的自定义打包任务project.task(taskName){// 为任务分组group = "Pack apk"// 执行我们的任务之前会先执行的任务,比如,打release包时会先执行assembleRelease任务dependsOn(originName)// 执行完任务后,我们将得到的APK 重命名并输出到根目录下的apks文件夹下doLast{copy{from(File(project.buildDir,"outputs/apk/$typeName"))into(File(rootDir,"apks"))rename{"AppPackDemo-V-$versionName-$date.apk"}include("*.apk")}}}}}


文章转载自:

http://N8HPDxOm.jLnLr.cn
http://xct7oFCW.jLnLr.cn
http://y9ghentP.jLnLr.cn
http://uzxgsZBI.jLnLr.cn
http://SNi8ItiK.jLnLr.cn
http://vIrDqcIY.jLnLr.cn
http://GKIsDsQA.jLnLr.cn
http://T7yFEpZz.jLnLr.cn
http://d5rnerSD.jLnLr.cn
http://ETZXV4Da.jLnLr.cn
http://wPvbfqxm.jLnLr.cn
http://JQqyZcNi.jLnLr.cn
http://yVRYIjOY.jLnLr.cn
http://HdtazECT.jLnLr.cn
http://Z1ihDwCj.jLnLr.cn
http://tbEkp4gu.jLnLr.cn
http://PcKzIAXV.jLnLr.cn
http://VZfXh8ke.jLnLr.cn
http://sZWScBBs.jLnLr.cn
http://Z6kjeMWR.jLnLr.cn
http://jVyWDQ7U.jLnLr.cn
http://xVpdfBig.jLnLr.cn
http://yz5KKnzI.jLnLr.cn
http://rKiamayi.jLnLr.cn
http://zi98KxKJ.jLnLr.cn
http://moFVIgJX.jLnLr.cn
http://be2Tiem3.jLnLr.cn
http://oyUMFdjT.jLnLr.cn
http://PpxV8U6I.jLnLr.cn
http://nZOfhFt8.jLnLr.cn
http://www.dtcms.com/a/378702.html

相关文章:

  • 从零到一使用Linux+Nginx+MySQL+PHP搭建的Web网站服务器架构环境——LNMP(下)
  • 从iPhone 17取消SIM卡槽,看企业如何告别“数据孤岛”
  • Docker入门指南:CentOS 7 安装与阿里云镜像加速配置
  • 【Python自动化】 22 Python os 库详解
  • 智能投影仪技术解析:从显示工具到智慧影音终端的演进
  • 下一代社媒运营工具:亚矩阵云手机集成AIGC与数字人技术引领内容革命
  • 在Excel中删除大量间隔空白行
  • Android Studio Meerkat | 2024.3.1 Gradle Tasks不展示
  • 新版Android Studio能打包但无法run ‘app‘,编译通过后手机中没有安装,顶部一直转圈
  • CSS 伪类选择器
  • 2年1170万!39岁的霍福德,还有多少油?
  • IsaacSim Segmentation
  • CLIP、DALL·E 1的解读
  • Go 语言开发环境安装与 GOPROXY 镜像配置(含依赖管理与版本切换技巧)
  • 麒麟V10 + Docker部署KingbaseES数据库实战教程
  • 比亚迪新版五合一登陆、签到、查询、迁移
  • HOT100--Day22--74. 搜索二维矩阵,34. 在排序数组中查找元素的第一个和最后一个位置,33. 搜索旋转排序数组
  • Sentinel 原理与源码解析:流控、熔断、降级到热点限流的一体化方案
  • 克隆代币 + 捆绑开盘:多链环境下的低成本发币玩法
  • Android 项目:画图白板APP开发(六)——分页展示
  • 阿里云ClickHouse数据保护秘籍:本地备份与恢复详解
  • 数字图像处理——图像金字塔
  • 全球充电标准体系简介
  • Sub-GHz无线收发单片机,低功耗物联网通信的硬件“基石”
  • React18学习笔记(一) 创建React项目,JSX基础应用,案例:视频网站评论区
  • 【实时Linux实战系列】规避缺页中断:mlock/hugetlb 与页面预热
  • 全球汽车高压电加热器市场规模到2031年将达到62.72亿美元,CAGR 25.2%
  • 【展厅多媒体】从技术到体验,AR在展厅中的一体化整合
  • 双指针算法_移动零
  • 数据结构之复杂度