Dra*_*ara 5 java java-native-interface android jar android-ndk
我有一个使用3个不同JAR库的应用程序...让我们将它们称为a.jar,b.jar和c.jar。每个JARS都有一个随附的本机C ++共享库。
现在,a.jar和b.jar都将导入并使用c.jar。
所以,我的问题是-使用system.loadLibrary加载本地库时最好的方法是什么?我可以仅从我的应用程序代码中加载它们,还是必须由相应的JAR加载它们?如果我从相应的JAR文件中加载它们,是否会在单独的线程中加载?
加载本机库是类的责任。
\n\n让我们假设每个 jar 文件也有名为 A、B 和 C 的类。所有这些类都需要最有可能通过静态方式加载其本机同伴。
\n\nclass A { \n static { \n System.loadLibrary(\xe2\x80\x9cA\xe2\x80\x9d); \n }\n\n C c;\n} \n\nclass C { \n static { \n System.loadLibrary(\xe2\x80\x9cC\xe2\x80\x9d); \n }\n} \nRun Code Online (Sandbox Code Playgroud)\n\n在这种结构中,当您访问类 A 时,类加载器将加载并初始化类 C。
\n