我在我的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访问活动类。
请建议。
答案 0 :(得分: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
答案 1 :(得分: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_ROOT
(适用于Windows的%ANDROID_SDK_ROOT%
); android-17
。请相应修改您的命令。