简单记录jni开发流程

  • 编写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项目根目录, 如图
简单记录jni开发流程_第1张图片


简单记录jni开发流程_第2张图片

  • 收工。




你可能感兴趣的:(java,jni)