Я пытаюсь создать заголовочный файл .h для простого проекта NDK. Используя 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
(не расширяет какой-либо класс из SDK android), и он работал нормально, файл .h был создан, ndk -строить и протестировать на устройстве, где успешно!
Итак, моя проблема заключается в том, что мне нужны мои собственные методы внутри действий и сервисов 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)
Заранее спасибо