ndk-build не вызывает функцию должным образом - PullRequest
0 голосов
/ 21 марта 2012

Я следовал руководству, найденному на http://android.wooyd.org/JNIExample/, и когда я пытаюсь собрать с помощью cygwin, я получаю:

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

во включениях, я обнаружил функцию registerNativeMethods, как объявлено ниже:

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

Я не понимаю, почему компилятор считывает входные данные функции как char const * и JNINativeMethod const *, когда я передаю ему const char * и JNINativeMethod [].Хотя я посмотрел и нашел места, где написано, что char const * и const char * одинаковы.Если так, то почему я получаю эту ошибку.

Если это что-то меняет, моя точка входа для ndk - это файл c ++, и я использую стандартный cygwin.

1 Ответ

0 голосов
/ 21 марта 2012

registerNativeMethods реализован в libandroid_runtime.so, который не может быть найден в ndk.

образец заявил, что: Если вы программируете для прошивки 1.5 или новее, настоятельно рекомендуется использовать Android NDK вместо того, чтобы следовать этому руководству.

так что руководство не для использования ndk, а для сборки исходного кода Android

...