Twilioapp/scripts/start-dev.sh

83 lines
2.0 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# 跨平台翻译应用开发启动脚本
echo "🚀 启动跨平台翻译应用开发环境..."
# 检查Node.js是否安装
if ! command -v node &> /dev/null; then
echo "❌ Node.js未安装请先安装Node.js"
exit 1
fi
# 检查npm是否安装
if ! command -v npm &> /dev/null; then
echo "❌ npm未安装请先安装npm"
exit 1
fi
# 检查环境变量文件
if [ ! -f .env ]; then
echo "⚠️ .env文件不存在从.env.example复制..."
if [ -f .env.example ]; then
cp .env.example .env
echo "✅ 已创建.env文件请配置相应的环境变量"
else
echo "❌ .env.example文件不存在"
exit 1
fi
fi
# 安装依赖
echo "📦 安装依赖包..."
npm install
# 检查React Native CLI
if ! command -v npx react-native &> /dev/null; then
echo "📱 安装React Native CLI..."
npm install -g @react-native-community/cli
fi
# 清理缓存
echo "🧹 清理缓存..."
npx react-native start --reset-cache &
# 等待Metro服务器启动
echo "⏳ 等待Metro服务器启动..."
sleep 5
# 询问用户要启动哪个平台
echo "请选择要启动的平台:"
echo "1) Android"
echo "2) iOS"
echo "3) 两个都启动"
read -p "请输入选择 (1-3): " choice
case $choice in
1)
echo "🤖 启动Android应用..."
npx react-native run-android
;;
2)
echo "🍎 启动iOS应用..."
npx react-native run-ios
;;
3)
echo "🤖 启动Android应用..."
npx react-native run-android &
echo "🍎 启动iOS应用..."
npx react-native run-ios &
;;
*)
echo "❌ 无效选择"
exit 1
;;
esac
echo "✅ 开发环境启动完成!"
echo "📱 应用正在构建和安装到设备/模拟器..."
echo "🔧 如遇到问题,请检查:"
echo " - Android Studio是否正确安装和配置"
echo " - Xcode是否正确安装和配置仅iOS"
echo " - 设备/模拟器是否正常运行"
echo " - 环境变量是否正确配置"