我的应用程序使用了一个共享库,比如说,mylib.so
这mylib.iso
想从任何一个lib1.so
或lib2.so
根据某些条件使用 API。
两者都lib1.so
提供lib2.so
完全相同的 API 集。
我只能mylib.iso
在加载后计算条件。它不依赖于来自lib1.so
或lib2.so
但我不能从 java 做的 API:
static {
if(nativeHasCondition()) System.loadLibrary("lib1");
else System.loadLibrary("lib2");
}
System.loadLibrary("mylib");
}
因为nativeHasCondition()
在mylib.so
.
所以,我想我会根据我的本地代码中的一些计算以某种方式加载lib1.so
或lib2.iso
从我的本地代码加载。
我怎么做?