Making.School.Asignment.app/making_school_asignment_app/README_mac_build.md

2.5 KiB
Raw Blame History

macOS Flutter APK 构建脚本使用说明

概述

flutter_build_apk_onmac.sh 是基于Windows版本的 flutter_build_apk_onwindows.bat 脚本改写的macOS版本用于在macOS系统上构建Flutter APK。

主要功能

  1. 进程清理: 终止相关的Java和Gradle进程
  2. 项目清理: 执行 flutter clean
  3. 文件清理: 删除 build.dart_toolpubspec.lock 等文件夹
  4. 依赖管理: 执行 flutter pub get
  5. 代码生成: 运行 build_runner
  6. APK构建: 构建release版本的APK
  7. 结果展示: 自动打开APK所在文件夹并显示文件信息

使用方法

1. 设置执行权限

在终端中执行以下命令为脚本添加执行权限:

chmod +x flutter_build_apk_onmac.sh

2. 运行脚本

./flutter_build_apk_onmac.sh

或者直接用bash运行

bash flutter_build_apk_onmac.sh

系统要求

  • macOS 系统
  • 已安装 Flutter SDK
  • 已安装 Android SDK
  • 项目已正确配置Android构建环境

脚本特性

错误处理

  • 使用 set -e 确保任何命令失败时脚本立即退出
  • 详细的错误日志输出
  • 进程清理的容错处理

日志系统

脚本包含彩色日志输出:

  • 🔵 INFO: 一般信息
  • 🟢 SUCCESS: 成功操作
  • 🟡 WARNING: 警告信息
  • 🔴 ERROR: 错误信息

强制删除功能

  • 实现了类似Windows版本的强制删除机制
  • 支持重试机制最多3次
  • 指数退避策略

自动化功能

  • 自动打开APK所在文件夹使用macOS的open命令)
  • 显示生成的APK文件列表
  • 构建完成后的详细信息展示

与Windows版本的主要差异

功能 Windows版本 macOS版本
脚本语言 Batch (.bat) Bash (.sh)
进程终止 taskkill pkill
文件删除 del, rmdir rm -rf
打开文件夹 explorer open
编码设置 chcp 65001 UTF-8默认支持
错误处理 ERRORLEVEL 退出码 $?

故障排除

权限问题

如果遇到权限错误,确保脚本有执行权限:

ls -la flutter_build_apk_onmac.sh
# 应该显示类似: -rwxr-xr-x 的权限

Flutter环境问题

确保Flutter环境正确配置

flutter doctor

Android SDK问题

确保Android SDK路径正确配置

echo $ANDROID_HOME

输出文件位置

构建成功后APK文件将位于

build/app/outputs/flutter-apk/app-release.apk

脚本会自动打开此文件夹并显示详细信息。