我在Windows 7上,在Cygwin 1.7.13中使用javah。我目前正在嘗試爲我的Android項目生成本機C++文件的頭文件。在項目的根「在命令行上沒有指定類」錯誤運行javah
運行,我執行的命令是:
[email protected] /cygdrive/c/Users/walb/stuff/work/workspace/SoundBites
$ javah -verbose -d jni/ -classpath bin/classes uk.co.biogen.SoundBites.activity.SoundBitesActivity
導致:
error: cannot access uk.co.biogen.SoundBites.activity.SoundBitesActivity
class file for uk.co.biogen.SoundBites.activity.SoundBitesActivity not found
javadoc: error - Class uk.co.biogen.SoundBites.activity.SoundBitesActivity not found.
[ Search Path: C:\Program Files\Java\jdk1.6.0_22\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\sun
rsasign.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\charsets.j
ar;C:\Program Files\Java\jdk1.6.0_22\jre\classes\bin/classes ]
Error: No classes were specified on the command line. Try -help.
的topics的Most我已經readindicate我」 ve得到了正確的-classpath
參數。該錯誤消息的有趣的一點是:
[ Search Path: C:\Program Files\Java\jdk1.6.0_22\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\sun
rsasign.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_22\jre\lib\charsets.j
ar;C:\Program Files\Java\jdk1.6.0_22\jre\classes\bin/classes ]
在該列表中的最後一條路徑是C:\Program Files\Java\jdk1.6.0_22\jre\classes\bin/classes
,這表明JAVAH被解釋的說法完全錯誤。我認爲唯一可以幫助的是調用javah的另一種方式,但將其目錄添加到PATH是我能想到的唯一方法。
對不起,我已經回到這麼晚了。嘗試了你的想法 - 可悲的是不行,'bin/classes'被認爲是正斜槓。不過不要擔心,我最終放棄了試圖讓NDK工作,而是實現了我想要的Android。謝謝! – 2012-08-07 10:12:56