JNI相关

JNI函数的注册方法:

1. 静态方法:

a. 将编写好的java文件编译生成class文件(java 方法中带native关键字)

b.使用javah  javah -o output package.classname  生成output.h 头文件

c. 实现头文件中的方法



2 动态注册


JNINativeMethod 结构体

typedef struct {

const char* name; // java中native函数的名字,不用携带包路径

const char* signature; //java函数的签名信息,是参数类型和返回值类型的集合

void* fnPtr;// JNI曾对应函数的函数指针,

} JNINativeMethod;


AndroidRunTime 类提供了一个registerNativeMethods函数来完成注册工作,(实际上是JNIEnv 的registerNatives函数完成注册的)


当java层通过System.loadLibrary加载完JNI动态库后,紧接着在该库中查找JNI_OnLoad的函数,动态注册的工作在盖函数中完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值