我正在嘗試爲簡單的NDK項目創建一個.h頭文件。使用Cygwin我瀏覽到myprojectDIR\jni
目錄下,然後執行此命令:Javah錯誤android.app.Activity未找到
javah -o com_myproject_MyActivity.h -classpath myprojectDIR\bin\classes com.myproject.MyActivity
則出現此錯誤消息:
Error: cannot access android.app.Activity
class file for android.app.Activity not found
我有內部MyActivity
類中的本地方法,所以我試圖創建一個新的類名爲NativeAccess
(不擴展android SDK中的任何類),並且它工作正常,.h文件已創建,ndk-構建並在設備上測試成功!
所以我的問題是,我需要我創建的Android活動和服務中的我的本地方法,但我不能這樣做,因爲Javah
命令無法從android-sdk本身內部訪問類。請注意,我使用的語言(Windows-7 64位),我有這些環境變量:提前
ANDROID_NDK : C:\Android\android-ndk-r7b
ANDROID_SDK : C:\Android\android-sdk
ANT_HOME : C:\ANT\apache-ant-1.8.3
JAVA_HOME : C:\Program Files\Java\jdk1.7.0_02
PATH : %JAVA_HOME%\bin;%ANDROID_SDK%\tools;%ANDROID_SDK%\platform-tools;%ANDROID_NDK%;%ANT_HOME%\bin; (other unrelated stuff)
感謝
你需要在你使用這個工具的類路徑中包含android平臺的jar(s)。如果你的任務特別簡單,你可以手動創建標題,使用ndk樣本作爲指導。 –
謝謝克里斯,我曾考慮過用javah工具添加android jar(s)的classpth,但是我找不到如何去做。 –