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.
fuente
Respuestas:
Para aquellos de ustedes que no desea que se instale versión preliminar de ADT, hay una solución descrita aquí .
Tuve el mismo problema con la carpeta .git , funcionó a las mil maravillas .
fuente
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í .
fuente
Acabo de reiniciar Eclipse y el problema se resolvió.
fuente
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ó.
fuente
Puede que tenga una biblioteca cercana 'appcompact_v7' para crear un nuevo archivo. esto resolvió mi problema abriéndolo de nuevo
fuente
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.
fuente
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.
fuente
Si ha cerrado accidentalmente los proyectos de la biblioteca que son esenciales para ejecutar su proyecto, simplemente ábralos en eclipse. Este error debe desaparecer.
fuente
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!
fuente
Para resolver este problema, necesito ejecutar eclipse como administrador
fuente
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ó.
fuente