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

React Native应用启动崩溃:Module not found报错求助

解决React Native启动崩溃:Module not found: 0 错误

这个问题我之前帮好几个开发者排查过,本质是JS bundle加载时找不到指定的原生/JS模块,进而触发JNI层面的致命异常。下面是一步步的排查和修复思路,你可以按顺序尝试:

常见原因及修复步骤

1. 检查第三方模块的链接状态

这个错误大概率和第三方库未正确链接到原生项目有关,尤其是你最近新增过依赖的话:

  • 如果你使用的是React Native 0.60+版本,先尝试自动链接:执行 npx pod-install(iOS端),或者在Android Studio里点击「Sync Project with Gradle Files」同步gradle配置
  • 若涉及手动链接,要确认Android端的settings.gradle已添加对应模块、build.gradle已引入依赖,且MainApplication.java里把模块加入了getPackages()方法中

2. 清理缓存并重新构建

缓存紊乱是这类奇怪报错的高发原因,建议彻底清理后重新构建:

  • 清理React Native缓存:npx react-native start --reset-cache
  • 清理Android构建缓存:进入项目根目录的android文件夹,执行 ./gradlew clean,之后回到根目录重新运行 npx react-native run-android
  • 注意:如果修改过原生代码,一定要先停止当前的Metro服务,再重新启动

3. 验证bundle文件的完整性

报错日志里明确提到了index.android.bundle,可能是bundle打包不完整导致模块丢失:

  • 尝试重新生成Android bundle:
    npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    
  • 若处于Debug模式,确认Metro服务正常运行,打包过程中没有抛出其他错误

4. 排查近期的代码变更

如果之前项目运行正常,最近才出现崩溃,优先排查近期操作:

  • 是否新增/删除过第三方依赖?可以尝试回滚到之前的稳定版本,验证问题是否消失
  • 是否修改过index.js或其他入口文件的导入路径?检查是否存在拼写错误或路径错误的导入语句

5. 自定义原生模块的JNI检查(如果涉及)

如果你自己开发了原生模块,要确认:

  • 原生模块的包名、类名与JS层调用的名称完全一致
  • JNI方法的签名没有拼写错误
  • 原生模块正确继承了ReactContextBaseJavaModule,且实现了getName()方法

终极兜底方案

如果上面的步骤都没解决问题,可以试试这招:

  • 删除项目根目录的node_modules文件夹,重新执行 npm install 或 yarn install
  • 完全卸载手机上的测试APP,再重新安装

附上你提供的错误日志,方便后续排查参考:
FATAL EXCEPTION: mqt_js
Process: com.zibann.littlehome.debugEug, PID: 2790
com.facebook.jni.CppException: Exception in HostFunction: Module not found: 0 [native code]
v@index.android.bundle:2:1223
d@index.android.bundle:2:866
global code@index.android.bundle:11:4
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:232)
at java.lang.Thread.run(Thread.java:764)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:17:14