简体   繁体   English

ArrayIndexOutOfBoundsException at com.huawei.agconnect.crash.internal.log.h$b.read

[英]ArrayIndexOutOfBoundsException at com.huawei.agconnect.crash.internal.log.h$b.read

My application keeps crash report on Crashlytics for ArrayIndexOutOfBoundsException at com.huawei.agconnect.crash.internal.log.h$b.read.我的应用程序在 com.huawei.agconnect.crash.internal.log.h$b.read 上保留了关于 ArrayIndexOutOfBoundsException 的 Crashlytics 崩溃报告。 I've tried to search around but doesn't seems to get any info on this.我试图四处搜索,但似乎没有得到任何关于此的信息。

For my recent release, I update my agconnect libraries but still getting this crash.对于我最近的版本,我更新了我的 agconnect 库,但仍然遇到此崩溃。 Here are the versions:以下是版本:

build.gradle project build.gradle项目

classpath 'com.huawei.agconnect:agcp:1.7.2.300'

build.gradle app build.gradle 应用程序

implementation 'com.huawei.hms:base:6.6.0.300'
implementation 'com.huawei.agconnect:agconnect-core:1.7.2.300'
implementation 'com.huawei.hms:hianalytics:6.7.0.300'
implementation 'com.huawei.agconnect:agconnect-crash:1.7.2.300'
implementation 'com.huawei.hms:push:6.7.0.300'
implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.7.2.300'

From the report, all crashes are for Huawei devices and 90%+ are Android 10. The rest are Android 11.从报告来看,所有崩溃都是针对华为设备的,90% 以上是 Android 10。rest 是 Android 11。

This is the stacktrace shown in Crashlytics:这是 Crashlytics 中显示的堆栈跟踪:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException:
   at com.huawei.agconnect.crash.internal.log.h$b.read(:51)
   at com.huawei.agconnect.crash.internal.log.e$1.a(:15)
   at com.huawei.agconnect.crash.internal.log.h.a(:21)
   at com.huawei.agconnect.crash.internal.log.e.a(:28)
   at com.huawei.agconnect.crash.internal.log.f.b(:8)
   at com.huawei.agconnect.crash.internal.log.d.a(:215)
   at com.huawei.agconnect.crash.internal.log.c.a(:10)
   at com.huawei.agconnect.crash.internal.log.a$4.run(:6)
   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:929)

Not exactly sure, but this line appears questionable to me:不太确定,但这条线对我来说似乎有问题:

implementation 'com.huawei.hms:base:6.6.0.300'

base should use the same HMS version 6.7.0.300 , alike the other libraries. base应该使用相同的 HMS 版本6.7.0.300 ,就像其他库一样。

If not, the only chance to pinpoint this is to check out the decompiled class com.huawei.agconnect.crash.internal.log.h$b.read at line 51 (give or take).如果不是,查明这一点的唯一机会是检查反编译的 class com.huawei.agconnect.crash.internal.log.h$b.read51行(给予或接受)。
This would at least provide a clue, which array it tries to access there...这至少会提供一个线索,它试图访问哪个数组......

Try to update all Huawei dependencies to 6.7.0.300 vesion.尝试将所有华为依赖项更新到 6.7.0.300 版本。

After 1 month or so update to the latest Huawei Agconnect, I no longer receiving this crash report.更新到最新的 Huawei Agconnect 大约 1 个月后,我不再收到此崩溃报告。 Now this is the version I'm using:现在这是我正在使用的版本:

implementation 'com.huawei.hms:base:6.8.0.300'
implementation 'com.huawei.agconnect:agconnect-core:1.7.3.300'
implementation 'com.huawei.hms:hianalytics:6.8.0.300'
implementation 'com.huawei.agconnect:agconnect-crash:1.7.3.300'
implementation 'com.huawei.hms:push:6.7.0.300'
implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.7.3.300'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM