mobile-eda/scripts/build-all.sh

157 lines
4.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 全平台构建脚本
# 用法:./scripts/build-all.sh
echo "========================================"
echo " Mobile EDA - 全平台构建"
echo " 版本v1.1.0"
echo "========================================"
echo ""
# 记录开始时间
START_TIME=$(date +%s)
# 获取依赖
echo "📦 获取依赖..."
flutter pub get
if [ $? -ne 0 ]; then
echo "❌ 依赖获取失败"
exit 1
fi
echo "✅ 依赖获取完成"
echo ""
# 创建输出目录
OUTPUT_DIR="build/dist"
mkdir -p $OUTPUT_DIR
echo "📁 输出目录:$OUTPUT_DIR"
echo ""
# ============================================================================
# Android 构建
# ============================================================================
echo "========================================"
echo " 🤖 Android 构建"
echo "========================================"
flutter build apk --release
if [ $? -eq 0 ]; then
cp build/app/outputs/flutter-apk/app-release.apk $OUTPUT_DIR/mobile-eda-v1.1.0-android.apk
echo "✅ Android APK 构建完成"
else
echo "❌ Android APK 构建失败"
fi
echo ""
# ============================================================================
# Windows 构建
# ============================================================================
echo "========================================"
echo " 🪟 Windows 构建"
echo "========================================"
flutter build windows --release
if [ $? -eq 0 ]; then
mkdir -p $OUTPUT_DIR/mobile-eda-v1.1.0-windows-x64
cp -r build/windows/runner/Release/* $OUTPUT_DIR/mobile-eda-v1.1.0-windows-x64/
echo "✅ Windows EXE 构建完成"
else
echo "❌ Windows EXE 构建失败"
fi
echo ""
# ============================================================================
# Linux 构建 (可选)
# ============================================================================
echo "========================================"
echo " 🐧 Linux 构建 (可选)"
echo "========================================"
flutter build linux --release
if [ $? -eq 0 ]; then
mkdir -p $OUTPUT_DIR/mobile-eda-v1.1.0-linux-x64
cp -r build/linux/x64/release/bundle/* $OUTPUT_DIR/mobile-eda-v1.1.0-linux-x64/
echo "✅ Linux 构建完成"
else
echo "⚠️ Linux 构建失败 (可选)"
fi
echo ""
# ============================================================================
# Web 构建 (可选)
# ============================================================================
echo "========================================"
echo " 🌐 Web 构建 (可选)"
echo "========================================"
flutter build web --release
if [ $? -eq 0 ]; then
cp -r build/web $OUTPUT_DIR/mobile-eda-v1.1.0-web
echo "✅ Web 构建完成"
else
echo "⚠️ Web 构建失败 (可选)"
fi
echo ""
# ============================================================================
# 创建压缩包
# ============================================================================
echo "========================================"
echo " 📦 创建压缩包"
echo "========================================"
cd $OUTPUT_DIR
# Android
if [ -f "mobile-eda-v1.1.0-android.apk" ]; then
echo "📦 Android APK 已就绪"
fi
# Windows
if [ -d "mobile-eda-v1.1.0-windows-x64" ]; then
zip -r mobile-eda-v1.1.0-windows-x64.zip mobile-eda-v1.1.0-windows-x64/
echo "📦 Windows 压缩包已创建"
fi
# Linux
if [ -d "mobile-eda-v1.1.0-linux-x64" ]; then
tar -czf mobile-eda-v1.1.0-linux-x64.tar.gz mobile-eda-v1.1.0-linux-x64/
echo "📦 Linux 压缩包已创建"
fi
# Web
if [ -d "mobile-eda-v1.1.0-web" ]; then
zip -r mobile-eda-v1.1.0-web.zip mobile-eda-v1.1.0-web/
echo "📦 Web 压缩包已创建"
fi
cd ../..
echo ""
# 计算构建时间
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
# ============================================================================
# 构建完成
# ============================================================================
echo "========================================"
echo " ✅ 全平台构建完成!"
echo "========================================"
echo ""
echo "📦 输出文件:"
echo " Android APK: $OUTPUT_DIR/mobile-eda-v1.1.0-android.apk"
echo " Windows EXE: $OUTPUT_DIR/mobile-eda-v1.1.0-windows-x64/"
echo " Windows ZIP: $OUTPUT_DIR/mobile-eda-v1.1.0-windows-x64.zip"
echo " Linux: $OUTPUT_DIR/mobile-eda-v1.1.0-linux-x64/"
echo " Web: $OUTPUT_DIR/mobile-eda-v1.1.0-web/"
echo ""
echo "⏱️ 构建耗时:${DURATION}"
echo ""
echo "🚀 下一步:"
echo " 1. 测试各平台安装包"
echo " 2. 上传到应用商店"
echo " 3. 发布到官网"
echo ""