Javah生成JNI头文件

首先确保java的环境变量配置好了。

1:打开cmd 进入doc命令窗口:

进入class所在目录,我的class是在F:summerVacation dkhelloworldinclasses(不要跟包名)



我项目class文件的根目录(后面是包名及class文件): 包名为(com.pl.demo1)




3. 执行javah - jni com.pl.demo1.MainActivity(com.pl.demo1是包名 有包名必须跟包名)


4.在F:summerVacation dkhelloworldinclasses生成了我们所要的文件(com_pl_demo1_MainActivity.h):



5.复制到我们项目的(生成文件具体如下所示):



6.下面我要在Hello.c中使用 (引入生成的.h文件,拷贝方法签名):

#include <stdio.h>
#include <jni.h>
#include "com_pl_demo1_MainActivity.h"

JNIEXPORT jstring JNICALL Java_com_pl_demo1_MainActivity_getHelloString
  (JNIEnv * env, jobject obj){
	return (*(*env)).NewStringUTF(env,"1.hello world!");
}
JNIEXPORT jstring JNICALL Java_com_pl_demo1_MainActivity_get_1Hello_1String
  (JNIEnv * env, jobject obj){
	return (*env)->NewStringUTF(env,"2.__hello___!");
}




原文地址:https://www.cnblogs.com/riasky/p/3430659.html