第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