7

WINDOWS Eclipse の NDK で Android をコーディングすることを学んでいます。Sylvain Ratabouil のチュートリアル ブックに従っています。だから私は実行中です | 外部ツール | 外部ツール構成… 新しいプログラム構成を作成しています。

名前: MyProject javah

場所: ${env_var:JAVA_HOME}\bin\javah.exe

作業ディレクトリ: ${workspace_loc:/MyProject/bin}

問題は引数で発生します...引数を試してみると、本に書かれているように、–d ${workspace_loc:/MyProject/jni} com.myproject.MyActivity

実行をクリックすると取得します

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: –d

${workspace_loc:/MyProject/jni} com.myproject.MyActivity} を試す

私は得る

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: C:\Paul\Workspace\MyProject\jni

更新: 最初に -classpath を入れて実行していますが、com.myproject のクラス ファイルが見つかりません

4

6 に答える 6

5

さらに調査した後....私はやった。

引数を設定します

-d ${workspace_loc:/MyProject/jni} -classpath C:\Paul\android-sdk-windows\platforms\android-17\android.jar;${workspace_loc:/MyProject/bin/classes} com.myproject.MainActivity

于 2013-07-13T16:12:33.283 に答える
1

また、Android NDK に関する前述の本を使用する際にも、この問題に長い時間を費やしています。

次の点に注意してください: Java クラス名は では記述されません。次のように記述してください{ }com.myproject.MyActivity

パラメータは、-classpathセミコロンで区切られた複数のパスを受け取ることができます。

私の場合、このパラメーターは機能しました:

位置:

${env_var:JAVA_HOME}\bin\javah.exe

作業ディレクトリ:

${workspace_loc:/myproject/bin}

引数:

-d ${workspace_loc:/myproject/jni} -classpath ${workspace_loc:/myproject/bin/classes};"C:\Eclipse\sdk\platforms\android-18\android.jar" com.myproject.MyActivity

(ところで、正しい Adroid.jar ファイルは Eclipse プロジェクト内で参照されます。)

于 2014-07-22T19:11:49.023 に答える
1

私も今夜同じ問題に直面しています。次のように退屈でない方法を見つけました...

  1. 「場所」として、システムからjavahを設定します
  2. 「作業ディレクトリ」として、プロジェクトの bin/classes ディレクトリを設定します ( ${workspace_loc:/HelloWorld/bin/classes} )
  3. 「引数」として jni フォルダを出力ディレクトリとして設定し、javah を実行するクラスを指定します ( -d "${workspace_loc:/HelloWorld/jni}" com.example.helloworld.MainActivity ) 。

注意:: 3 番目のステップ ( "${workspace_loc:/HelloWorld/jni}" )の出力の周りの二重引用符 (") を忘れないでください。

以下に全体像も添付します

3 つのステップすべてを 1 つの写真に

于 2014-12-20T15:46:54.280 に答える
0

念のため...

1-> 後藤 ( cd C:\Program Files\Java\jdk1.7.0_60\bin)

2-> C:\Program Files\Java\jdk1.7.0_60\bin>javah -jni -classpath F:\Android_OpenGLES\FibonacciNative\bin\classes -d F:\Android_OpenGLES\FibonacciNative\jni\ com.example.fibonaccinative. FibLib

環境変数を作成/使用せずに...

于 2014-06-29T07:22:35.637 に答える