gpt4 book ai didi

android - 从改造2.6.2更新到改造2.9.0后,OkHttpClient.Builder()中的java.lang.NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-02 13:04:56 27 4
gpt4 key购买 nike

早些时候,我在项目中使用改造版本2.6.2 来调用api服务,并且一切正常。我正在创建一个自定义Interceptor,将api key添加到每个请求的 header 中。

NetworkInterceptor.kt

class NetworkInterceptor() : Interceptor {

override fun intercept(chain: Interceptor.Chain): Response {

var request = chain.request()
request = request.newBuilder()
.addHeader("Authorization", "Client-ID ${NetworkConfig.CLIENT_ID}")
.build()

return chain.proceed(request)
}
}

我将 retrofit 库更新为 2.9.0版本,并更新为 retrofit 版本2.9.0 之后,我在 java.lang.NoSuchMethodError行中获取了 OkHttpClient.Builder(),同时将 Interceptor添加到 Retrofit.Builder()

阿皮
interface Api {

@GET("photos")
suspend fun getPhotos(
@Query("page") pageNumber: Int,
@Query("per_page") pageSize: Int,
@Query("order_by") orderBy: String
) : Response<List<Photo>>

@GET("photos/random")
suspend fun getRandomPhoto() : Response<Photo>

companion object{
operator fun invoke(
networkInterceptor: NetworkInterceptor
) : Api{

val client = OkHttpClient.Builder() //java.lang.NoSuchMethodError
.addInterceptor(networkInterceptor)
.build()

return Retrofit.Builder()
.baseUrl(NetworkConfig.BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(Api::class.java)
}
}
}

现在我不知道如何解决这个错误。任何帮助将不胜感激。

最佳答案

在您的应用程序级别build.gradle文件的android块内添加编译选项:

android {
...

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

关于android - 从改造2.6.2更新到改造2.9.0后,OkHttpClient.Builder()中的java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62229049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com