-1

我的应用程序使用了一个共享库,比如说,mylib.so

mylib.iso想从任何一个lib1.solib2.so根据某些条件使用 API。

两者都lib1.so提供lib2.so完全相同的 API 集。

我只能mylib.iso在加载后计算条件。它不依赖于来自lib1.solib2.so但我不能从 java 做的 API:

static {
   if(nativeHasCondition()) System.loadLibrary("lib1");
   else System.loadLibrary("lib2");
}
System.loadLibrary("mylib");

}

因为nativeHasCondition()mylib.so.

所以,我想我会根据我的本地代码中的一些计算以某种方式加载lib1.solib2.iso从我的本地代码加载。

我怎么做?

4

2 回答 2

1

如果 nativeHasCondition() 是 mylib.so 的方法,那么你必须先加载 mylib.so。然后你可以按照条件。

于 2012-06-06T06:06:11.603 回答
0

也许您应该将该代码放入一个单独的库中并首先加载它。如果您需要测试 cpu 上限,可能您应该从 java 中执行此操作,然后加载适当的库(只要您设法加载 mylib.so,它应该在其导入部分引用 lib1.so 或 lib2.so)。

于 2012-06-08T23:00:12.850 回答