Google ML工具包:找不到“ libbarhopper_v2.so”

问题描述

我最近更改了旧的条形码/ QR扫描库,转而使用Google ML Kit for barcode scanning,并且自从我这样做以来,我就通过以前从未拥有的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]]]找不到 “ libbarhopper_v2.so” 在java.lang.Runtime.loadLibrary0(Runtime.java:1011) 在java.lang.System.loadLibrary(System.java:1660) 在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.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.run(zzh.java:1) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:636) 在java.lang.Thread.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]]]找不到“ libbarhopper_v2.so” 在java.lang.Runtime.loadLibrary0(Runtime.java:1067) 在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.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.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)

总之,这归结于此找不到“ libbarhopper_v2.so错误

有人知道如何解决此问题吗?

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

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

  • 三星galaxy A6,Android 10
  • 三星galaxy J7 Max,Android 8.1.0
  • 小米Redmi Go,Android 8.1.0
  • 三星galaxy Grand Prime,Android 5.1.1
  • Motorola Moto G(第二代)
  • OPPO A33w,Android 5.1
  • Starmobile Play Plus
  • 三星galaxy J2 Pro,Android 6.0.1
  • 华为Y3III,Android 6.0
  • 华为GR5,Android 6.0.1
  • Motorola Moto X Play,Android 7.1.1
  • 华为G Elite Plus,Android 7.0
  • 三星galaxy J6,Android 9
  • 三星galaxy J7 Prime,Android 7.0
  • 联想Vibe k6,Android 7.0
  • Wiko Pulp Fab 4G,Android 5.1.1

解决方法

在我在项目的运行配置中禁用“允许并行运行”后,这停止发生,我禁用了另一个不相关的问题。

如 OP 所述,它在第一次运行时一直发生,但在第二次运行后没有发生。

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

,

App捆绑包存在一个打开错误:https://issuetracker.google.com/issues/127691101

基于该错误,您可以在清单中将android:extractNativeLibs设置为true进行尝试。