私は C++ ライブラリを持っており、それを Android の世界にエクスポートするための JNI コードをいくつか作成しました。JNI インターフェイスを使用する Android アプリも作成しました。
ライブラリを使用するために、すべての *.java および *.h / *.cpp ファイルを Eclipse アプリ プロジェクトにインポートし (適切なフォルダーに)、NDK 用の *.mk ファイルを作成しました。ndk-build でライブラリをコンパイルし、Eclipse でターゲット デバイスにロードしました。アプリは正常に動作します。
ここで、アプリをライブラリから分離したいと思います。そこで、JNI インターフェースの Java ファイルを含む name.jar をコンパイルしてから、C++ 用の ndk-build を使用して libname.so をコンパイルしました。次に、name.jar を newproject/libs に、libname.so を newproject/libs/armeabi に配置します。ライブラリのソース コードなしで作成した "newproject" アプリを考えてみましょう (ソース コードは公開したくありません。.jar と .so だけです)。
その結果、LogCat へのメモリ ダンプを伴うアプリのクラッシュが発生します。System.loadLibrary("name") を静的コンテキストで使用しました。
誰でも私を助けることができますか?