ndk-build没有正确调用函数

时间:2012-03-21 07:46:24

标签: android-ndk cygwin

我按照http://android.wooyd.org/JNIExample/上的教程进行操作,当我尝试使用cygwin构建时,我得到:

undefined reference to `android::AndroidRuntime::registerNativeMethods(_JNIEnv*, char const*, JNINativeMethod const*, int)'

在includes中我找到了registerNativeMethods函数,如下所示:

static int registerNativeMethods(JNIEnv* env,
    const char* className, const JNINativeMethod* gMethods, int numMethods);

当我向它传递一个const char *和一个JNINativeMethod []时,我不明白为什么编译器正在读取函数的输入为char const *和JNINativeMethod const *。虽然我查看并找到了表示char const *和const char *相同的地方。如果是这样,为什么我会收到此错误。

如果它有所不同,我的ndk入口点是一个c ++文件,并使用stock cygwin。

1 个答案:

答案 0 :(得分:0)

registerNativeMethods在libandroid_runtime.so中实现,在ndk中找不到。

样本已声明: 如果您要编写1.5或更高版本的固件,强烈建议您使用Android NDK而不是遵循本指南。

所以指南不是用于ndk使用,是用于android源代码构建