NDK を使用して、Android 用のネイティブ ライブラリ (mylib.so) を作成しています。mylib.so は libssl.so に依存しています。
Android NDK のドキュメントには、安定した API の一部ではないため、system/lib の libssl.so を使用すべきではないと書かれています。代わりに、libssl を自分でクロスコンパイルして、NDK に追加する必要があります。
しかし、mylib.so が system/lib/libssl.so に自動的にリンクされることがわかります。これは、(mylib.so をロードしている) dalvik vm が既に libssl.so に依存しているためです。
$ readelf -d /system/bin/dalvikvm | grep Shared
0x00000001 (NEEDED) Shared library: [libdvm.so]
0x00000001 (NEEDED) Shared library: [libssl.so]
0x00000001 (NEEDED) Shared library: [libz.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libstdc++.s
0x00000001 (NEEDED) Shared library: [libm.so]
では、これに対処する正しい方法は何ですか?とにかく system/lib/libssl.so を使用しますか?
ありがとう