Error del método nativo NDK de Android no encontrado

Estoy tratando de construir una aplicación para Android usando código nativo, así que quiero probar si ndk se ejecuta correctamente. Cuando intento ejecutar mi primer registro de proyectos de hello world, dice el gato:

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;

Revisé algunas respuestas de stackoverflow pero no pude encontrar mi respuesta. Aquí está mi código para java y c. Estoy usando la versión 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!");
}

Aquí está mi código 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 hacer código de archivo:

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)

Respuestas a la pregunta(1)

Su respuesta a la pregunta