在三星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?
答案 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
答案 2 :(得分:2)
我在arm64-v8a中下载了iconv.so和libZBarDecoder.so。
libZBarDecoder.so
重命名为libzbarjni.so
最后它起作用了。谢谢Noam Segev。
https://github.com/SkillCollege/ZBarAndroidSDK/tree/master/ZBarScanProjAll/libs