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

健康杂谈

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

相关推荐
驯狼小羊羔2 小时前
学习随笔-http和https有何区别
前端·javascript·学习·http·https
草明2 小时前
Chrome HSTS(HTTP Strict Transport Security)
前端·chrome·http
进击的野人2 小时前
JavaScript DOM操作与事件处理:从小兔鲜儿电商网站看现代前端开发实践
前端·javascript
神秘的猪头2 小时前
JavaScript 数据结构入门:从数组开始掌握核心概念
前端·javascript
倚栏听风雨2 小时前
Gemini工程的入口文件和方法是那个
前端
失散132 小时前
分布式专题——53 ElasticSearch高可用集群架构实战
java·分布式·elasticsearch·架构
over6972 小时前
CSS定位全解析:从文档流到高级布局技巧
前端·css·面试
神秘的猪头2 小时前
CSS 定位详解与实战:掌握position的各种取值与css变量
前端·javascript
申阳2 小时前
Day 9:07. 基于Nuxt开发博客项目-工具箱整理
前端·后端·程序员