You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo SDK 50应用卡在启动页问题求助

Expo Go应用卡在启动页的排查方案

问题背景

应用此前运行正常,近期在Android和iOS模拟器上均出现卡在启动页的情况,已尝试更新所有依赖至最新版本、重新安装所有包,但问题仍未解决,当前使用Expo Go运行应用。

项目依赖配置如下:

{
  "name": "myapp",
  "main": "expo-router/entry",
  "version": "1.0.0",
  "scripts": {
    "start": "expo start",
    "prebuild": "expo prebuild",
    "doctor": "expo-doctor@latest",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/vector-icons": "^14.0.0",
    "@gorhom/bottom-sheet": "^4",
    "@react-native-community/datetimepicker": "7.6.1",
    "@react-native-picker/picker": "2.6.1",
    "@react-navigation/native": "^6.0.2",
    "expo": "~50.0.15",
    "expo-av": "^13.10.5",
    "expo-font": "~11.10.3",
    "expo-image-picker": "~14.7.1",
    "expo-linking": "~6.2.2",
    "expo-router": "~3.4.8",
    "expo-splash-screen": "~0.26.4",
    "expo-status-bar": "~1.11.1",
    "expo-system-ui": "~2.9.3",
    "expo-web-browser": "~12.8.2",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.73.6",
    "react-native-gesture-handler": "~2.14.0",
    "react-native-reanimated": "~3.6.2",
    "react-native-safe-area-context": "4.8.2",
    "react-native-screens": "~3.29.0",
    "react-native-web": "~0.19.6"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/react": "~18.2.45",
    "jest": "^29.2.1",
    "jest-expo": "~50.0.4",
    "react-test-renderer": "18.2.0",
    "typescript": "^5.1.3"
  },
  "private": true
}

排查与解决步骤

1. 查看启动日志,定位报错信息

启动项目时执行 expo start -c(清理缓存后启动),同时打开模拟器日志面板:

  • Android模拟器:用Android Studio的Logcat过滤ReactNative或Expo相关日志
  • iOS模拟器:打开Xcode控制台,查看应用启动时的报错信息
    重点关注未处理的Promise异常、模块导入失败、expo-splash-screen相关错误,这些是启动页卡住的常见诱因。

2. 检查expo-splash-screen使用逻辑

确认代码中是否正确调用SplashScreen.hideAsync():

  • 检查_layout.tsx或入口文件,避免有阻塞hideAsync()执行的代码
  • 确保expo-font等预加载资源的Promise被正确处理,防止未捕获异常导致启动页无法隐藏

3. 清理本地与模拟器缓存

  • 执行expo r -c清理Expo本地缓存
  • Android模拟器:进入设置→应用→Expo Go→存储→清除缓存
  • iOS模拟器:删除Expo Go应用后重新安装

4. 修复依赖兼容性问题

你的配置中@gorhom/bottom-sheet使用^4模糊版本,可能存在与Expo 50不兼容的子版本,建议锁定兼容版本:

npm install @gorhom/bottom-sheet@4.6.3

同时运行npx expo-doctor检查依赖冲突,按提示修复不兼容项。

5. 测试空白项目排除代码问题

创建空白Expo项目验证环境是否正常:

npx create-expo-app test-app
cd test-app
expo start

若空白项目能正常启动,说明问题出在业务代码中,可逐步迁移代码排查;若仍卡住,需更新Expo CLI和Expo Go到最新版本。

6. 匹配Expo Go与SDK版本

确保模拟器中Expo Go版本与项目使用的Expo SDK 50.0.15匹配,版本不兼容会直接导致启动失败,可通过Expo Go应用内提示更新。

内容的提问来源于stack exchange,提问作者ameyalambat128

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 09:20:29