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.csdn.net/yuanjingjiang/article/details/34857623