1.在eclipse中新建一个JNITest的工程,新建一个package com.example.test。
2.在com.example.test下新建一个类HelloWorld,代码如下:
package com.example.test; public class HelloWorld { public native void displayHelloWorld(); static { System.loadLibrary("jniTest"); } public static void main(String[] args) { System.err.println("TEST:"); new HelloWorld().displayHelloWorld(); }}
3.运行cmd,定位到JNITest根目录下,mkdir新建jni文件夹,
运行命令 javah -classpath bin -d jni com.example.test.HelloWorld
会在jni文件夹下生成 com_example_test_HelloWorld.h
4.打开vs2010新建一个名为jniTest的win32控制台项目:
点击确定->下一步,选中dll,附加选项中选择空项目:
5.将我们刚javah出来的h文件复制到jniTest工程目录下的jniTest文件夹下,在jniTest工程中添加头文件,现有项,在弹出来的对话框选择com_example_test_HelloWorld.h文件;
6.将java jdk安装目录中的include\jni.h include\win32\jni_md.h两个文件复制到与com_example_test_HelloWorld.h同一目录下:
7.在vs2010工程jniTest新建一个C++源文件,命名为hello.cpp,代码如下:
#include "com_example_test_HelloWorld.h"#includeJNIEXPORT void JNICALL Java_com_example_test_HelloWorld_displayHelloWorld(JNIEnv * env, jobject obj){ printf("Hello World,ponpon\n");}
将com_example_test_HelloWorld.h内的#include <jni.h>改为#include "jni.h",编译之,若成功在Debug下生成jniTest.dll。
8.回到Eclipse中,右击工程,选择”Import“导入:
选择File System指定到vs2010工程jniTest的Debug下,选择jniTest.dll:
单击finish,并编译,控制台输出如下: