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

【macOS 版】Android studio jdk 1.8 gradle 一键打包成 release 包的脚本

把下面内容保存成 release_jdk8.sh(放在 项目根目录,与 gradlew 同级),一键赋予可执行权限后即可 双击/命令行 完成 JDK 1.8 环境下的 release 打包(APK + AAB),并自动把成品拷到 outputs/release/


✅ 一键脚本(macOS 专用)

#!/bin/bash
# release_jdk8.sh
# 自动使用 JDK 1.8 打 release 包(APK + AAB)set -e          # 遇错即停
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
OUTPUT_DIR="$PROJECT_DIR/outputs/release"
mkdir -p "$OUTPUT_DIR"# 1. 临时指定 JDK 1.8(仅当前脚本生效)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
echo ">>> 使用 JDK 1.8: $JAVA_HOME"
java -version# 2. 清理旧产物
echo ">>> 清理旧产物"
./gradlew clean# 3. 打 APK
echo ">>> 开始 assembleRelease"
./gradlew assembleRelease# 4. 打 AAB(Google Play)
echo ">>> 开始 bundleRelease"
./gradlew bundleRelease# 5. 拷贝成品到统一目录
APK=$(find app/build/outputs/apk/release -name "*.apk" -type f | head -n 1)
AAB=$(find app/build/outputs/bundle/release -name "*.aab" -type f | head -n 1)[[ -n "$APK" ]] && cp "$APK" "$OUTPUT_DIR/" && echo ">>> APK 已拷贝 -> $OUTPUT_DIR"
[[ -n "$AAB" ]] && cp "$AAB" "$OUTPUT_DIR/" && echo ">>> AAB 已拷贝 -> $OUTPUT_DIR"echo ">>> 打包完成,请查收 $OUTPUT_DIR"
open "$OUTPUT_DIR"

🔧 使用步骤

  1. 给脚本加执行权限

    chmod +x release_jdk8.sh
    
  2. 双击或在 Android Studio Terminal 里运行

    ./release_jdk8.sh
    
  3. 跑完后自动弹出 outputs/release/ 文件夹,里面就是 签名 + 压缩 + 对齐 的正式 APK 与 AAB。


📌 前提

  • 已安装 JDK 1.8/usr/libexec/java_home -v 1.8 能返回路径)
  • 项目根目录已放好 key.properties 与签名文件,release 签名配置已在 build.gradle 中写好(见前面模板)。

更多阅读

困住我们一直在经济底层的到底是什么?

大前端++

AI 对大前端项目的冲击,【大前端++】来抵御
【混合开发】进阶到【大前端++】
【大前端++】几大特征
【大前端++】前端、大前端、大前端++的区别有哪些?

Android推荐阅读

Cannot fit requested classes in a single dex file (# methods: 93047 > 65536)
【Android】开发者模式启用

开发工具链推荐

API开发工具postman、国内xxapi和SmartApi的性能对比

心法杂谈

【心力建设】《毛选》里的心法

【心力建设】3:如何在组织集体或团队里得到认可

健康杂谈

【论健康】怎么才算健康(健康的本质)
【论健康】健康的不可能三角

http://www.dtcms.com/a/596643.html

相关文章:

  • 网站关键词优化原理亳州做企业网站
  • 数据库知识整理——SQL数据定义
  • AAAI 2026|港科大等提出ReconVLA:利用视觉重构引导,刷新机器人操作精度!(含代码)
  • Java 进阶:IO 流与 Lambda 表达式深度解析
  • 集团公司网站推广方案怎么做十年网站建设
  • 张祥前统一场论视角下的托卡马克Z箍缩不稳定性解读
  • 【每天一个AI小知识】:什么是MCP协议?
  • 在 kubernetes 上使用 SMB 协议做存储的「即插即用」方案
  • 软件测试大赛Web测试赛道工程化ai提示词大全
  • 智慧团建官方网站登录入口优秀的网站建设价格
  • 静海做网站公司十一月新闻大事件摘抄
  • GJOI 11.6 题解
  • Java Excel 导出:EasyExcel 使用详解
  • 【SOMEIP】【R24-11】【需求翻译】[RS_SOMEIP_00002]-[RS_SOMEIP_00004]
  • VMware无法将网络更改为桥接状态:没有未桥接的主机网络适配器
  • maven打包问题/ClassNotFoundException异常
  • 告别局域网限制!Windows快速部署Docsify技术文档站点,搭配cpolar内网穿透实现公网随时随地访问
  • Python每日一练---第十二天:验证回文串
  • 【Docker】Dockerfile自定义镜像
  • 1.3 Spring的入门程序
  • 网站内的链接怎么做修改wordpress 表格
  • 企业网站源码是什么网站内链怎么优化
  • FPGA-zynq PS与PL的交互(一)
  • 做电影网站需要施工企业会计核算及常用会计分录
  • CONFIG_TRACEPOINTS和CONFIG_FTRACE的作用
  • LeetCode 热题 100——哈希——字母异位词分组
  • MATLAB 计算两点直线方程(叉乘)
  • 系统分析师-信息安全-通信与网络安全技术系统访问控制技术
  • 25年11月软考架构真题《论无服务器架构(Serverless)》考后复盘总结
  • SMamba: 基于稀疏Mamba的事件相机目标检测