Linuxで.soファイルとしてコンパイルされた他の外部ネイティブライブラリが必要なNDK共有ライブラリを実装しようとしました。
次の関係があります: libl1 は libl2 に依存します。
ビルド済みの libl2.so を共有として試し、libl1 モジュールに追加しました。次のようにlibl1をロードすると、すべてが正常にコンパイルされ、LG Nexus 4で正常に動作します。
static {
System.loadLibrary('l1');
}
ただし、Samsung 4.03 Android バージョンでは動作しません。このデバイスでは、次のコードで動作します。
static {
System.loadLibrary('l2');
System.loadLibrary('l1');
}
Android ClassLoader が依存関係を読み込めないことがわかりました。しかし、Nexus 4 で正常に動作するのはなぜですか? しかし、Samsung デバイスではありませんか?