私のアプリは共有ライブラリを利用しています。たとえば、mylib.so
これは、いくつかの条件に応じて、またはmylib.isoいずれかから API を使用したいと考えています。lib1.solib2.so
lib1.soとはlib2.soまったく同じ API セットを提供します。
条件を計算できるのは、mylib.isoロードされた後だけです。lib1.soorの API には依存しませlib2.soんが、java からはできません。
static {
if(nativeHasCondition()) System.loadLibrary("lib1");
else System.loadLibrary("lib2");
}
System.loadLibrary("mylib");
}
nativeHasCondition()入っているのでmylib.so。
したがって、ネイティブ コードでの計算に応じて、lib1.soまたはlib2.isoネイティブ コードから何らかの方法でロードする必要があると思います。
それ、どうやったら出来るの?