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

React Native Expo Go安卓端报错RNSScreenNavigationContainer未找到

解决安卓端RNSScreenNavigationContainer找不到的异常

问题说明

使用Expo Go运行React Native应用时,iOS端运行正常,但安卓端抛出以下异常:

Invariant Violation: requireNativeComponent: "RNSScreenNavigationContainer" was not found in the UIManager.

已尝试卸载重装react-native-screens、删除并重新安装node_modules及yarn.lock,问题仍未解决。

可行解决方案

  • 核对依赖版本兼容性
    确保react-native-screens版本与当前Expo SDK版本匹配(例如Expo SDK 49对应react-native-screens@~3.22.0,SDK 50对应~3.29.0),版本不匹配会导致原生组件链接失败。安装对应适配版本:

    yarn add react-native-screens@适配你SDK的版本号
    
  • 用Expo命令重新安装依赖
    不要用普通的yarn/npm install,改用Expo专属命令处理原生依赖适配:

    expo install react-native-screens react-native-gesture-handler
    
  • 添加安卓端配置声明
    在项目的app.json或app.config.js的expo字段下添加安卓额外包配置:

    "android": {
      "extraPackages": ["react-native-screens"]
    }
    
  • 彻底清除缓存
    清除项目和Expo Go的缓存,避免缓存导致的依赖不生效:

    expo r -c
    

    同时在安卓设备的应用设置中,找到Expo Go并清除存储数据。

  • 确认手势处理器配置
    报错涉及PanGestureHandler,需确保react-native-gesture-handler正确初始化:在项目入口文件(如App.js)的最顶部添加:

    import 'react-native-gesture-handler';
    
  • 尝试预构建原生项目
    若以上方法无效,可生成安卓原生项目文件确保依赖完全链接:

    expo prebuild --platform android
    

    完成后重新运行项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:28:27