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

React Native启动安卓模拟器报错:Invariant Violation: "EnglishPlatform"未注册

解决React Native启动安卓模拟器时的"Invariant Violation: 'EnglishPlatform' has not been registered"错误

执行git clone拉取项目后,通过yarn install完成依赖安装,项目构建成功,但启动安卓模拟器时持续报错:

Invariant Violation: "EnglishPlatform" has not been registered

更换电脑前项目运行正常,已尝试过重新克隆仓库、重装node_modules、迁移文件到空项目、清除缓存、修改index.js等操作,问题仍未解决。

核心排查与解决步骤

1. 修正Metro服务器运行目录

  • 终止所有正在运行的Metro进程:终端按Ctrl+C停止,或执行killall node强制关闭
  • 切换到项目根目录,带缓存重置启动Metro:
    npx react-native start --reset-cache
    

2. 验证组件注册逻辑与模块加载

  • 检查项目入口文件(index.js/App.js)中AppRegistry.registerComponent的调用是否正确,确保第一个参数为"EnglishPlatform":
    import { AppRegistry } from 'react-native';
    import App from './App';
    
    AppRegistry.registerComponent("EnglishPlatform", () => App);
    
  • 查看Metro终端日志,排查是否有模块缺失、语法错误等导致注册逻辑未执行
  • 临时禁用Hermes引擎测试:在android/app/build.gradle中修改enableHermes为false,重新构建后启动模拟器,确认是否仍报错

3. 对齐新旧电脑开发环境

由于问题出现在更换电脑后,需确保环境一致性:

  • 用nvm同步Node.js版本,与旧电脑保持一致
  • 确认Yarn版本匹配:执行yarn --version核对
  • 检查Android SDK、NDK版本是否符合项目android/build.gradle中的配置要求

内容的提问来源于stack exchange,提问作者Иван Гавриличев

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:09:52