Eclipse / Android: "Errores al ejecutar el compilador 'Precompilador de Android' en el proyecto ..."

97

Al intentar hacer algo de trabajo en un proyecto de Android en el que no he trabajado durante un par de meses, sin embargo, cada vez que intento construir el proyecto, Eclipse muestra un diálogo que dice:

'Building workspace' has encountered a problem

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException

Estoy ejecutando Eclipse en una Mac con un objetivo de compilación del proyecto de Android 4.0.3 (API nivel 15) y tengo las siguientes versiones de cosas instaladas

  • Eclipse - 3.7.2
  • Herramientas de desarrollo de Android - 21.0.1
  • SDK de Android: hasta 17

Ya probé algunas cosas, como comenzar un espacio de trabajo completamente nuevo, instalar este 'Subversive SVN JDT Ignore Extensions', actualizar todo, asegurarme de que no tengo archivos sin extensiones en mi carpeta de origen (o en cualquier otro lugar), asegurarme de que mi compilador de Java sea 1.6 y apagarlo y encenderlo nuevamente.

EDITAR

Aquí está el seguimiento de la pila del registro de errores de Eclipse para este problema:

java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:432)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:305)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Y los datos de la sesión:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Constantes del cargador de arranque: OS = macosx, ARCH = x86_64, WS = cocoa, NL = en_US
Argumentos del marco: -keyring /Users/onemick/.eclipse_keyring -showlocation
Argumentos de la línea de comandos: -os macosx -ws cocoa -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

OTRA EDICIÓN

De acuerdo, más búsquedas me llevaron a esta página , lo que sugiere que este problema definitivamente está relacionado con la presencia de archivos sin una extensión en mi proyecto; sin embargo, no sé qué archivo y por mi vida no puedo encontrar cualquiera en ese proyecto!

Incluso estaría feliz si alguien pudiera explicar qué significa este error y cómo puedo obtener más información de depuración sobre el error subyacente.

Mick Byrne
fuente
1
¿Cuál es el objetivo de construcción de su proyecto?
Padma Kumar
Android 4.0.3 (API nivel 15)
Mick Byrne
Sí, probé todas las diferentes soluciones sugeridas en este problema, pero ninguna de ellas resolvió mi problema. Hice esta pregunta por separado porque solo tengo el problema 'Precompilador de Android'. Ni siquiera entiendo qué significa este "problema".
Mick Byrne

Respuestas:

107

Para aquellos de ustedes que no desea que se instale versión preliminar de ADT, hay una solución descrita aquí .

  1. Abra las propiedades del proyecto en Eclipse y luego Recursos -> Filtros de recursos.
  2. Haga clic en el botón "Agregar ..." -> Marque "Excluir todos", "Archivos y carpetas", "Todos los niños". En el cuadro de entrada de texto, ingrese ".svn" (sin comillas).
  3. Reinicie Eclipse.

Tuve el mismo problema con la carpeta .git , funcionó a las mil maravillas .

Vadim Kotov
fuente
Tenga en cuenta que debe cerrar y volver a abrir el proyecto después de este cambio.
Tommie
Tenga en cuenta que ADT 21.1 está disponible y esto está arreglado, por lo que puede actualizar sus herramientas.
Vadim Kotov
Por favor ayúdenme a deshacerme de este error. Veo que les funcionó a todos ustedes, pero sigo recibiendo el mismo error
user1106888
@ user1106888 tal vez tenga otra carpeta con un punto en su nombre. o algunos archivos sin extensiones, también podrían producir este error.
Vadim Kotov
Problema similar / relacionado: stackoverflow.com/questions/14188650/…
Mr-IDE
84

Siempre odio responder a mis propias preguntas, pero esta es una solución genuina.

La versión 21.0.1 de las herramientas ADT tiene un error que impide la construcción de un proyecto si tiene archivos sin extensiones. Este es un problema particular para los usuarios (como yo) que usan subversion con archivos sin extensión.

Una solución recomendada es instalar estos complementos de Eclipse 'subversivos' (Ayuda> Instalar nuevo software> Trabajar con su sitio de versión de Eclipse> Expandir 'Colaboración'> Elija 'Subversive SVN JDT Ignore Extensions' y 'Subversive SVN Team Provider') pero esto no no funciona para mí (estoy en Indigo, tal vez en Juno funcione).

