ZBAR android ARM 64无法找到" libiconv.so"

时间:2015-09-06 18:28:07

标签: android zbar

在三星galaxy s6边缘,我的应用程序在调用zbar sdk时崩溃,进行扫描。我认为这是因为我没有arm64版本的zbar。

这是崩溃日志的结束:

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)

我在项目中看到我没有为zbar设置arm64 jni libs 这有关系吗? 如果是的话我在哪里可以获得 libiconv.so libzbarjni.so for arm64?

3 个答案:

答案 0 :(得分:7)

所以终于从这里找到了zbar 64位:

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

在arm64-v8a下找到它。我所要做的就是重命名so文件以匹配我的项目。

答案 1 :(得分:2)

libiconv

抓住libiconv源代码,制作一个Android.mk makefile。查看此站点(http://groups.google.com/group/android-ndk/browse_thread/thread/012d679319e4ea6e?pli=1),了解libiconv和Android的预编写makefile。获得Android.mk文件后,您可以使用ndk-build脚本进行构建。

libzbarjni

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

答案 2 :(得分:2)

我在arm64-v8a中下载了iconv.so和libZBarDecoder.so。

  • libZBarDecoder.so重命名为libzbarjni.so
  • Zip文件并将其重命名为 iconv.jar (因为 " System.loadLibrary(" iconv")在我的项目")。

最后它起作用了。谢谢Noam Segev。

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