java.lang.NoSuchMethodError: 没有虚拟方法 toString(Z)Ljava/lang/String; 在类 Lokhttp3/Cookie 中;或者它的超类

A B*_*A B 9 java android retrofit okhttp react-native

我在一个 Android 项目中使用了改造 (2.7.2) 和 OkHttp 版本 (4.4.0),但我在请求时遇到了崩溃。

依赖项:

kapt("com.squareup.moshi:moshi-kotlin-codegen:1.9.2")
implementation 'com.squareup.moshi:moshi:1.9.2'     
implementation 'com.squareup.retrofit2:retrofit:2.7.2'
implementation 'com.squareup.retrofit2:converter-moshi:2.7.2'

implementation("com.squareup.okhttp3:okhttp:4.4.0")
implementation("com.squareup.okhttp3:okhttp-tls:4.4.0")
implementation "com.squareup.okhttp3:logging-interceptor:4.4.0"
Run Code Online (Sandbox Code Playgroud)

碰撞:

java.lang.NoSuchMethodError: 没有虚拟方法 toString(Z)Ljava/lang/String; 在类 Lokhttp3/Cookie 中;或其超类('okhttp3.Cookie' 的声明出现在 /data/app/com.package-1/base.apk:classes3.dex 中)在 com.facebook 的 okhttp3.JavaNetCookieJar.saveFromResponse(JavaNetCookieJar.java:45) .react.modules.network.ReactCookieJarContainer.saveFromResponse(ReactCookieJarContainer.java:36) 在 okhttp3.internal.http.HttpHeaders.receiveHeaders(HttpHeaders.kt:207) 在 okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85) ) 在 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100) 在 okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74) 在 okhttp3.internal.http.RealInterceptorChain

Jes*_*son 17

您正在使用旧版本的 okhttp-urlconnection,它与 OkHttp 核心库的当前版本不兼容。

您可以通过添加对 okhttp-urlconnection 的显式依赖来修复:

implementation("com.squareup.okhttp3:okhttp-urlconnection:4.4.1")
Run Code Online (Sandbox Code Playgroud)

或者通过为版本采用 OkHttp 的新 BOM:

dependencies {
   implementation(platform("com.squareup.okhttp3:okhttp-bom:4.4.1"))
   implementation("com.squareup.okhttp3:okhttp")              // No version!
   implementation("com.squareup.okhttp3:okhttp-urlconnection") // No version!
}
Run Code Online (Sandbox Code Playgroud)


Ric*_*chi 9

我使用了以下okhttp3 版本 ,对我来说醒来很好......

implementation 'com.squareup.okhttp3:okhttp:4.7.2'
implementation 'com.squareup.okhttp3:logging-interceptor:4.4.1'
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.4.1'
Run Code Online (Sandbox Code Playgroud)