【发布时间】:2014-02-19 10:05:24
【问题描述】:
我有两个jar库使用同一个共享库的情况。
在每个库中,“主界面”类加载带有System.loadLibrary 的.so 文件。
我的问题是:如果用户决定在一个项目中使用这两个 jar 库,那么对同一 .so 文件的第二次调用 System.loadLibrary 会导致任何异常吗?还是系统“以某种方式处理”以防止共享库被加载两次?或者也许有一种“众所周知的模式”来处理这种情况?
jni 包装器的目标是在 android 上使用。我是这两个包装器库的作者,因此回答您可以完全控制 Java 源代码。
【问题讨论】:
-
我没有测试过,但是根据apidocs应该没有问题:“如果这个方法被多次调用,同一个库名,第二次和后续的调用都会被忽略。”
-
谢谢,它似乎完全回答了我的问题。把它作为答案而不是评论,以便我可以接受它。
标签: java android c++ java-native-interface