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

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


✅ 一键脚本(macOS 专用)

bash 复制代码
#!/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. 给脚本加执行权限

    bash 复制代码
    chmod +x release_jdk8.sh
  2. 双击或在 Android Studio Terminal 里运行

    bash 复制代码
    ./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:如何在组织集体或团队里得到认可

健康杂谈

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

相关推荐
kyriewen20 分钟前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒33 分钟前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮1 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦1 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer2 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队2 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY2 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
杉氧2 小时前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
远航_2 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏2 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端