当前位置: 首页 > 知识库问答 >
问题:

noSuchMethodError:没有虚拟方法toString(Z)lJava/lang/String;在类LOKHTTP3/Cookie中;或其超类

夹谷奇
2023-03-14

我在一个Android项目中使用了reverfit(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"

崩溃:

noSuchMethodError:没有虚拟方法toString(Z)lJava/lang/String;在类LOKHTTP3/Cookie中;或其超级类(“OKHTTP3.cookie”的声明出现在/data/app/com.package-1/base.apk:classes3.dex中)的OKHTTP3.javanetCookieJar.SaveFromResponse(javanetCookieJar.java:45)的com.facebook.react.modules.network.reactCookieJarContainer.SaveFromResponse(reactCookieJarContainer.java:36)的r$worker.run(ThreadPoolExecutor.java:587)位于java.lang.Thread.run(Thread.java:818)

共有1个答案

金昂熙
2023-03-14

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

您可以通过在OKHTTP-URLConnection上添加显式依赖项来修复:

implementation("com.squareup.okhttp3:okhttp-urlconnection:4.4.1")

或者通过对版本采用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!
}
 类似资料: