7

我最近更改了旧的条形码/QR 扫描库,转而使用Google ML Kit 进行条形码扫描,并且自从我这样做后,我通过 crashlytics 收到了一些以前没有的新崩溃报告。

致命异常:java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader[DexPathList[[zip 文件“/data/app/com.my.app-Q4EYyt2jmFlLaZ-mHL-J5A==/base.apk”],nativeLibraryDirectories=[/ data/app/com.my.app-Q4EYyt2jmFlLaZ-mHL-J5A==/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]] 在 java 中找不到“libbarhopper_v2.so” .lang.Runtime.loadLibrary0(Runtime.java:1011) at java.lang.System.loadLibrary(System.java:1660) at com.google.android.libraries.barhopper.BarhopperV2.(BarhopperV2.java:5) at com .google.mlkit.vision.barcode.zza.a_(zza.java:7) 在 com.google.mlkit.vision.barcode.internal.zzf.b(zzf.java:17) 在 com.google.mlkit.common .sdkinternal.ModelResource.zza(ModelResource.java:1) 在 com.google.mlkit.common.sdkinternal.zzl.run(zzl.java:1) 在 com.google.mlkit.common.sdkinternal.zzp.run(zzp .java:3) 在 com.google。mlkit.common.sdkinternal.MlKitThreadPool.zzd(MlKitThreadPool.java:19) 在 com.google.mlkit.common.sdkinternal.MlKitThreadPool.zza(MlKitThreadPool.java:1) 在 com.google.mlkit.common.sdkinternal.zzh。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 运行(zzh.java:1) .run(Thread.java:784)

致命异常:java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader[DexPathList[[zip 文件“/data/app/com.my.app-Y8cCSVtTMYVdnQQovlR0cw==/base.apk”],nativeLibraryDirectories=[/data/app/ com.my.app-Y8cCSVtTMYVdnQQovlR0cw==/lib/arm, /system/lib, /vendor/lib]]] 在 java.lang.Runtime.loadLibrary0(Runtime.java:1067) 找不到“libbarhopper_v2.so”在 java.lang.Runtime.loadLibrary0(Runtime.java:1007) 在 java.lang.System.loadLibrary(System.java:1667) 在 com.google.android.libraries.barhopper.BarhopperV2.(BarhopperV2.java:5)在 com.google.mlkit.vision.barcode.zza.a_(zza.java:7) 在 com.google.mlkit.vision.barcode.internal.zzf.b(zzf.java:17) 在 com.google.mlkit .common.sdkinternal.ModelResource.zza(ModelResource.java:1) 在 com.google.mlkit.common.sdkinternal.zzl.run(zzl.java:1) 在 com.google.mlkit.common.sdkinternal.zzp。在 com.google.mlkit.common.sdkinternal.MlKitThreadPool.zza(MlKitThreadPool.java:1) 的 com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(MlKitThreadPool.java:19) 运行(zzp.java:3)在 com.google.mlkit.common.sdkinternal.zzh.run(zzh.java:1) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) 在 java.lang.Thread.run(Thread.java:919)lang.Thread.run(Thread.java:919)lang.Thread.run(Thread.java:919)

简而言之,这一切都归结为找不到“libbarhopper_v2.so”错误。

任何人都知道如何解决这个问题?

=============

编辑:受影响的设备列表:

  • 三星 Galaxy A6,安卓 10
  • 三星 Galaxy J7 Max,安卓 8.1.0
  • 小米红米Go,安卓8.1.0
  • 三星 Galaxy Grand Prime,安卓 5.1.1
  • 摩托罗拉 Moto G(第二代)
  • OPPO A33w,安卓 5.1
  • Starmobile Play Plus
  • 三星 Galaxy J2 Pro,安卓 6.0.1
  • 华为Y3III,安卓6.0
  • 华为 GR5,安卓 6.0.1
  • 摩托罗拉 Moto X Play,Android 7.1.1
  • 华为 G Elite Plus,Android 7.0
  • 三星盖乐世 J6,安卓 9
  • 三星 Galaxy J7 Prime,安卓 7.0
  • 联想盛传 k6,Android 7.0
  • Wiko Pulp Fab 4G,Android 5.1.1
4

2 回答 2

0

在我在项目的运行配置中禁用“允许并行运行”后,这种情况就停止了,我因为另一个不相关的问题而禁用了它。

正如 OP 所说,它在第一次运行时始终如一地发生,但在第二次运行之后就没有发生。

有趣的是,它从来没有发生在我的任何用户身上,只有开发人员。

于 2021-04-11T04:11:35.480 回答
-1

App bundle 有一个开放错误:https ://issuetracker.google.com/issues/127691101

根据bug,你可以在manifest中设置android:extractNativeLibstrue试试看。

于 2020-10-02T18:12:39.130 回答