android中jni的调用过程,Android 调用jni的过程简述

第1步:在Java中先声明一个native方法

第2步:编译Java源文件javac得到.class文件

第3步:通过javah -jni命令导出JNI的.h头文件

第4步:使用Java需要交互的本地代码,实现在Java中声明的Native方法(如果Java需要与C++交互,那么就用C++实现Java的Native方法。)

第5步:将本地代码编译成动态库(Windows系统下是.dll文件,如果是Linux系统下是.so文件,如果是Mac系统下是.jnilib)

第6步:通过Java命令执行Java程序,最终实现Java调用本地代码。

1、 在Java中先声明一个native方法,以HelloWorld.java类为例 如图:

image.png

2、编译Java源文件javac得到.class文件

1> 打开Android studio的Terminal 窗口

2> cd 到HelloWorld类的路径下。如图:

image.png

3>输入javac HelloWorld.java 然后回车:会生成一个HelloWorld类的class文件。(注:如果Android studio的是UTF-8,这个地方会报错,CMD命令行运行java程序的时候,系统默认的编码格式是gbk,所以需要 用-encoding指令来为文件指定编码格式, javac -encoding UTF-8 HelloWorld.java)

image.png

3、通过javah -jni命令导出JNI的.h头文件

1>通过Terminal 命令行 cd 到 Java文件夹的路径下。 如图:

image.png

2

你可能感兴趣的:(android中jni的调用过程,Android 调用jni的过程简述)