在Android中,如何在jni_onLoad方法中加载其他共享库

In Android ,How to load other shared library in jni_onLoad method?

本文关键字:方法 加载 共享 onLoad 其他 jni Android      更新时间:2023-10-16

在我的android项目中,有两个共享库a.so和b.so,现在,我想在a.so中的jni_onload方法中加载b.so,我已经写了dlopen、dlsym,可以找到它们的返回,但它也需要一个classLoader,我下一步该怎么办,你能给我一些建议吗?非常感谢。

您可以使用dlopen,然后在具有dlsym的另一个库中搜索JNI_OnLoad,如果该另一个库在JNI_OnLoad中注册了所有本机,则运行它(推荐)。如果需要使用延迟解析,则需要从JNI_OnLoad而不是dlopen调用System.loadLibrary()