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

React Native安卓Release包启动崩溃排查咨询

React Native Release包启动报错:"Status"未注册问题

报错日志:

08-08 15:25:56.464 27255 27309 E AndroidRuntime: Process: com.mybundle.status, PID: 27255
08-08 15:25:56.464 27255 27309 E AndroidRuntime: com.facebook.react.common.JavascriptException: Invariant Violation: "Status" has not been registered. This can happen if:
08-08 15:25:56.464 27255 27309 E AndroidRuntime: * Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
08-08 15:25:56.464 27255 27309 E AndroidRuntime: * A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called., js engine: hermes, stack:
08-08 15:25:56.464 27255 27309 E AndroidRuntime: invariant@1:63232
08-08 15:25:56.464 27255 27309 E AndroidRuntime: runApplication@1:257741
08-08 15:25:56.464 27255 27309 E AndroidRuntime: __callFunction@1:71995
08-08 15:25:56.464 27255 27309 E AndroidRuntime: anonymous@1:70504
08-08 15:25:56.464 27255 27309 E AndroidRuntime: __guard@1:71442
08-08 15:25:56.464 27255 27309 E AndroidRuntime: callFunctionReturnFlushedQueue@1:70462
08-08 15:25:56.464 27255 27309 E AndroidRuntime: 
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:72)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.jni.NativeRunnable.run(Native Method)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:883)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:100)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
08-08 15:25:56.464 27255 27309 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:919)

问题描述:

使用npm run android -- --mode=Release命令启动Release包,确认无需运行Metro,请问该排查哪个未加载的模块?


排查方向:

  • 确认AppRegistry注册是否正确
    检查项目入口文件(通常是index.js/index.android.js/App.js),确保存在AppRegistry.registerComponent('Status', () => 你的根组件)语句,第一个参数必须和报错中的"Status"完全一致,同时匹配AndroidManifest.xml里配置的主组件名称。

  • 验证Release包的JS Bundle是否正确打包

    1. 手动执行打包命令,查看是否有模块加载错误:
      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/
      
    2. 检查Android项目的android/app/src/main/assets/目录下是否存在index.android.bundle文件,确认Release构建时没有跳过本地bundle的引用逻辑。
  • 排查JS模块加载前置错误
    虽然是Release包,可临时开启Hermes调试模式,查看是否有语法错误、依赖缺失、导入路径错误等问题——这类错误会导致JS代码执行中断,无法走到AppRegistry.registerComponent步骤。同时确认package.json依赖已全部安装,执行npm install后重新打包。

  • 检查Android构建配置
    查看android/app/build.gradle中的Release配置,确保包含了bundle打包步骤;同时检查AndroidManifest.xml的主Activity配置,确认组件名称与注册的"Status"匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:40:10