JNI中javah命令的使用,生成.h的頭文件

cd D:\AndroidWork\NdkTest\bin\classes
javah -jni com.example.ndktest.MainActivity

參考:http://blog.sina.com.cn/s/blog_6e4511450100yq3d.html 

 最近一直在折騰這個JNI和Android NDK,今天經過javah生成h文件時遇到各類問題。無論是javah -classpath參數啊仍是別的什麼,一直都沒法成功經過class文件生成h文件。通過一個多小時的查詢也探索,如今終於成功編譯出來了~html

    調用javah文件時,須要在cmd命令行模式裏面進入bin文件夾,裏面存放着工程中全部的.class文件。隨後調用:javah -classpath . -jni 包名.類名。java

例:測試

javah -classpath . -jni com.buaa.testjni.TestJNIspa

    此時就能夠調用成功,生成對應的.h文件。命令行

    如今我在嘗試寫出本身的JNI接口程序,繼續努力啊……!3d

////////////////////////////////////////////////////////code

PS:本人須要進入classes目錄才行。如:orm

cd D:\AndroidWork\NdkTest\bin\classes
javah -classpath . -jni com.example.ndktest.MainActivity


此時會生成一個.h的C/C++頭文件,默認是C語言的。htm


爲何加-classpath .呢?原來我安裝JDK的時沒有配置CLASSPATH的 . 路徑,默認執行javah所在目錄爲JAVAHOME/lib  ,因此lib目錄下怎麼會有com.example.... ?blog


又因此,立刻更正環境變量

CLASSPATH 
 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

關掉CMD,從新打開測試


成功生成.h頭文件,放到jni目錄去吧, 去實現你接口的內容。快哭了

相關文章
相關標籤/搜索