java – 在Android App中加载多个本机库的最佳方法

我有一个应用程序,它使用3个不同的JAR库…让我们称之为a.jar,b.jar和c.jar.

这些JARS中的每一个都有一个伴随的本地C共享对象.

现在,a.jar和b.jar都导入并使用c.jar.

所以,我的问题是 – 使用system.loadLibrary加载本机库时最好的方法是什么?
我可以从我的应用程序代码中加载它们,还是必须由相应的JAR加载?
如果我从相应的JAR文件加载它们,将加载到一个单独的线程?

最佳答案 加载本机库是Classes的责任.

让我们假设每个jar文件也有一个名为A,B和C的类.所有这些类都需要加载它们的本机伴随,最有可能是通过静态方式.

class A { 
    static { 
        System.loadLibrary(“A”); 
    }

    C c;
} 

class C { 
     static { 
         System.loadLibrary(“C”); 
     }
} 

在这种结构中,当你访问A类时,它将是加载和初始化类C的类加载器.

点赞