Expo预构建后React Native应用立即崩溃且无错误提示
Expo预构建后React Native应用立即崩溃且无错误提示
嘿,这种毫无提示的崩溃真的太闹心了!我之前也踩过类似的坑,结合你贴出来的依赖配置,给你整理几个实用的排查方向,一步步来应该能解决:
先搞定依赖版本匹配问题
你用的@react-native-community/cli是latest版本,这很容易和Expo 52配套的React Native 0.76.x版本出现兼容性冲突。建议把它改成和Expo 52适配的具体版本,比如^13.6.9,然后执行rm -rf node_modules && npm install重装依赖。之后用npx expo prebuild --clean彻底清除旧的原生文件重新预构建,缓存残留的坑真的很多!排查第三方库的兼容性
逐个排查非核心依赖:比如先临时注释掉expo-blur,重新预构建运行,如果应用不崩溃了,那大概率是这个库的配置出问题。你当前的expo-blur版本~14.0.3虽然和Expo 52兼容,但预构建后可能需要额外的原生权限配置,比如iOS上的模糊效果权限,可以去Xcode的Info.plist里确认是否有NSBlurUsageDescription字段。一定要看原生端的崩溃日志!
无提示崩溃的核心解决办法就是看原生日志,这是最直接的线索:- iOS:打开Xcode连接设备,运行项目后看
Console面板的输出,或者去Organizer里找崩溃报告,里面会有完整的错误栈,告诉你到底是哪个模块初始化失败了。 - Android:用Android Studio连接设备,打开
Logcat,过滤Error或者Crash关键词,就能找到崩溃的具体原因,比如某个原生模块找不到或者初始化报错。
- iOS:打开Xcode连接设备,运行项目后看
用Expo自带工具检查依赖
执行npx expo install --check,这个命令会自动检查所有依赖和当前Expo SDK版本的兼容性,还能帮你自动修复不匹配的版本,比手动排查靠谱多了。彻底清理缓存
除了清理node_modules,还要:- 执行
npx expo start --clear清除Expo的缓存; - iOS端去Xcode删除Derived Data(路径在Xcode设置的Locations里);
- Android端进入
android目录,执行./gradlew clean清理构建缓存。
- 执行
备注:内容来源于stack exchange,提问作者Smit Kadawala
相关产品推荐
相关产品推荐

