【发布时间】:2013-05-04 16:57:41
【问题描述】:
几天前,我开始玩 android NDK。尝试编译书中的一个示例程序时出现了一个小问题。
所以这里我需要获取JavaVM的引用。
// Global env ref (for callbacks)
static JavaVM *g_VM;
JNIEXPORT jint JNICALL Java_jni_Natives_LibMain
(JNIEnv * env, jclass class, jobjectArray jargv)
{
// obtain a global ref to the caller jclass
(*env)->GetJavaVM(env, &g_VM); ...
Eclipse 说“method 'GetJavaVM()' could not be resolved”,就像其他包含(*env) object 方法的行一样。
包含目录有路径:C:\programs\IDE\adt-bundle-windows-x86_64-20130219\android-ndk-r8e\platforms\android-14\arch-arm\usr\include 所以我不认为它可能是包含路径的东西,但是我可能是错的。
【问题讨论】:
-
嗯,添加一个 `#include "jni.h" 并且只使用确切的源编译对我来说没问题。
-
它对我有用,但一段时间后,我认为 eclipse 中发生了一些事情。我还尝试清理、重建并创建一个新项目。
-
明确一点:它使用 NDK 编译器编译和运行,但 Eclipse 将语句标记为错误?
标签: android c android-ndk