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

React Native集成react-navigation运行安卓报ReactTypefaceUtils错误如何解决

问题原因

核心冲突是依赖版本不兼容:
你当前使用的React Native 0.61.3版本过低,react-native-screens@3.x版本依赖的ReactTypefaceUtils工具类是React Native 0.62及以上版本才新增的内置API,编译阶段找不到对应引用就会抛出当前错误。同时你安装的@react-navigation/native-stack@6.x属于React Navigation 6.x生态的组件,和你现有@react-navigation/native@5.x的版本也不匹配。

解决方案

方案一:降级依赖适配现有RN版本(改动最小,优先选择)

  • 先卸载不兼容的依赖包:
npm uninstall react-native-screens @react-navigation/native @react-navigation/native-stack react-native-safe-area-context @react-native-community/masked-view
  • 安装适配RN 0.61版本的依赖组合:
npm install react-native-screens@2.18.1 @react-navigation/native@5.x @react-navigation/stack@5.x react-native-safe-area-context@3.1.9 @react-native-community/masked-view@0.1.10
  • 清理缓存重新构建:
    删除项目根目录的node_modules文件夹、package-lock.json文件,执行npm install重装依赖,再进入android目录执行gradlew clean清理构建缓存,之后重新运行npm run a即可。

方案二:升级React Native版本

如果需要使用新版导航的特性,可以将React Native版本升级到0.62及以上,同步将根目录build.gradle里的compileSdkVersion升级到31+、gradle版本升级到适配版本,即可正常使用3.x版本的react-native-screens。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:54:05