You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成SendBird UIKit后OkHttp与Retrofit崩溃问题求助

SendBird集成已有React Native Android应用时的OkHttp崩溃问题

我在将SendBird集成到一个已有Android应用时遇到问题,该应用前端采用React Native,我在原生Android侧实现SendBird集成。已按照教程完成示例应用,但运行时出现OkHttp相关崩溃问题,问题出在调用SendbirdUIKit.init(new SendbirdUIKitAdapter())之后:

崩溃场景1:调用Retrofit接口时触发崩溃

FATAL EXCEPTION: OkHttp Dispatcher
Process: com.***, PID: 17631
java.lang.ExceptionInInitializerError
    at okhttp3.internal.platform.android.ConscryptSocketAdapter$Companion$factory$1.matchesSocket(ConscryptSocketAdapter.kt:58)
    at okhttp3.internal.platform.android.DeferredSocketAdapter.matchesSocket(DeferredSocketAdapter.kt:37)
    at okhttp3.internal.platform.Android10Platform.configureTlsExtensions(Android10Platform.kt:51)
    at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:375)
    at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
    at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
    at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
    at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
    at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
    at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at com.***.APIHandler.lambda$get7BossClient$0(APIHandler.java:51)
    at com.***.APIHandler$$ExternalSyntheticLambda0.intercept(Unknown Source:2)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
    at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int org.conscrypt.Conscrypt$Version.major()' on a null object reference
    at okhttp3.internal.platform.ConscryptPlatform$Companion.atLeastVersion(ConscryptPlatform.kt:129)
    at okhttp3.internal.platform.ConscryptPlatform.<clinit>(ConscryptPlatform.kt:115)
    ... 28 more

崩溃场景2:打开SendBird的ChannelListActivity等页面时触发崩溃

FATAL EXCEPTION: OkHttp Dispatcher
Process: com.seveneleven.rnd.tabasco.ris2, PID: 16711
java.lang.ExceptionInInitializerError
    at com.sendbird.android.shadow.okhttp3.internal.platform.android.ConscryptSocketAdapter$Companion$factory$1.matchesSocket(ConscryptSocketAdapter.kt:58)
    at com.sendbird.android.shadow.okhttp3.internal.platform.android.DeferredSocketAdapter.matchesSocket(DeferredSocketAdapter.kt:37)
    at com.sendbird.android.shadow.okhttp3.internal.platform.Android10Platform.configureTlsExtensions(Android10Platform.kt:51)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:375)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
    at com.sendbird.android.shadow.okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
    at com.sendbird.android.shadow.okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
    at com.sendbird.android.shadow.okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
    at com.sendbird.android.shadow.okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
    at com.sendbird.android.shadow.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at com.sendbird.android.shadow.okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
    at com.sendbird.android.shadow.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at com.sendbird.android.shadow.okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
    at com.sendbird.android.shadow.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at com.sendbird.android.shadow.okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
    at com.sendbird.android.shadow.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
    at com.sendbird.android.shadow.okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int org.conscrypt.Conscrypt$Version.major()' on a null object reference
    at com.sendbird.android.shadow.okhttp3.internal.platform.ConscryptPlatform$Companion.atLeastVersion(ConscryptPlatform.kt:129)
    at com.sendbird.android.shadow.okhttp3.internal.platform.ConscryptPlatform.<clinit>(ConscryptPlatform.kt:115)
    ... 23 more

推测原因与Gradle配置

我推测是SendBird UIKit自带的OkHttp3实现与本地依赖版本冲突,以下是我的Gradle配置:

implementation('com.squareup.retrofit2:retrofit:2.9.0') {
    exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
implementation('com.squareup.retrofit2:converter-gson:2.9.0') {
    exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.11.0'
implementation group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '4.10.0'
implementation("com.squareup.okhttp3:okhttp-urlconnection:4.9.2")

implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.11.0'
implementation group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '4.10.0'
implementation("com.squareup.okhttp3:okhttp-urlconnection:4.9.2")

内容的提问来源于stack exchange,提问作者Jeff Hatfield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:04:59