La solución es instalar la versión preliminar 21.1 de las herramientas ADT y el administrador de SDK de Google. Puede encontrar instrucciones claras aquí y puede leer todo el fondo y agregar su voz a la multitud enojada de desarrolladores aquí .

Mick Byrne
fuente
4
Esto soluciona el problema, asegúrese de actualizar tanto el SDK como el ADT.
Michael Marsella
1
@MickByrne Gracias. Aparentemente, tuve que instalar el canal de "vista previa" de ADT y SDK para resolver el problema con Eclipse Juno. Gracias.
Aleks G
3
Si después de instalar los complementos subversivos el problema no desaparece, intente esto: elimine el proyecto de su espacio de trabajo, elimine las carpetas 'bin' y 'gen' y asegúrese de que estén excluidas en svn, luego vuelva a agregar el proyecto a el espacio de trabajo (Archivo> Nuevo> Proyecto, Proyecto de Android a partir del código existente). Si ahora tiene un nombre incorrecto, haga clic derecho> Refactorizar> Cambiar nombre. Esto solucionó el problema para mí.
Glenn Schmidt
3
21.1 está disponible, por lo que puede actualizarlo si no le gustan las vistas previas.
Xavier Ducrohet
1
mar13 ya no es una VISTA PREVIA. simplemente vaya a SDK Manager y actualice.
tony gil
15

Acabo de reiniciar Eclipse y el problema se resolvió.

H2O
fuente
9

Yo también tuve el mismo problema y me di cuenta de que había cerrado otro proyecto que estaba relacionado con el que estaba construyendo. Una vez que lo abrí, todo desapareció.

arniotaki
fuente
Gracias, eso funcionó totalmente. La importación del proyecto que estaba usando como biblioteca estaba llena de errores, así que la cerré (también porque no estaba usando su funcionalidad en ese momento). Entonces, como no lo necesitaba, lo desconecté de mis bibliotecas (a través de Propiedades -> Android -> seleccione la biblioteca y luego haga clic en Eliminar) y los errores originales del proyecto desaparecieron. ¡HURRA!
Azurespot
2

Puede que tenga una biblioteca cercana 'appcompact_v7' para crear un nuevo archivo. esto resolvió mi problema abriéndolo de nuevo

Vinod Joshi
fuente
1

Encuentro este error y elimino todo el archivo .svn, mi proyecto no puede funcionar, cuando el proceso 55%

y encuentro que este es un directorio res vacío en mi proyecto, no sé cómo es, pero cuando elimino el directorio res vacío, mi proyecto funcionó,

por lo tanto, debe verificar todos sus archivos en su proyecto.

usuario998953
fuente
1

También me enfrentaba al mismo problema y perdí mucho tiempo solucionando esto, además, las soluciones dadas anteriormente no funcionan para mí. Resolví este problema yendo a Eclipse -> Ayuda -> Buscar actualizaciones y luego reiniciando eclipse después de que finalizó la actualización.

Amrit Pal Singh
fuente
1

Si ha cerrado accidentalmente los proyectos de la biblioteca que son esenciales para ejecutar su proyecto, simplemente ábralos en eclipse. Este error debe desaparecer.

Ganesh Hegde
fuente
0

Otro caso: cerré el proyecto actual (con el mensaje de error de construcción), descarté el repositorio de SVN en uso, volví a compilar:

Error de construcción

Agrego la ubicación del repositorio:

Edificio ok!

Serafines
fuente
0

Para resolver este problema, necesito ejecutar eclipse como administrador

Edrian
fuente
-1

Encontré este problema recientemente y las soluciones dadas anteriormente no funcionaron para mí. No tengo archivos sin extensiones. Dio la casualidad de que después de agregar un nuevo proyecto a partir del código existente, hubo un error de configuración que parece haber estropeado el estado de eclipse. Después de eso, cualquier proyecto en el espacio de trabajo que intenté limpiar o compilar estaba dando el error del precompilador de Android con java.lang.NullPointerException.

Descubrí que los archivos main.xml dentro del directorio / res no se encontraban por alguna razón, a pesar de que el archivo estaba allí. La solución fue cerrar todas las perspectivas de archivos abiertos en el Panel de edición de Java de Eclipse, cerrar todos los proyectos, luego abrir el proyecto y abrir el archivo xml principal. Después de hacer eso, el problema del precompilador desapareció.

sri_s
fuente