mobile-eda/scripts/build-android.sh

92 lines
2.3 KiB
Bash

#!/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 ""