【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:如何在组织集体或团队里得到认可

健康杂谈

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

相关推荐
一点一木30 分钟前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
天外飞雨道沧桑1 小时前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
赏金术士1 小时前
Compose 教学项目
android·kotlin·compose
Lee川1 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
晓梦林1 小时前
ximai靶场学习笔记
android·笔记·学习
一直不明飞行2 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker2 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
canonical_entropy2 小时前
从 Spec-Driven Development 到 Attractor-Guided Engineering
前端·aigc·ai编程
研☆香2 小时前
聊聊前端页面的三种长度单位
前端
你的保护色3 小时前
【无标题】
java·服务器·网络