Android NDK build, el método no se pudo resolver

Tengo un proyecto de Android con código nativo. Puedo construir código nativo desde la línea de comandos llamando ndk-build comando ndk-build sin errores ni advertencias. Pero cuando lo abro en ADT, muestra el siguiente error.

enter image description here

Mensaje de error: El Method CallStaticIntMethod could not be resolved. Hay muchos archivos con errores similares en el proyecto.

Comprobé la configuración dos veces y aquí está lo que tengo. Android build, tool chain e includes están configurados correctamente (ver imágenes a continuación)

enter image description here

enter image description here

enter image description here

Los incluidos obligatorios también están visibles en el Explorador de proyectos y son válidos (no están vacíos y señalan los archivos de encabezado correctos).

enter image description here

Pero cuando Clean el proyecto y lo Build , los errores siguen ahí. ¿Alguna idea sobre cómo resolver esto?

Configuración: ADT 22.6.2, NDK r9d (64 bits), OSX 10.9.2

Después de algunos problemas con las preferencias, finalmente encontré una solución. Este es un error en el plugin NDK que se informó a AOSP pero aún no se ha corregido. Un pasado de la respuesta se describe en el comentario # 50. Aquí está la secuencia que funcionó para nosotros.

  1. Abrir propiedades del proyecto -> C / C ++ Build -> Tool Chan Editor
  2. En la sección Used Tools sustituya el Android GCC Compiler GCC C Compiler . Si la sección está vacía, simplemente agregue la entrada GCC C Compiler allí. enter image description here
  3. Abra Propiedades del proyecto -> C / C ++ General -> Rutas y símbolos y agregue directorios, donde se encuentran los archivos h que se incluirán. Utilice el botón Subir para agregar una carpeta con sus /AudioPlayer/jni locales ( /AudioPlayer/jni en mi caso) al primer lugar. A continuación, agregue plataforma y toolchains incluye. Incorporado incluye debe permanecer en la parte inferior. enter image description here En mi caso, las rutas completas a la cadena de herramientas se incluyen a continuación. Estas son las rutas integradas de la cadena de herramientas original del Android GCC Compiler , que hemos reemplazado en el paso 2.

     /Tools/android-ndk/toolchains/arm-linux-androidabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androidabi/4.6/include /Tools/android-ndk/toolchains/arm-linux-androidabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androidabi/4.6/include-fixed 
  4. Presione el botón OK , limpie y vuelva a generar el proyecto. Todos los errores deben desaparecer. Si se quedan, intente eliminarlos de la vista Problemas y vuelva a generar el proyecto una vez más.

Actualización: he encontrado otro lugar, donde puede agregar rutas para incluir archivos. Sin embargo, parece ser dependiente de la versión de Eclipse. Configuración del proyecto -> C / C ++ General -> Procesador incluye rutas, macros, etc. -> Entradas de configuración de usuario CDT -> Agregar . Después de agregar las rutas enumeradas anteriormente, ya no hay problemas de comstackción. El desarrollo es divertido de nuevo.

Sí, es causado por el IDE que no sabe dónde están todos tus encabezados y cualquier libs que vuelvas a vincular. Los errores son generados por el sistema de autocompletado / error del IDE. Puede corregir sus inclusiones dentro de Eclipse o eliminarlas como errores en las preferencias. 1.

Tuve un error similar y lo resolví yendo a project-> properties-> discovery options y cambiando el perfil de descubrimiento del sistema de comstackción administrado a GCC, luego de cambiar a GCC C Complier desde el comstackdor GCC de Android y actualizando los directorios de inclusión.