#!/bin/bash # ServerBox 构建脚本 set -e PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)" FLUTTER_BIN="/opt/flutter/bin/flutter" echo "=== ServerBox 构建脚本 ===" echo "项目目录: $PROJECT_DIR" echo "" # 检查 Flutter 是否可用 if [ ! -f "$FLUTTER_BIN" ]; then echo "错误: Flutter 未找到 at $FLUTTER_BIN" echo "请先安装 Flutter SDK" exit 1 fi echo "Flutter 版本:" $FLUTTER_BIN --version echo "" # 进入项目目录 cd "$PROJECT_DIR" # 获取依赖 echo "=== 获取 Flutter 依赖 ===" $FLUTTER_BIN pub get # 运行代码生成 (如果需要) # echo "=== 运行代码生成 ===" # dart run build_runner build --delete-conflicting-outputs # 构建 APK echo "=== 构建 Release APK ===" $FLUTTER_BIN build apk --release # 检查构建结果 APK_PATH="build/app/outputs/flutter-apk/app-release.apk" if [ -f "$APK_PATH" ]; then echo "" echo "=== 构建成功! ===" echo "APK 路径: $PROJECT_DIR/$APK_PATH" ls -lh "$APK_PATH" else echo "" echo "=== 构建失败 ===" echo "未找到 APK 文件" exit 1 fi