从r6更新到r7后,Android NDK找不到JNI_GetCreatedJavaVMs
我已将NDK版本从r6更新为r7.之后,在编译我的一个本机文件时出现此错误:
error: ‘JNI_GetCreatedJavaVMs’ was not declared in this scope
我正在为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的路径.
编辑:好的,现在很清楚为什么找不到GetCreatedJavaVMs:
/*
* 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
但是在这种情况下我应该如何获得VM?