1, WIndo环境下JNI的使用步骤
1) 编写JAVA 项目,定义native方法
2) 使用javah 编译生成头文件,
3) 利用生成的头文件,实现要调用的方法,生成.dll文件
4) 在path 路径下配置.dll文件的路径,供系统识别
2,Linux下JNI的使用步骤
、创建一个java文件(HelloWorld.java)。
- class HelloWorld {
- static {
- System.loadLibrary("HelloWorld");
- }
- private native void print();
- public static void main(String args[]) {
- new HelloWorld().print();
- }
- }
2、使用javac命令编译该java文件,在终端输入"javac HelloWorld.java"。生成HelloWorld.class.
3、使用javah命令生成头文件。在终端输入"javah -jni HelloWorld", 生成HelloWorld.h
4、使用本地方法实现头文件中的方法。
- #include <jni.h>
- #include <stdio.h>
- #include "HelloWorld.h"
- JNIEXPORT void JNICALL Java_HelloWorld_print
- (JNIEnv *env, jobject obj)
- {
- printf("HelloWorld JNI!/n");
- return;
- }
5、用gcc编译生成so文件。
gcc -shared -I /home/xl/java/jdk1.5.0_22/include -I /home/xl/java/jdk1.5.0_22/include/linux -I /usr/include HelloWorld.c -o libHelloWorld.so
6、运行。
在终端输入java HelloWorld.
7、这时你会发现出问题了
这时java文件中loadlib时找不到这个so导致的,我们这样来运行:"java -Djava.library.path=. HelloWorld",通过设置java.library.path来找到这个so。
好了,到此为止,一个简单的HelloWorld就完成了。