Android JNI開發生成.h頭文件問題


在JNI開發中,首先要將建立的anroid類編譯成.h文件,編譯用到命令javah,由於第一次用,以前對java的編譯過程也不怎么了解,所以走了好多彎路,網絡沒有對這一步的詳細介紹,這里講一下:

通過DOS命令執行,(1)開始-》運行-》cmd->進入dos命令操作界面

在命令行中輸入javah -classpath bin\classes -d jni com.sirc.jni.HelloWorld 

通過輸入javah 可以看到以下結果:
用法:javah [選項] <類>

其中 [選項] 包括:

        -help                 輸出此幫助消息並退出 
        -classpath <路徑>     用於裝入類的路徑 
        -bootclasspath <路徑> 用於裝入引導類的路徑 
        -d <目錄>             輸出目錄 
        -o <文件>             輸出文件(只能使用 -d 或 -o 中的一個) 
        -jni                  生成 JNI樣式的頭文件(默認) 
        -version              輸出版本信息 
        -verbose              啟用詳細輸出 
        -force                始終寫入輸出文件

這表明:-classpath是用來裝入類的路徑的,而前面我們已經進入了項的根路徑d:\workspace\ar\jnitest目錄,所以-classpath只要裝載HelloWorld.class類文件的bin\classes目錄,-d用來指定輸出路徑,一般在項目根路徑下面新建一個jni文件夾用來存儲c文件,所以,-d后面輸入jni,最后是報名+類名

執行過后可以在jni文件夾下面看到生產的.h頭文件com_sirc_jni_HelloWorld.h,生成成功。

注意:路徑一定要對應正確,我剛開始一直錄入有問題,不行的話可以直接輸入全路徑:

javah -classpath D:\workspace\ar\jnitest\bin\classes -d jni com.sirc.jni.HelloWorld

 

但是我用的時候提示javah不是內部程序或外部程序,原來是環境變量中jdk的參數掉了,重新設置一下

 

path中添加:C:\Program Files (x86)\Java\jdk1.6.0_18\bin;C:\Program Files (x86)\Java\jre6\bin

classpath新建或添加:C:\Program Files (x86)\Java\jdk1.6.0_18\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.6.0_18\lib\tools.jar

java_home新建:C:\Program Files (x86)\Java\jdk1.6.0_18

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM