需要在Android中使用第三方共享库,该库的soname和文件名相同,格式为libxx.so.1.2.3,这在Linux上很常见。我将库文件重命名为libxx.so,并在ndk-build中链接libmyjni.so中的libxx.so。在我的Java代码中,在调用libmyjni.so中的函数之前,我会像这样加载它们:
System.load("/data/local/tmp/libxx.so.1.2.3");
System.loadLibrary("myjni");
我必须手动将libxx.so.1.2.3复制到/data/local/tmp/。 这样做很有效,在以上加载后,我可以调用libmyjni.so中的函数。
在代码“System.loadLibrary(“myjni”);”中,系统总是试图从某个地方获取libxx.so.1.2.3。 我想知道,在现实世界中,我如何在安装过程中将libxx.so.1.2.3复制到Android设备上的特定位置?这样我就可以使用System.load()加载它。
或者Android有官方方法将自制库安装到/system/lib/吗?
如果libxx.so.1.2.3格式为libxx.so,则我可以使用System.loadLibrary(“xx”)来加载它。