Eclipse – Método NewStringUTF () no se pudo resolver

Estoy trabajando en un código simple de OpenCV para exhibir una imagen después de sufrir la operación del sobel. He incluido todas las rutas necesarias a las propiedades del proyecto para incluir la carpeta OpenCV4Android . Resolví todos los errores excepto uno:

Error: El Method NewStringUTF() could not be resolved

<jni.h> También he incluido la carpeta AndroidNDK en las rutas del proyecto. Mi Eclipse es altamente impredecible. Anteriormente, funcionó bien cuando desarrollé otra aplicación en Android. ¿Depende de la máquina eclipse? ¿Qué puedo hacer para corregir este error?

Lo más probable es que esté utilizando la sintaxis C en el archivo CPP

Yo tenía el mismo error

Simplemente cambie a la sintaxis correcta y el problema será resuelto Sintaxis C

 return (*env)->NewStringUTF(env, "Hello from JNI !"); 

Sintaxis de C ++

 return (env)->NewStringUTF("Hello from JNI !"); 

Después de cambiar de C a C ++ sintaxis mi problema se resolvió.

Tuve este problema. Basado en mi "solución", parece ser algo gracioso en Eclipse, ya que tenía otro proyecto abierto con (hasta donde era capaz de decir) las propiedades exactas, caminos, etc, además de ser etiquetado como Proyecto de Biblioteca.

Sólo con la observación de la estructura correspondiente en jhi.h, los prototipos callback están allí! Ctrl-clic en la declaración de inclusión y Eclipse incluso le vinculará la referencia!

Vaya a Propiedades del proyecto -> C / C ++ General -> Análisis de código. Haga clic en el botón de opción "Usar configuración de proyecto" (o "Configurar configuración de área de trabajo …"). Desactive (desmarque) la casilla de verificación "Método no se puede resolver". Haga clic en "Aplicar", "Aceptar". A continuación, para su proyecto, actualizar, limpiar, actualizar, construir.

Debe haber algo que hice de manera diferente en la creación del nuevo proyecto. O tal vez fue debido a la ubicación de los proyectos, o el hecho de que el anterior era una biblioteca. Tal vez es realmente un error de Eclipse? Para referencia, estoy usando ADT v21.1.0-569685 y NDK r8e para Windows.

 JNIEXPORT jstring JNICALL Java_com_example_faceextractiontest_Makeover_hello(JNIEnv* env, jobject obj){ const char* c = "hello how are you i am ahmad raza"; jstring s = env->NewStringUTF(c); return s; } 

Esto funcionó para mí

  • Paso 1: Propiedades del proyecto -> C / C ++ General -> Ruta y símbolos

  • Paso 2: Seleccione la pestaña 'Incluir', Añadir -> $ ANDROID_NDK_HOME / plataformas / android-19 / arch-arm / usr / include (Su propio camino)

  • Paso 3: Aplicar -> Aceptar

Eso es. Mi solución.

  • Reconocimiento de objetos en tiempo real en Android con detector FAST
  • No se puede vincular la biblioteca nativa en la muestra de Android de OpenCV
  • ¿Es posible hacer zoom y enfocar usando OpenCV en Android?
  • Cuenca en Opencv Android
  • Eliminar el deslumbramiento de la foto opencv
  • Detección de rostros en Android?
  • Android Yuv420sp a ARGB en OpenCV
  • Android convierte matriz de bytes de la API de cámara para colorear objeto Mat openCV
  • ¿Cómo puedo detectar mejor los diferentes colores LED con la cámara de un teléfono Android y OpenCV?
  • Android jpeg pictureCallback en escala de grises Opencv Mat
  • Android OpenCV - detectar curvas de Houghlines
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.