React Native安卓报错 requireNativeComponent: RNSScreenStackHeaderConfig未在UIManager中找到
问题解决方案
导致该安卓端独有报错的核心原因是react-native-screens@3.x版本与你当前React Native 0.63的安卓编译配置不兼容,原生组件没有被正确打包进APK,可按以下步骤处理:
- 优先验证安卓编译配置要求
react-native-screens@3.x要求安卓端compileSdkVersion>= 31,你可以打开android/build.gradle文件做如下修改:
修改完成后进入安卓目录执行清理操作:buildscript { ext { buildToolsVersion = "31.0.0" compileSdkVersion = 31 targetSdkVersion = 31 // 其余配置保持不变 } }cd android && ./gradlew clean,再重新编译运行安卓应用即可。 - 无需升级编译配置的替代方案
如果你不想修改安卓编译版本,可以直接降级react-native-screens到适配RN 0.63的2.x版本:
安装完成后清理安卓构建缓存重新编译即可。npm install react-native-screens@2.18.1 # 用yarn的话执行 yarn add react-native-screens@2.18.1 - 可选优化项
你的package.json中同时存在React Navigation v4和v6两套依赖,如果你已经完全迁移到v6版本,可以卸载掉废弃的v4依赖避免潜在冲突:npm uninstall react-navigation react-navigation-stack - 手动补全链接配置(如上述方案无效可尝试)
React Native 0.63的自动链接偶发失效,可手动打开android/app/src/main/java/[你的应用包名]/MainApplication.java文件补全依赖注册:
首先顶部导入包:
然后找到import com.swmansion.rnscreens.RNScreensPackage;getPackages()方法,在返回的包列表中添加new RNScreensPackage()即可。
内容的提问来源于stack exchange,提问作者Anders Saxrud
相关产品推荐
相关产品推荐

