1.在eclipse中新建一个JNITest的工程,新建一个package com.example.test。
2.在com.example.test下新建一个类HelloWorld,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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,代码如下:
1
2
3
4
5
6
7
8
|
#include "com_example_test_HelloWorld.h"
#include <stdio.h>
JNIEXPORT
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,并编译,控制台输出如下: