上篇Android NDK开发-静态注册JNI Demo(二)介绍了简单的一个demo,demo中java的native函数方法名
与C函数是通过Java_包名_类名_方法名
一一对应,这种方式称为静态注册。但是当C代码已经完成,就没办法实现和java函数名称一一对应了,所以静态注册就没法实现了。有静态注册那肯定对应的有动态注册,动态注册JNI刚好能实现函数名称不对应这种场景。
- JNINativeMethod由三部分组成,可添加多组对应:
- (1)Java中的函数名;
- (2)函数签名,格式为(输入参数类型)返回值类型;
- ()Ljava/lang/String; ()表示无参,Ljava/lang/String;表示返回String,在对象类名(包括包名,‘/’间隔)前面加L,分号结尾
- (3)native函数名