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(...) 依赖
}
相关推荐
教练、我想打篮球1 小时前
120 同样的 url, header, 参数, 使用 OkHttp 能够成功获取数据, 使用 RestTemplate 报错
http·okhttp·resttemplate·accept
咸鱼加辣2 小时前
【前端框架】react
前端·react.js·前端框架
chilavert3182 小时前
技术演进中的开发沉思-258 Ajax:自定义事件
前端·ajax·okhttp
chilavert3182 小时前
技术演进中的开发沉思-259 Ajax:浏览器历史管理
javascript·ajax·okhttp·状态模式
Lethehong2 小时前
React构建实时股票分析系统:蓝耘MaaS平台与DeepSeek-V3.2的集成实践
前端·react.js·前端框架·蓝耘mcp·蓝耘元生代·蓝耘maas
开发者小天13 小时前
react中useEffect的用法,以及订阅模式的原理
前端·react.js·前端框架
coderHing[专注前端]17 小时前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
开发语言·前端·javascript·react.js·前端框架·ecmascript
代码小学僧18 小时前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
San3019 小时前
深度驱动:React Hooks 核心之 `useState` 与 `useEffect` 实战详解
javascript·react.js·响应式编程
@大迁世界19 小时前
面了 100+ 次前端后,我被一个 React 问题当场“打回原形”
前端·javascript·react.js·前端框架·ecmascript