我正在尝试为一个简单的 NDK 项目创建一个 .h 头文件。使用 cygwin 我浏览到myprojectDIR\jni
目录,然后执行以下命令:
javah -o com_myproject_MyActivity.h -classpath myprojectDIR\bin\classes com.myproject.MyActivity
然后出现此错误消息:
Error: cannot access android.app.Activity
class file for android.app.Activity not found
我在类中有一个本地方法MyActivity
,所以我尝试创建一个名为NativeAccess
(不从 android SDK 扩展任何类)的新类,它工作正常,创建了 .h 文件,ndk-build 并在成功的设备上测试!
所以我的问题是我需要在我创建的 android 活动和服务中使用我的本机方法,但我不能这样做,因为该Javah
命令无法从 android-sdk 本身内部访问类。请注意我正在使用(Windows-7 x64)并且我有这些环境变量:
ANDROID_NDK : C:\Android\android-ndk-r7b
ANDROID_SDK : C:\Android\android-sdk
ANT_HOME : C:\ANT\apache-ant-1.8.3
JAVA_HOME : C:\Program Files\Java\jdk1.7.0_02
PATH : %JAVA_HOME%\bin;%ANDROID_SDK%\tools;%ANDROID_SDK%\platform-tools;%ANDROID_NDK%;%ANT_HOME%\bin; (other unrelated stuff)
提前致谢