- 编写java类:
package org.haol.jni.sample;
public class HelloJni {
public native void hello(String str);
static {
System.loadLibrary("JNITest");
}
public static void main(String[] args) {
new HelloJni().hello("JNI");
}
}
- 通过class文件生成c++头文件:如,
D:\Program\Jni>javah -jni -classpath ./bin org.haol.jni.sample.HelloJni
- 实现c++文件:
#include "HelloJni.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_org_haol_jni_sample_HelloJni_hello
(JNIEnv *env, jobject obj, jstring str){
const char * s = env->GetStringUTFChars(str, false);
printf("Hello, %s", s);
env->ReleaseStringUTFChars(str, s);
}
- 生成dll动态链接库:
我是通过vs2010建立Win32项目DLL类型, 头文件,源文件弄进去,Build一把,把Debug目录下DLL文件,放到java项目根目录, 如图

- 收工。