私はちょうどここで壁から頭を叩き始める準備ができています。私はこの問題について私が見つけることができるすべてのSOのスレッドを読んで、問題のすべての単一のGoogleの結果を読んで、スクワットを見つけることができません。私はC++で2Dエンジンを書いたアンドロイドアプリを構築しています。そして、NDK r6bでstlportの共有バージョンを使用しています。 libstlport_sharedの.soファイルが生成され、正常に私のlibsフォルダにコピーされます。私は、デバイス上でadbシェルを使ってチェックし、.soファイルが正しくコピーされています。libstlport_sharedが存在していてもリンクできませんでしたか?
私の.mkファイルを変更して、libstlport_shared.soを必須モジュールとして明示的に宣言するなど、さまざまな解決策を試しました。コンパイル時にはすべてがうまくいって、APKに表示され、デバイスに正常にコピーされます。私の今後のゲームの超秘密の素晴らしい名前を離れて与えないよう、私は「mypackagenameの」と私の本当のパッケージ名を置き換え
09-17 17:35:26.450: DEBUG/dalvikvm(19277): Trying to load lib /data/data/ca.ascensionsystems.mypackagename/lib/libstlport_shared.so 0x476c6f30
09-17 17:35:26.450: INFO/dalvikvm(19277): Unable to dlopen(/data/data/ca.ascensionsystems.mypackagename/lib/libstlport_shared.so): Cannot load library: link_image[1995]: failed to link libstlport_shared.so
09-17 17:35:26.450: WARN/dalvikvm(19277): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lca/ascensionsystems/mypackagename/Ascengine;.<clinit>
09-17 17:35:26.450: WARN/dalvikvm(19277): threadid=8: thread exiting with uncaught exception (group=0x40025a70)
09-17 17:35:26.470: VERBOSE/WindowManager(4837): Remove Window{479ca678 Starting ca.ascensionsystems.mypackagename paused=false}: mSurface=Surface(name=Starting ca.ascensionsystems.mypackagename, identity=90) mExiting=false isAnimating=true [email protected] inPendingTransaction=false mDisplayFrozen=false
09-17 17:35:26.470: ERROR/WindowManager(4837): return in removeWindowLocked
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): FATAL EXCEPTION: GLThread 9
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): java.lang.ExceptionInInitializerError
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at ca.ascensionsystems.mypackagename.GL2JNIView$Renderer.onSurfaceChanged(GL2JNIView.java:336)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1327)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): Caused by: java.lang.UnsatisfiedLinkError: Library stlport_shared not found
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at java.lang.Runtime.loadLibrary(Runtime.java:461)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at java.lang.System.loadLibrary(System.java:557)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): at ca.ascensionsystems.mypackagename.Ascengine.<clinit>(Ascengine.java:26)
09-17 17:35:26.490: ERROR/AndroidRuntime(19277): ... 3 more
09-17 17:35:26.500: WARN/ActivityManager(4837): Force finishing activity ca.ascensionsystems.mypackagename/.mypackagenameActivity
注:しかし、私はこのエラーを取得します。 :)また、Ascengineは私の2DエンジンであるSOという別の.SOです。
誰もがこのような問題を経験しましたか?何か案は?また、libstlport_sharedのobjdumpを実行してdepsを確認しました。私はそれらがDDMSで私のデバイス上に存在し、libstlport_sharedをロードしようとする前に私のJavaコードに明示的にロードしていることを確認しました。違いはありません。前もって感謝します!
も
これは、質問への第2の、任意成分の一種です。私が思ったがまだ試していない1つの解決策は、System.load(absolutePathToLibrary)を使用することですが、java内でこのパスを生成する方法を見つけることができません。明らかな理由から、私はそれをハードコードしたくありません。再度、感謝します!
私にも同様の問題がありますか? http://stackoverflow.com/questions/11483078/library-stlport-shared-not-found-in-titanium-application – Mari