-1

私のアプリは共有ライブラリを利用しています。たとえば、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ネイティブ コードから何らかの方法でロードする必要があると思います。

それ、どうやったら出来るの?

4

2 に答える 2

0

おそらく、そのコードを別のライブラリに作成し、最初にロードする必要があります。CPU キャップをテストする必要がある場合は、おそらく Java から実行してから、適切なライブラリをロードする必要があります (インポート セクションで lib1.so または lib2.so を参照する必要がある mylib.so をロードできる限り)。

于 2012-06-08T23:00:12.850 に答える