#!/bin/bash # Shell 脚本 - 构建 Android APK # 用法:./scripts/build-android.sh echo "========================================" echo " Mobile EDA - Android 构建脚本" echo "========================================" echo "" # 检查 Flutter echo "📱 检查 Flutter 环境..." if ! command -v flutter &> /dev/null; then echo "❌ Flutter 未安装或未在 PATH 中" exit 1 fi echo "✅ Flutter 已安装" flutter --version echo "" # 获取依赖 echo "📦 获取依赖..." flutter pub get if [ $? -ne 0 ]; then echo "❌ 依赖获取失败" exit 1 fi echo "✅ 依赖获取完成" echo "" # 检查 Android SDK echo "🤖 检查 Android SDK..." if ! command -v adb &> /dev/null; then echo "⚠️ ADB 未找到,请确保 Android SDK 已配置" fi echo "" # 创建输出目录 OUTPUT_DIR="build/android" mkdir -p $OUTPUT_DIR echo "📁 输出目录:$OUTPUT_DIR" echo "" # 构建 Debug APK echo "🏗️ 构建 Debug APK..." flutter build apk --debug if [ $? -ne 0 ]; then echo "❌ Debug APK 构建失败" exit 1 fi echo "✅ Debug APK 构建完成" cp build/app/outputs/flutter-apk/app-debug.apk $OUTPUT_DIR/mobile-eda-v1.1.0-debug.apk echo "" # 构建 Release APK echo "🏗️ 构建 Release APK..." flutter build apk --release if [ $? -ne 0 ]; then echo "❌ Release APK 构建失败" exit 1 fi echo "✅ Release APK 构建完成" cp build/app/outputs/flutter-apk/app-release.apk $OUTPUT_DIR/mobile-eda-v1.1.0-release.apk echo "" # 构建 App Bundle (Google Play) echo "🏗️ 构建 App Bundle (Google Play)..." flutter build appbundle --release if [ $? -ne 0 ]; then echo "⚠️ App Bundle 构建失败 (可选)" else echo "✅ App Bundle 构建完成" cp build/app/outputs/bundle/release/app-release.aab $OUTPUT_DIR/mobile-eda-v1.1.0.aab fi echo "" # 显示构建信息 echo "========================================" echo " 构建完成!" echo "========================================" echo "" echo "📦 输出文件:" echo " Debug APK: $OUTPUT_DIR/mobile-eda-v1.1.0-debug.apk" echo " Release APK: $OUTPUT_DIR/mobile-eda-v1.1.0-release.apk" echo " App Bundle: $OUTPUT_DIR/mobile-eda-v1.1.0.aab" echo "" echo "🚀 安装到设备:" echo " adb install $OUTPUT_DIR/mobile-eda-v1.1.0-debug.apk" echo "" echo "📱 查看已连接设备:" echo " adb devices" echo ""