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
:topicsの
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.
Most私は「readindicateをしました-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 ]
そのリスト内の最後のパスがjavahが、完全に間違った引数を解釈していることを示しC:\Program Files\Java\jdk1.6.0_22\jre\classes\bin/classes
、です。私が考えることができるのは、javahを呼び出す代わりの方法ですが、PATHにそのディレクトリを追加することは、私が考えることができる唯一の手段です。ただ、私はネイティブのAndroidに何を望むか実装
javah -verbose -d jni/ -classpath ;bin/classes uk.co.biogen.SoundBites.activity.SoundBitesActivity
申し訳ありませんが私はこれほど遅くこれに戻ってきました。あなたのアイデアを試してみました - 悲しいことにうまくいきません。「ビン/クラス」にはスラッシュが付きます。しかし、心配しないでください。私は結局、NDKを動かすことをやめて、代わりにAndroidで必要なものを実装しました。ありがとう! –