Google ML Kit: couldn't find "libbarhopper_v2.so"

Viewed 1201

I recently changed my old barcode/QR scanning library in favor of the Google ML Kit for barcode scanning, and since I did I am receiving some new crash reports through crashlytics that I didn't have before.

Fatal Exception: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/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]]] couldn't find "libbarhopper_v2.so" at java.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) at com.google.mlkit.vision.barcode.internal.zzf.b(zzf.java:17) at com.google.mlkit.common.sdkinternal.ModelResource.zza(ModelResource.java:1) at com.google.mlkit.common.sdkinternal.zzl.run(zzl.java:1) at com.google.mlkit.common.sdkinternal.zzp.run(zzp.java:3) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(MlKitThreadPool.java:19) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zza(MlKitThreadPool.java:1) at com.google.mlkit.common.sdkinternal.zzh.run(zzh.java:1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:784)

Fatal Exception: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.my.app-Y8cCSVtTMYVdnQQovlR0cw==/base.apk"],nativeLibraryDirectories=[/data/app/com.my.app-Y8cCSVtTMYVdnQQovlR0cw==/lib/arm, /system/lib, /vendor/lib]]] couldn't find "libbarhopper_v2.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1067) at java.lang.Runtime.loadLibrary0(Runtime.java:1007) at java.lang.System.loadLibrary(System.java:1667) at com.google.android.libraries.barhopper.BarhopperV2.(BarhopperV2.java:5) at com.google.mlkit.vision.barcode.zza.a_(zza.java:7) at com.google.mlkit.vision.barcode.internal.zzf.b(zzf.java:17) at com.google.mlkit.common.sdkinternal.ModelResource.zza(ModelResource.java:1) at com.google.mlkit.common.sdkinternal.zzl.run(zzl.java:1) at com.google.mlkit.common.sdkinternal.zzp.run(zzp.java:3) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(MlKitThreadPool.java:19) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zza(MlKitThreadPool.java:1) at com.google.mlkit.common.sdkinternal.zzh.run(zzh.java:1) 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:919)

In short it all comes down to this couldn't find "libbarhopper_v2.so" error.

Anyone knows how to fix this?

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

EDIT: List of affected devices:

  • Samsung Galaxy A6, Android 10
  • Samsung Galaxy J7 Max, Android 8.1.0
  • Xiaomi Redmi Go, Android 8.1.0
  • Samsung Galaxy Grand Prime, Android 5.1.1
  • Motorola Moto G (2nd Gen)
  • OPPO A33w, Android 5.1
  • Starmobile Play Plus
  • Samsung Galaxy J2 Pro, Android 6.0.1
  • Huawei Y3III, Android 6.0
  • Huawei GR5, Android 6.0.1
  • Motorola Moto X Play, Android 7.1.1
  • Huawei G Elite Plus, Android 7.0
  • Samsung Galaxy J6, Android 9
  • Samsung Galaxy J7 Prime, Android 7.0
  • Lenovo Vibe k6, Android 7.0
  • Wiko Pulp Fab 4G, Android 5.1.1
2 Answers

This stopped happening after I disabled "Allow parallel run" in the project's run configurations, which I disabled for another unrelated issue.

It happened consistently on the first run as OP stated, but didn't happen on the second run onwards.

Interestingly, it never happened to any of my users, only to devs.

Related