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.

  • Error de enlace no satisfecho - OpenCV para Android No nativo
  • Android UnsatisfiedLinkError con OpenCV 2.4.2
  • OpenCV Android: Obtener fotogramas de la cámara en segundo plano sin mostrar en la pantalla
  • OpenCV Android: ¿Cómo dibujar puntos clave coincidentes con las imágenes comparadas?
  • Visión por ordenador - filtración de cascos convexos y defectos de convexidad con OpenCV
  • Explicitamente liberando Mat con opencv 2.0
  • Detección de números y texto posible con opencv android mientras captura de video?
  • Convertir el marco de vista previa de Android a OpenCV Mat
  • OpenCV: Optimización del cálculo del flujo óptico
  • OpenCV para Android - formación SVM con descriptores SURF
  • OpenCV Native Samples no están construyendo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.