从r6更新到r7后,Android NDK找不到JNI_GetCreatedJavaVMs

weixin_38053856 2019-09-12 12:02:28
我已将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?
...全文
130 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38059994 2019-09-12
  • 打赏
  • 举报
回复
我找到了解决方案.您只需要实现JNI_OnLoad(JavaVM * vm,void * reserved)函数. JVM是一个论点.这可能是获得JVM的更好方法.

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