TencentCloud / cos-sdk-flutter-plugin

对象存储COS Flutter语言SDK(桥接plugin实现)
Apache License 2.0
8 stars 5 forks source link

crash in Android 11: Caused by java.lang.IllegalStateException: Expected Android API level 21+ but was 30 #12

Closed wb-hwang closed 4 months ago

wb-hwang commented 5 months ago

log like:

java.lang.IllegalStateException
Caused by java.lang.IllegalStateException: Expected Android API level 21+ but was 30
       at okhttp3.internal.platform.AndroidPlatform.buildIfSupported(AndroidPlatform.java:238)
       at okhttp3.internal.platform.Platform.findPlatform(Platform.java:202)
       at okhttp3.internal.platform.Platform.<clinit>(Platform.java:79)
       at okhttp3.internal.platform.Platform.get(Platform.java:85)
       at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263)
       at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229)
       at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1015)
       at com.facebook.react.devsupport.DevServerHelper.<init>(DevServerHelper.java:132)
       at com.facebook.react.devsupport.DevSupportManagerBase.<init>(DevSupportManagerBase.java:171)
       at com.facebook.react.devsupport.DevSupportManagerImpl.<init>(DevSupportManagerImpl.java:72)
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
       at com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:80)
       at com.facebook.react.ReactInstanceManager.<init>(ReactInstanceManager.java:237)
       at com.facebook.react.ReactInstanceManagerBuilder.build(ReactInstanceManagerBuilder.java:280)
       at com.facebook.react.ReactNativeHost.createReactInstanceManager(ReactNativeHost.java:87)
       at com.facebook.react.ReactNativeHost.getReactInstanceManager(ReactNativeHost.java:39)
       at com.freyasavings.MainApplication.onCreate(MainApplication.java:74)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
       at android.app.ActivityThread.access$1300(ActivityThread.java:237)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7656)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

Solution: add code in android/app/build.gradle

dependencies {
    implementation("com.squareup.okhttp3:okhttp:4.4.0") {
        force = true // 强制使用此版本
    }
}

okhttp bug qcloud-sdk-android issues

jordanqin commented 4 months ago

需要引用方自行在android/app/build.gradle中引入新版okhttp,不适合在flutter cos sdk中引入,因为不确定其他库是否兼容新版本的okhttp