项目需要,在linux平台下的第一个JNI调用测试程序:
1.编写JAVA程序如下:
 
public class JniTest
{
 public native void display();
static
{
 System.loadLibrary("jnitest");
}
public static void main(String[] args)
{
 JniTest test=new JniTest();
 test.display();
}
}
 
2.编译
使用javac JniTest.java得到JniTest.class文件
3.生成JniTest.h头文件
javah  JniTest.java
生成的头文件JniTest.h如下所示:
 
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JniTest */
#ifndef _Included_JniTest
#define _Included_JniTest
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     JniTest
 * Method:    display
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_JniTest_display
  (JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
 
4.编写JniTest.c 文件
 
#include <jni.h>
#include "JniTest.h"
JNIEXPORT void JNICALL Java_JniTest_display(JNIEnv * env , jobject obj)
{
printf("hello,jnitest\n");
}
 
5.编译生成动态库
gcc -c JniTest.c 生成JniTest.o文件
gcc -shared -fPIC -o libjnitest.so JniTest.o
注意:库的名字与JAVA文件中载入的库名要一致。
 
6.结果:
 
root@ubuntu2:/java# java JniTest
hello,jnitest
 
完!