改造-Android 11

问题描述

我为初始化改造编写了代码调用Web服务。它可以在所有其他android版本中使用。 我尝试在android 11上运行它,但出现以下错误:-

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.reswaiter,PID: 6102
    java.lang.ExceptionInInitializerError

这是我的改装代码 以下代码在android 11中不起作用

val client = OkHttpClient.Builder()
                .connectTimeout(TIMEOUT.toLong(),TimeUnit.MILLISECONDS)
                .readTimeout(TIMEOUT.toLong(),TimeUnit.MILLISECONDS)
                .addInterceptor(logging)
                .addInterceptor(interceptor)
                .build()

            client.connectTimeoutMillis

            val retrofit = Retrofit.Builder()
                .baseUrl(api_url)
                .addConverterFactory(GsonConverterFactory.create())
                .client(client)
                .build()

解决方法

此解决方案是我将app.gradle中的目标sdk从30更改为29 ,并且效果很好。

defaultConfig {
        applicationId "com.reswaiter"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
,

我在 Retrofit 中遇到了类似的错误。将改造更新到 2.8.1 对我有用。

    implementation 'com.squareup.retrofit2:retrofit:2.8.1'
    implementation 'com.squareup.retrofit2:converter-gson:2.8.1'