JNI native方法注册的两种方式

Posted mua马马马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JNI native方法注册的两种方式相关的知识,希望对你有一定的参考价值。

NDK native develop kit 原生开发工具集

优点:复用、提高性能、防逆向

缺点:开发复杂

JNI java native interface 

用于java 和 c/c++的交互,jni是jvm的一部分,可以在所有java虚拟机中运行,实现跨平台复用

JNI native方法注册的两种方式

静态注册(jvm实现):

1、编写带有native方法的Java类

2、使用Javah命令生成.h头文件

3、编写代码实现头文件中的方法 

动态注册(开发者实现):

1、在cpp文件中实现JNI_OnLoad方法

2、定义JNINativeMethod数组,用于关联c/c++方法和java方法,JNINativeMethod包含3个参数:java函数名、java参数描述、c/c++函数指针

3、在JNI_OnLoad方法中调用RegisterNatives方法,传入JNINativeMethod数组进行注册

以上是关于JNI native方法注册的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

转深入了解android平台的jni---注册native函数

注册JNI函数的两种方式

JNI通过动态注册实现native函数

Android NDK- JNI 注册 Native 方法

Android NDK- JNI 注册 Native 方法

Android 动态注册JNI函数