2016-06-24 6 views
0

armeabi .soファイルをAndroidスタジオプロジェクトに追加しようとしています。 SDKの.jarファイルにアクセスします。基本的に私はBrothers Printers SDKを使用しており、アプリでそれらを統合しています。 は、問題は、.jarファイルをアンドロイドStudioプロジェクトにピックアップされているが、私はSDKのメソッドにアクセスしようとすると、それは私に、このエラーを与えている:Androidスタジオのネイティブ.soファイルにアクセスできない

java.lang.UnsatisfiedLinkError: Couldn't load createdata from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.wingoku.printerapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wingoku.printerapp-1, /vendor/lib, /system/lib]]]: findLibrary returned null 
at java.lang.Runtime.loadLibrary(Runtime.java:358) 
at java.lang.System.loadLibrary(System.java:526) 
at com.brother.ptouch.sdk.JNIWrapper.<clinit>(JNIWrapper.java:16) 
at com.brother.ptouch.sdk.Printer.setPrinterInfo(Printer.java:887) 
at com.wingoku.printerapp.print.printprocess.BasePrint.setPrinterInfo(BasePrint.java:73) 
at com.wingoku.printerapp.print.printprocess.BasePrint$PrinterThread.run(BasePrint.java:433) 

私はarmeabiフォルダを入れて試してみましたsrc/main/jniLibsの中では.soのファイルが取得されていないため、上記の例外が発生しています。

私はそれを解決できますか?

答えて

0

私を助けた方法は次のとおりです。

デスクトップ名のディレクトリを作成し、それは「libに」* .soというファイルを使用してjnilibsフォルダを取るとlibに貼り付け 。

zip your libフォルダ 、その後.zipから

は今、依存関係にこの行を追加することで、プロジェクトのあなたのlibsフォルダにこれをコピーして、Gradleの更新lib.ziplib.jarにある.jar にその拡張子を変更します。

compile fileTree(include: 'lib.jar',dir:'libs')

これは、jnilibsをロードする最も安全な方法です。私はopencvライブラリでそれを適用しました

問題が解決しない場合は、あなたのアプリにNDK-rootのリファレンスを追加してください。

これが役に立ちます。

関連する問題