サード パーティ製の Android 用共有ライブラリを使用する必要があります。ライブラリの soname とファイル名は、Linux で一般的な libxx.so.1.2.3 の形式で同じです。lib ファイルの名前を libxx.so に変更し、ndk-build を使用して libmyjni.so 内の libxx.so をリンクします。私の Java コードでは、libmyjni.so の関数を呼び出す前に、次のようにロードします。
System.load("/data/local/tmp/libxx.so.1.2.3");
System.loadLibrary("myjni");
libxx.so.1.2.3 を手動で /data/local/tmp/ にコピーする必要があります。上記のロードの後、libmyjni.so で関数を呼び出すことができます。
コード「System.loadLibrary("myjni");」では、システムは常にどこかから libxx.so.1.2.3 を取得しようとしています。現実の世界では、インストール中に libxx.so.1.2.3 を Android デバイスの特定の場所にコピーするにはどうすればよいですか? System.load() できるようにします。
または、Android には、自作の lib を /system/lib/ にインストールする公式の方法がありますか?
libxx.so.1.2.3 の形式が libxx.so の場合、 System.loadLibrary("xx") を使用してロードできます。