0

私はAPVpdfリーダーに取り組んでいます。エラーに直面していSystem.loadLibrary("pdfview2");ます。それは与えてjava.lang.UnsatisfiedLinkerrorいます。
この問題を修正するにはどうすればよいですか?Android-NDKもインストールしましたが、ネイティブライブラリをロードする方法がわかりません。完全な混乱。この問題を解決する方法を教えてください。

09-26 12:51:44.243: E/AndroidRuntime(2537): FATAL EXCEPTION: main
09-26 12:51:44.243: E/AndroidRuntime(2537): java.lang.ExceptionInInitializerError
09-26 12:51:44.243: E/AndroidRuntime(2537):     at cx.hell.android.pdfview.OpenFileActivity.getPDF(OpenFileActivity.java:541)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at cx.hell.android.pdfview.OpenFileActivity.startPDF(OpenFileActivity.java:502)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at cx.hell.android.pdfview.OpenFileActivity.onCreate(OpenFileActivity.java:219)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.os.Looper.loop(Looper.java:123)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at android.app.ActivityThread.main(ActivityThread.java:3683)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at java.lang.reflect.Method.invokeNative(Native Method)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at java.lang.reflect.Method.invoke(Method.java:507)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at dalvik.system.NativeStart.main(Native Method)
09-26 12:51:44.243: E/AndroidRuntime(2537): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load pdfview2: findLibrary returned null
09-26 12:51:44.243: E/AndroidRuntime(2537):     at java.lang.Runtime.loadLibrary(Runtime.java:429)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at java.lang.System.loadLibrary(System.java:554)
09-26 12:51:44.243: E/AndroidRuntime(2537):     at cx.hell.android.lib.pdf.PDF.<clinit>(PDF.java:25)
09-26 12:51:44.243: E/AndroidRuntime(2537):     ... 16 more

こんにちは私はログレポートを添付しました。その与える:-原因:java.lang.UnsatisfiedLinkError:pdfview2をロードできませんでした:findLibraryがnullを返しました

4

4 に答える 4

3

プロジェクトをビルドしたら、結果の .so を libs/ フォルダーで探します。ARM 用にビルドしている場合、.so を含む armeabi または armeabi-v7a フォルダーはありますか? APP_ABI変数を使用して、jni/Application.mk でサポートするアーキテクチャを設定できます。

APP_ABI := armeabi armeabi-v7a x86 mips

サポートされている可能性のあるすべてのアーキテクチャのライブラリを構築します。

Android の動的リンカーは機能がなく、ライブラリの依存関係を自動的に読み込まないことを忘れないでください。たとえば、gnustl_shared で C++ コードを使用している場合、リンクされているライブラリの前にそれをロードする必要があります。

static {
    System.loadLibrary("gnustl_shared");
    System.loadLibrary("a_cplusplus_library");
}
于 2012-09-26T18:03:44.090 に答える
0

libs フォルダーに libpdfview2.so があることを確認してください。

http://code.google.com/p/apv/issues/detail?id=42
Android - 「Foo を読み込めませんでした: findLibrary が null を返しました」

于 2012-09-26T07:35:59.807 に答える
0

私の経験では、この失敗のもう 1 つの理由は、libs/armeabi-v7a ではなく、libs/armeabi の存在です。libs/armeabi の内容を libs/armeabi-v7a という名前の新しいフォルダーにコピーします。

于 2015-12-04T16:03:50.737 に答える