android / android/codelab-mlkit-android
Fatal Exception: java.lang.UnsatisfiedLinkError
- Dominant language
- Kotlin
- Stars
- 186
- Forks
- 104
- PR merge metrics
- No merged PRs in 30d
Description
Using [MLKit's Android Barcode library (Bundled, v3)](https://developers.google.com/ml-kit/vision/barcode-scanning/android)
`com.google.mlkit:barcode-scanning:17.0.1`
From the limited users(that I currently have), I am experiencing the following crash on Firebase (repetitive):
1. Huawei 9A (MOA-LX9N)
2. Huawei Y9A (FRL-L22)
```
Fatal Exception: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/qrcodereader.barcodescanner.qrscanner.barcodereader.qrcode.barcode.qr.scanner.reader-28BTds1gUmGI_6g_4tY4uw==/base.apk"],nativeLibraryDirectories=[/data/app/qrcodereader.barcodescanner.qrscanner.barcodereader.qrcode.barcode.qr.scanner.reader-28BTds1gUmGI_6g_4tY4uw==/lib/arm64, /system/lib64, /hw_product/lib64, /system/product/lib64]]] couldn't find "libbarhopper_v3.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1668)
at com.google.android.libraries.barhopper.BarhopperV3.(BarhopperV3.java:5)
at com.google.mlkit.vision.barcode.bundled.internal.zza.zzc(zza.java:36)
at com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzbk.zza(zzbk.java:36)
at com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzb.onTransact(zzb.java:20)
at android.os.Binder.transact(Binder.java:921)
at com.google.android.gms.internal.mlkit_vision_barcode.zza.zzc(zza.java:2)
at com.google.android.gms.internal.measurement.zzbm.zzc$bridge(zzbm.java:2)
at com.google.android.gms.internal.mlkit_vision_barcode.zznu.zze(zznu.java:3)
at com.google.mlkit.vision.barcode.internal.zzl.zza(zzl.java:3)
at com.google.mlkit.vision.barcode.internal.zzi.zzc(zzi.java:1)
at com.google.mlkit.vision.common.internal.MobileVisionBase.zza(MobileVisionBase.java:18)
at com.google.mlkit.vision.common.internal.zzd.call(zzd.java:18)
at com.google.android.gms.measurement.internal.zzfh.call$bridge(zzfh.java:18)
at com.google.mlkit.common.sdkinternal.ModelResource.zza(ModelResource.java:28)
at com.google.mlkit.common.sdkinternal.zzl.run(zzl.java:28)
at com.google.android.gms.measurement.internal.zzjf.run$bridge(zzjf.java:28)
at com.google.mlkit.common.sdkinternal.zzp.run(zzp.java:137)
at com.google.android.gms.common.api.internal.zacm.run$bridge(zacm.java:137)
at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(MlKitThreadPool.java:2)
at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(MlKitThreadPool.java:2)
at com.google.mlkit.common.sdkinternal.zzi.run(zzi.java:2)
at com.google.mlkit.common.sdkinternal.zzi.run$bridge(zzi.java:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(MlKitThreadPool.java:4)
at com.google.mlkit.common.sdkinternal.zzj.run(zzj.java:4)
at com.google.mlkit.common.sdkinternal.zzi.run$bridge(zzi.java:4)
at java.lang.Thread.run(Thread.java:929)
```
I am not experienced enough with ndk, but I found a [stackoverflow link](https://stackoverflow.com/questions/27186726/java-lang-unsatisfiedlinkerror-dalvik-system-pathclassloader) that might be useful.
Can you please look into this, if it is a OEM device specific error or a bug with mlkit itself?...
Thanks
Contributor guide
Research direction
Start with the com.google.mlkit:barcode-scanning:17.0.1 dependency and the stack trace entry point at BarhopperV3, then reproduce on the Huawei 9A and Y9A devices named in the report. Compare the bundled native library packaging and determine whether the missing libbarhopper_v3.so is OEM-specific or an ML Kit issue; done means a validated fix or workaround and documented cause.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- computer-vision, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100