Android NDK Native metoda nie znaleziono błędu

Próbuję zbudować aplikację na Androida przy użyciu kodu natywnego, więc chcę przetestować, czy ndk działa pomyślnie. Kiedy próbuję uruchomić mój pierwszy dziennik projektu hello world, mówi:

01-21 23:30:06.780: E/AndroidRuntime(939): FATAL EXCEPTION: main
01-21 23:30:06.780: E/AndroidRuntime(939): java.lang.UnsatisfiedLinkError: 
Native method not found: com.example.ndktesting.MainActivity.invokeNativeFunction:()Ljava/lang/String;

Sprawdziłem niektóre odpowiedzi stackoverflow, ale nie mogłem znaleźć mojej odpowiedzi. Oto mój kod dla java i c.I używam wersji android ndk r8d.

//ndktest.c

#include <string.h>
#include <jni.h>

extern "C"
{
JNIEXPORT jstring JNICALL   Java_com_example_ndktesting_ndktest_MainActivity_invokeNativeFunction(JNIEnv* env, jobject  thiz)
};

JNIEXPORT jstring JNICALL   Java_com_example_ndktesting_ndktest_MainActivity_invokeNativeFunction(JNIEnv* env, jobject  thiz)
{
return (*env)->NewStringUTF(env, "Hello from native code!");
}

Oto mój kod java MainActivity

package com.example.ndktesting;

public class MainActivity extends Activity 
{   
//declare the native code function - must match ndktest.c
private native String invokeNativeFunction();

public native String  unimplementedinvokeNativeFunction();

// load the library - name matches jni/Android.mk 
static 
{
System.loadLibrary("ndktest");
}

@Override
protected void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// this is where we call the native code
String hello = invokeNativeFunction();

new AlertDialog.Builder(this).setMessage(hello).show();
}
}

Android tworzy kod pliku:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Here we give our module name and source file(s)
LOCAL_MODULE    := ndktest
LOCAL_SRC_FILES := ndktest.c

include $(BUILD_SHARED_LIBRARY)

questionAnswers(1)

yourAnswerToTheQuestion