Я обновил свою версию NDK с r6 до r7. После этого я получаю эту ошибку при компиляции одного из моих собственных файлов:
ошибка: 'JNI_GetCreatedJavaVMs' не был объявлен в этой области
Я строю свой проект для API уровня 8 (Android 2.2). Я изучил
(MY_NDK_PATH_R6) /android-8/arch-arm/usr/include/jni.h
где GetCreatedJavaVMs
объявлен, а файл jni.h
фактически является символической ссылкой на
(MY_NDK_PATH_R6) /platforms/android-3/arch-arm/usr/include/jni.h
Тогда я проверил
(MY_NDK_PATH_R7) /platforms/android-8/arch-arm/usr/include/jni.h
и это фактически файл, а не символическая ссылка.
Я строю свой проект с использованием Eclipse, и единственное, что я указал в настройках, это путь к ndk-build
.
РЕДАКТИРОВАТЬ: ОК, теперь понятно, почему не могут быть найдены GetCreatedJavaVM:
/*
* VM initialization functions.
*
* Note these are the only symbols exported for JNI by the VM.
*/
#if 0 /* In practice, these are not exported by the NDK so don't declare them */
jint JNI_GetDefaultJavaVMInitArgs(void*);
jint JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*);
jint JNI_GetCreatedJavaVMs(JavaVM**, jsize, jsize*);
#endif
Но как мне получить ВМ в этом случае?