# 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_tool`、`pubspec.lock` 等文件夹 4. **依赖管理**: 执行 `flutter pub get` 5. **代码生成**: 运行 `build_runner` 6. **APK构建**: 构建release版本的APK 7. **结果展示**: 自动打开APK所在文件夹并显示文件信息 ## 使用方法 ### 1. 设置执行权限 在终端中执行以下命令为脚本添加执行权限: ```bash chmod +x flutter_build_apk_onmac.sh ``` ### 2. 运行脚本 ```bash ./flutter_build_apk_onmac.sh ``` 或者直接用bash运行: ```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` | 退出码 `$?` | ## 故障排除 ### 权限问题 如果遇到权限错误,确保脚本有执行权限: ```bash ls -la flutter_build_apk_onmac.sh # 应该显示类似: -rwxr-xr-x 的权限 ``` ### Flutter环境问题 确保Flutter环境正确配置: ```bash flutter doctor ``` ### Android SDK问题 确保Android SDK路径正确配置: ```bash echo $ANDROID_HOME ``` ## 输出文件位置 构建成功后,APK文件将位于: ``` build/app/outputs/flutter-apk/app-release.apk ``` 脚本会自动打开此文件夹并显示详细信息。