2013-03-13 89 views
6

我已經添加了幾個本地方法到我的android Activity類。現在我想創建該頭文件爲class創建Android活動類的頭文件

從命令行創建頭文件時出現以下錯誤。

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中訪問活動類。

請指教。

+3

參見[教程:Android JNI](http://blog.edwards-research.com/2012/04/tutorial-android-jni/)在這裏你可以找到創建JNI頭的分步指南。 – 2013-03-13 05:58:35

+0

Thanks..Anyways ...我有id完成自己..它會是這樣的 C:\ AndroidProjects \ JniTest \ bin \ classes> javah -classpath C:\ adt-bundle-windows-x8 6 \ sdk \平臺\機器人-8 \的android.jar ;. com.example.jnitest.JniTest – amj 2013-03-13 06:03:03

+0

@amj - 請將您的發現發佈爲答案並接受它。 – Perception 2013-03-13 11:36:44

回答

1

的命令是(用反斜槓(\),而不是正斜槓(/),而使用Windows cmd):

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

您應該使用-bootclasspath代替-classpath,因爲android.jar重新器具Java Class Library

假設:

  • 你的當前目錄是:C:\AndroidProjects\JniTest;
  • 您的Android SDK安裝在$ANDROID_SDK_ROOT(適用於Windows的%ANDROID_SDK_ROOT%);
  • 您的目標API級別爲android-17

請相應修改您的命令。

2

在Eclipse中嘗試以下操作:

轉至>運行|外部工具|外部工具配置在程序下通過點擊小圖標來創建新配置。

命名它。

位置是:C:\ Program Files文件\的Java \ jdk1.7.0_04 \ BIN \ javah.exe

工作目錄是:$ {workspace_loc:/ My_First_NDK /斌/班}和

參數應該是:-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

enter image description here