Android端React Native运行报错“RNSScreen”未在UIManager中找到 求解决
解决方案
- 第一步:确认所有导航核心依赖已安装
执行对应包管理命令重装依赖:# npm用户执行 npm install react-native-screens react-native-safe-area-context @react-navigation/native # yarn用户执行 yarn add react-native-screens react-native-safe-area-context @react-navigation/native - 第二步:修改Android端MainActivity配置
找到android/app/src/main/java/[你的项目包名]/MainActivity.java文件,做两处修改:- 顶部添加导入语句
import android.os.Bundle;- 在MainActivity类内部添加onCreate重载方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(null); } - 第三步:清理Android构建缓存并重新运行
按顺序执行以下操作:- 关闭已打开的Metro服务终端
- 进入项目android目录,执行清理命令:
- Mac/Linux:
./gradlew clean - Windows:
gradlew clean
- Mac/Linux:
- 返回项目根目录,执行
npx react-native run-android重新构建安装应用
- 第四步:兼容校验
若操作后仍报错,核对@react-navigation/stack、@react-navigation/native、react-native-screens三者的版本匹配性,避免跨大版本混用,可统一降级到稳定适配版本重试。
该问题仅Android端复现的核心原因是react-native-screens库的原生实现要求Android端主动调整Activity启动参数,iOS端无此项要求,因此会出现双端运行表现不一致的情况。
内容的提问来源于stack exchange,提问作者Simon Degn
相关产品推荐
相关产品推荐

