8

On samsung galaxy s6 edge my app crashes when calling the zbar sdk, for scanning. I think it is because I don't have an arm64 version of zbar.

This is the end of the crash log:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/.../base.apk"],nativeLibraryDirectories=[/data/app/.../lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libiconv.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)

I seen in my project that i don't have arm64 jni libs for zbar is this related ? and if so where can i get libiconv.so libzbarjni.so for arm64 ?

Noam Segev
  • 395
  • 3
  • 20

3 Answers3

10

So finally found the zbar 64 bit from here:

https://github.com/SkillCollege/ZBarAndroidSDK/tree/master/ZBarScanProjAll/libs

it is found under arm64-v8a. All i had to do is rename the so file to match my project.

Noam Segev
  • 395
  • 3
  • 20
3

I downloaded iconv.so and libZBarDecoder.so in arm64-v8a.

  • Rename libZBarDecoder.so to libzbarjni.so
  • Zip file and rename it to iconv.jar (because "System.loadLibrary("iconv") in my project").

And finally it work. Thanks Noam Segev.

https://github.com/SkillCollege/ZBarAndroidSDK/tree/master/ZBarScanProjAll/libs

user3295573
  • 101
  • 1
  • 1
  • Hey! I've downloaded both files. Let me know if I got it right - I need to rename both files as you suggested, and then Zip both and change the name to iconv.jar ? (it's called "iconv" in my project as well). – Rom Shiri Aug 24 '16 at 08:17
2

For libiconv

Grab the libiconv source, and make an Android.mk makefile. Look at this site (http://groups.google.com/group/android-ndk/browse_thread/thread/012d679319e4ea6e?pli=1) for a prewritten makefile for libiconv and Android. Once you have the Android.mk file you can build using the ndk-build script.

For libzbarjni

http://www.blackdogfoundry.com/blog/?p=139

StephenG
  • 2,851
  • 1
  • 16
  • 36