JNI静态注册

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值