zl程序教程

您现在的位置是:首页 >  系统

当前栏目

系统JNI调用和使用

系统 调用 JNI 使用
2023-09-14 09:04:20 时间

5.3 JNI调用
 5.3.1 Android JNI知识简介
 5.3.2 载入.SO中的JNI函数的方法
 5.3.3 如何使用JNI函数
5.3.1 Android JNI知识简介
 JNI知识简介
 Java Native Interface (JNI)标准是java平台的一部分,它允许
Java代码和其他语言写的代码进行交互。  JNI 是本地编程接口,在 Java 虚拟机 (VM) 内部运行的 Java
代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用
程序和库进行交互操作
 JNI 在android 的作用
 弥补java不能直接调用驱动的方法的缺点
 实现java调用C/C++或者反向调用,在android起着承上启下的作

5.3.2 载入.SO中的JNI函数的方法
 JAVA应用程序必须靠Dalvik虚拟机来执行,在执行过
程中,在Java类需要调用JNI函数前,VM必须先载入
JNI函数所在的库(*.so)
 载入库的两种方法(时机)  需要调用JNI函数时,在java中通过 System.loadLibrary(
库名)调用相应库函数JNI_OnLoad()
 在android系统启动过程中, 执行JNI_OnLoad()函数注册

5.3.3 如何使用JNI函数
 C/C++
 JNI函数的声明(JNINativeMethod)  在JNI_OnLoad() 函数中,通过
jniRegisterNativeMethods(…, “java 类名”, …)
注册到java runtime中  Java中声明JNI函数为native 函数
 private/public/protected native 返回值 函数名()
 使用方法与一般函数一致