2015-09-06 34 views
5

サムスン銀河s6エッジでスキャンのためにzbar sdkを呼び出すときに私のアプリケーションがクラッシュする。私はそれがzbarのarm64バージョンを持っていないためだと思います。ZBARアンドロイドARM 64が "libiconv.so"を見つけられなかった

これは、クラッシュログの終わりです:

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

こんにちは@Noam。問題の解決策を見つけましたか? – ymerdrengene

+0

はい私の答えは以下を参照 –

+0

あなたの答えをありがとう!しかし、私は代わりにZXingに移動することに決めました。これはGalaxy S3 Edgeで動作します – ymerdrengene

答えて

5

については

だから最終的にここからzbar 64ビットを見つけました:

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

それはarm64-v8aの下で発見されました。私がしなければならなかったのは、私のプロジェクトに合うようにそのファイルの名前を変更することでした。

+0

どうやってlibzbarjni.soを見つけましたか? –

+2

上のリンクでは、libzbardecoderと呼ばれ、プロジェクトに応じて名前を変更します。 –

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

+0

こんにちは、これは私のスキルレベルを少し上回っているようです。 –

2

arm64-v8aでiconv.soとlibZBarDecoder.soをダウンロードしました。

  • libZBarDecoder.so
  • libzbarjni.soにZipファイルの名前を変更し、( "私のプロジェクトで)" "System.loadLibraryを(" iconvのため) iconv.jar に名前を変更します。

最後に動作します。ノアムセゲブに感謝します。

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

+0

あなたは最高です...素晴らしい仕事です。 – risefire

+0

ねえ!私は両方のファイルをダウンロードしました。私はそれが正しいと私に教えてください - 私はあなたが示唆したように両方のファイルの名前を変更する必要がありますし、両方をジップし、iconv.jarに名前を変更? (これは私のプロジェクトでも "iconv"と呼ばれています)。 –

関連する問題