閱讀141 返回首頁    go 阿裏雲 go 技術社區[雲棲]


jni使用基礎(四)之javah生成頭文件

 

javah使用:幫助我們生成頭文件的工具

 

怎樣使用javah?

1.先在命令行下運行:javah。如果能執行java而不能執行javah,就需要配置環境變量。

2.cd進入到java的目錄文件下,先用javac把.java文件生成.class文件。

3.在.class文件目錄下執行javah,生成頭文件(注意:.class文件要在相對應的包目錄結構下)

如:用eclipse的工程,在bin/classes目錄下com/devchina/ndk/DevActivity,需要在classes的目錄下使用:

       javah com.devchina.ndk.DevActivity生成.h文件

 

怎樣使用javah生成的頭文件?

通過javah生成的頭文件為:包名+類名.h 的文件。

把.h拷貝到jni目錄下,並根據.h中生成的內容,編寫相應的.c文件。(注意:要在c文件開頭include"*.h"文件)

然後再寫Android.mk文件。通過Ndk進行編譯,生成.so文件。

最後在相應的java類中,load相應的so文件。

 

例:

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

JNIEXPORT jstring JNICALL Java_com_hd_ndk2_DemoActivity_hello
  (JNIEnv * env, jobject clazz){

	return (*env)->NewStringUTF(env,"hello");
}


 

最後更新:2017-04-02 17:09:25

  上一篇:go jni使用基礎(五)之ndk常見錯誤
  下一篇:go 用戶體驗是個什麼東西?用戶體驗如何評價好壞?怎樣用一句話描述用戶體驗評價方法的核心?