java - 为同一个共享库调用 System.loadLibrary 两次

标签 java android c++ java-native-interface

我遇到过两个 jar 库使用同一个共享库的情况。 在每个库中,“主界面”类使用 System.loadLibrary 加载 .so 文件。 我的问题是:如果用户决定在一个项目中使用这两个 jar 库,那么第二次为同一个 .so 文件调用 System.loadLibrary 是否会导致任何异常?还是系统“以某种方式处理”以防止共享库被加载两次?或者也许有一种“众所周知的模式”来处理这种情况?

jni 包装器的目标是在 android 上使用。我是这两个包装器库的作者,因此您可以完全控制 Java 源代码。

最佳答案

根据apidocs这应该不是问题:“如果使用相同的库名称多次调用此方法,则忽略第二次和后续调用。”

关于java - 为同一个共享库调用 System.loadLibrary 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877127/

相关文章:

Java获取一周中最近传入的某一天的日期

c++ - vb.net 将数组传递给 C++ 导致堆栈错误

c++ - 为什么我们使用 char* 作为缓冲区,为什么不使用 boost::asio 中的字符串?

java - Java套接字聊天程序(聊天成员突然离开房间,没有错误)

java - 如何根据 ArrayList 包含的元素的属性返回 ArrayList 中的索引

java - 动态变量和异步

javascript - Android 版 Chrome 上的网络蓝牙未找到任何设备

android - 如何获得访问Wifi的权限?

android - 如何为 volley MultipartEntityBuilder 添加多个 Mime 类型

c++ - clang-query 和 CXXMemberCallExpr 匹配器