6

androidクラスにいくつかのネイティブメソッドを追加しました。Activity次に、そのヘッダーファイルを作成しますclass

コマンドラインからヘッダーファイルを作成しているときに、次のエラーが発生します。

C:\AndroidProjects\JniTest\bin\classes>javah -classpath .;
C:\adt-bundle-windows-x86\sdk\platforms\android.jar com.example.jnitest.JniTest
Error: cannot access android.app.Activity
class file for android.app.Activity not found

基本的に、jarからアクティビティクラスにアクセスできません。

ご意見をお聞かせください。

4

2 に答える 2

2

Eclipseで次のことを試してください。

> 実行 | に移動します。外部ツール| 外部ツールの構成 プログラムの下で、小さなアイコンをクリックして新しい構成を作成します。

それに名前を付けます。

場所は次のとおりです: C:\Program Files\Java\jdk1.7.0_04\bin\javah.exe

作業ディレクトリは次のようになります: ${workspace_loc:/My_First_NDK/bin/classes} および

引数は次のようになります: -classpath ${workspace_loc:/My_First_NDK/bin/classes} -bootclasspath "C:\adt-bundle-windows-x86-20140624\sdk\platforms\android-19\android.jar" -v -d $ {workspace_loc:/My_First_NDK/jni} com.mypackage.ndk.HelloNDK

ここに画像の説明を入力

于 2014-09-23T07:39:02.183 に答える
1

コマンドは次のようになります(Windowsの使用中\にスラッシュ()の代わりに円記号()を使用します):/cmd

javah -bootclasspath $ANDROID_SDK_ROOT/platforms/android-17/android.jar -classpath bin/classes com.example.jnitest.JniTest

Javaクラスライブラリを再実装するため、-bootclasspathの代わりにを使用する必要があります。-classpathandroid.jar

仮定:

  • 現在のディレクトリは次のとおりC:\AndroidProjects\JniTestです。
  • Android SDKは$ANDROID_SDK_ROOT%ANDROID_SDK_ROOT%Windowsの場合)にインストールされます。
  • ターゲットAPIレベルはandroid-17です。

それに応じてコマンドを変更してください。

于 2013-03-16T16:11:00.120 に答える