react native 出现 FATAL EXCEPTION: OkHttp Dispatcher

react native 出现 FATAL EXCEPTION: OkHttp Dispatcher

报错信息

复制代码
 FATAL EXCEPTION: OkHttp Dispatcher
  Process: , PID: 8868
   java.lang.NoSuchMethodError: No virtual method toString(Z)Ljava/lang/String; in class Lokhttp3/Cookie; or its 
   super classes (declaration of 'okhttp3.Cookie' appears in /data/app/~~jJHvA-
   QIVyqleQgWxDDo2A==/com.bestwond.bigapp-BKzRyAI_ofmJB2eguJfYAA==/base.apk)

错误原因

复制代码
你的项目中至少有两个不同的库分别依赖了不同大版本的 OkHttp:
1.React Native 本身:新版本的 RN (>= 0.63) 通常依赖 OkHttp 4.x。
2.某个第三方库:你安装的某个第三方库(如 react-native-webview, @react-native-community/netinfo, 或其他网络相关的库)依赖了旧的 OkHttp 3.x。
编译时一切正常,但运行时手机只加载了一个版本的 OkHttp(通常是旧版本),导致 RN 网络模块找不到它需要的新版本中的方法(这里是 Cookie.toString(Z) 方法),从而引发 NoSuchMethodError 致命异常。

解决方案

解决方案:强制统一 OkHttp 版本

你需要在你项目的 android/app/build.gradle 文件中,强制所有依赖都使用同一个版本的 OkHttp。

请按照以下步骤操作:

1.打开文件:找到你 React Native 项目中的 android/app/build.gradle 文件。

2.添加配置:在 dependencies 块中,在最前面添加以下强制依赖解析策略:

复制代码
dependencies {
    // !!! 强制统一 OkHttp 版本,解决 FATAL EXCEPTION !!! 
    implementation(platform("com.squareup.okhttp3:okhttp-bom:4.10.0")) // 使用BOM统一管理版本
    implementation("com.squareup.okhttp3:okhttp")
    implementation("com.squareup.okhttp3:okhttp-urlconnection")
    implementation("com.squareup.okhttp3:logging-interceptor")
    // !!! 结束 !!!

    // ... 你原有的其他依赖项
    implementation("com.facebook.react:react-android")
    implementation("org.webkit:android-jsc:+")
    // ... 其他 project(...) 依赖
}
相关推荐
小刘鸭地下城2 小时前
告别服务端渲染卡顿!useSyncExternalStore 优化水合作用全解析
react.js
Winson℡3 小时前
如何理解 React Native 中的 useEffect
javascript·react native·react.js
乖女子@@@5 小时前
React-props的children属性
前端·javascript·react.js
八月十八5 小时前
React常用Hooks及使用示例大全
前端·javascript·react.js
wayne2148 小时前
React Native启动性能优化实战:Hermes + RAM Bundles + 懒加载
react native·react.js·性能优化
殇蓝8 小时前
react-lottie动画组件封装
前端·react.js·前端框架
一條狗9 小时前
学习日报 20250928|React 中实现 “实时检测”:useEffect 依赖项触发机制详解
前端·react.js
Gazer_S9 小时前
【React 状态管理深度解析:Object.is()、Hook 机制与 Vue 对比实践指南】
前端·react.js·前端框架
Z_ One Dream9 小时前
React 和 Vue 如何选择?(2026 年)
javascript·vue.js·react.js