Android NDK Método nativo no encontrado error

Estoy tratando de construir la aplicación de Android con código nativo por lo que quiero probar si ndk se ejecuta con éxito. Cuando intento ejecutar mi primer proyecto hola mundo log dice:

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; 

He comprobado algunas respuestas de stackoverflow pero no pude encontrar mi answer.Here es mi código para java yc Estoy usando android ndk r8d versión.

 //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 de 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(); } } 

Código de archivo de Android:

 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) 

Sus nombres de paquete / clase no coinciden.

 JNIEXPORT jstring JNICALL Java_com_example_ndktesting_ndktest_MainActivity_invokeNativeFunction(JNIEnv* env, jobject thiz) 

Sería un método en la clase

 com.example.ndktesting.ndktest.MainActivity 

Sin embargo, su código real

 package com.example.ndktesting; public class MainActivity extends Activity 

Hace que busque

 com.example.ndktesting.MainActivity.invokeNativeFunction 

Sin el "ndktest"

Una vez que haga coincidir los nombres, debería funcionar o exponer el siguiente problema.

  • Ejecutar peticiones HTTP desde código nativo
  • Uso de libVLC para Android en la plataforma Windows
  • SQLite con Android NDK
  • Registro de llamadas de Android La voz entrante no se graba
  • Problemas específicos de Ndk-cygwin path
  • Libav construir para Android
  • No se encontró JNI_OnLoad saltando init> Apagado de la aplicación
  • ¿Puede el código nativo causar corrupción de memoria en código Java en Android?
  • Copiar un buffer de bytes con JNI
  • No se puede depurar nativo
  • Descodificador AES OpenSL ES de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.