JNI
静态注册:
- Jave的native 方法
- 用javah 生成对应的头文件,执行命令 javah packagename.classname
- 实现JNI里面的函数,再在Java中通过System.loadLibrary加载so 库即可
静态注册关键词:JNIEXPORT 和 JNICALL 宏定义
主要是注明该函数是JNI 函数,当虚拟机加载 so 库时,如果发现函数含有这两个宏定义时,就会链接到对应的 Java 层的 native 方法
javah 命令示例:
javah -classpath D:\我的文档\workspace\PrepareForExam\bin -d d:/ -jni com.example.myclass.jni_test
-classpath <路径> 用于装入类的路径
-d <目录> 输出目录
-jni 生成 JNI样式的头文件(默认)
javah -classpath D:\yourProject\app\src\main\java xxx.xxx.xxx.GPIOControl
问题
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
https://blog.youkuaiyun.com/yuanjingjiang/article/details/34857623

本文深入解析JNI静态注册机制,涵盖Java native方法实现流程,从使用javah生成头文件到实现JNI函数,再到通过System.loadLibrary加载so库。详细介绍静态注册关键词JNIEXPORT和JNICALL的用途,及如何链接Java层的native方法。
389

被折叠的 条评论
为什么被折叠?



