java System.loadLibrary

System.loadLibrary()是我们在使用Java的JNI机制时,会用到的一个非常重要的函数,它的作用即是把实现了我们在Java code中声明的native方法的那个libraryload进来,或者load其他什么动态连接库。

  1. 调用dlopen()打开一个so文件,创建一个handle。
  2. 调用dlsym()函数,查找到so文件中的JNI_OnLoad()这个函数的函数指针。
  3. 执行上一步找到的那个JNI_OnLoad()函数。

System.load会去绝对路径寻找

System.loadLibrary会去相对路径寻找(/system/lib和/data/data/包名/lib)

你可能感兴趣的:(java System.loadLibrary)