如何解决java.lang.ArrayIndexOutOfBoundsException 与 okhttp 和 adobe 分析 http 连接相关的 Android 崩溃
我已经开始看到 Firebase 测试实验室在使用我们的 React Native 应用程序的许多设备(Pixel API 25 上的这个)上报告了以下崩溃。我在 1 月底测试该应用程序时没有报告这一点,并且在那段时间我没有对任何 SDK/软件包进行任何更改,尽管我注意到 com.adobe.marketing.mobile:sdk-core ( 1.6.0)在二月。我已经尝试过这个版本,并回滚到早期版本,并将最新版本的 okhttp 和 okio 添加到我的依赖项中,但问题仍然存在。
我还注意到 android core 1.6.0 的发行说明中提到了以下问题的修复:
由 Android okhttp 库抛出的异常导致的崩溃
我想知道这是否是我遇到的问题,但我使用的依赖项的某些组合意味着我没有得到这个修复。
致命异常:ADBMobileBackgroundThread
java.lang.Arrayindexoutofboundsexception: length=8192; index=8192
at com.android.okhttp.okio.Buffer.writeByte(Buffer.java:973)
at com.android.okhttp.internal.Platform.concatLengthPrefixed(Platform.java:130)
at com.android.okhttp.internal.Platform.configureTlsExtensions(Platform.java:84)
at com.android.okhttp.Connection.connectTls(Connection.java:230)
at com.android.okhttp.Connection.connectSocket(Connection.java:199)
at com.android.okhttp.Connection.connect(Connection.java:172)
at com.android.okhttp.Connection.connectAndSetowner(Connection.java:367)
at com.android.okhttp.OkHttpClient$1.connectAndSetowner(OkHttpClient.java:130)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:329)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:246)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:457)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:126)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java)
at com.adobe.marketing.mobile.httpconnectionHandler.a()
at com.adobe.marketing.mobile.AndroidNetworkService.c()
at com.adobe.marketing.mobile.AndroidNetworkService.b()
at com.adobe.marketing.mobile.AnalyticsHitsDatabase.l()
at com.adobe.marketing.mobile.AnalyticsHitsDatabase.i()
at com.adobe.marketing.mobile.AnalyticsHitsDatabase.a()
at com.adobe.marketing.mobile.HitQueue$1.run()
at java.lang.Thread.run(Thread.java:761)
app\build.gradle
implementation 'com.adobe.marketing.mobile:analytics:1.+'
implementation 'com.adobe.marketing.mobile:userprofile:1.+'
implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
package.json
"dependencies": {
"@adobe/react-native-acpanalytics": "^1.3.0","@adobe/react-native-acpcore": "^1.5.0",...
}
解决方法
您的数组长度为 8192,另一方面,您试图从 8192 索引中选取数据,但您的数组有 0 到 8191 个索引。所以 8192 索引不存在并且您的应用程序崩溃
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。