2009-11-04 13 views
37

Tengo un proyecto de Android 1.5 en Eclipse y cada vez que solo tengo un archivo de recursos xml, la construcción se cierra con un error. P.ej. si tengo la res\layout\main.xml abierta como el documento activo no va a construir y lanza el siguiente error:El proyecto de Android no se compilará al editar un archivo de recursos

Error in an XML file: aborting build. 
res\layout\main.xml:0: ERROR Resource entry main is already defined. 

entonces tengo que eliminar main.out.xml y cambiar a cualquier archivo .java en el proyecto para conseguir que construir.

¿Tengo algo configurado incorrectamente o es solo un error de Eclipse o ADT? Me volvía loco durante una hora antes de descubrir cuál era la causa.

+0

Tuve el mismo problema, y ​​me asusté por completo ..., el .xml.¡Incluso los archivos causaron más y más errores, cualquiera debería mencionar ese problema en developer.android.com gracias de todos modos! –

+0

Me encontré con el mismo problema. Borro primero los archivos xml que no fueron analizados main.out.xml y strings.out.xml y luego voy a limpiar mi proyecto. Cuando volví a ejecutar, todo estaba bien. Rgds, –

+0

Bueno, tengo este tipo de problema, pero simplemente Project/Clean funcionó para mí. Eliminé main.out.xml de res/layout, volví a guardar un main.xml y luego volví a abrir el proyecto. Después de esta magia, el proyecto se construye correctamente. –

Respuesta

63

Me encontré con esto también.

Si tiene un archivo xml abierto y hace clic en el botón 'Ejecutar', en lugar de ejecutar su proyecto de Android, Eclipse intentará ejecutar una transformación en el archivo xml. A continuación, crea un nuevo archivo xml con el resultado de la transformación y lo agrega a su proyecto. Entonces, el proyecto no se ejecutará en absoluto debido a la existencia del archivo xml duplicado.

Así que asegúrese de no tener ningún archivo xml duplicado en su proyecto (mire el archivo de manifiesto, así como los archivos de diseño). La forma en que lo soluciono es asegurarme de que el árbol del proyecto tiene foco (o simplemente seleccione una pestaña con un archivo java) antes de hacer clic en 'Ejecutar'.

Es probable que haya una forma mejor de manejar esto (quizás a través de un cambio de configuración), pero soy bastante nuevo en Eclipse y esa es la solución que se me ocurrió :). Espero que ayude.

+2

Tuve este problema antes y configuré para iniciar automáticamente el último proyecto, si presiono el botón ejecutar. Eso es bueno porque no tiene que recordar cambiar el enfoque al archivo/pestaña correcto. El motivo parece ser un problema de XML/XSL, que parece pensar que los archivos xml son runables para las extensiones XML/XSL. La solución alternativa mencionada por los chicos del eclipse no funciona para mí, porque no puedo eliminar estos complementos. De todos modos: configure su ejecución para ejecutar siempre el último proyecto. Funciona bien para mí con más de 30 proyectos :) – WarrenFaith

+1

REALMENTE deben publicar esto en el tutorial de Google! Gracias, me salvaste el pelo: D –

0

Debería poder tener el archivo xml abierto y compilar. Existe una opción si haces clic derecho en el proyecto y vas a Android para limpiar el proyecto o restablecer las propiedades. Pruébalo y ve si resuelve el problema.

+0

Si voy a Herramientas de Android-> Reparar propiedades del proyecto, funcionará una vez, pero si cambio a otro recurso xml, falla de nuevo. Definitivamente no soy el único con el problema ya que encontré a otros discutiéndolo aquí http://www.anddev.org/viewtopic.php?p=25517 – duckworth

+0

Hmm, tendré que volver a verificar cuando llegue a casa , pero no recuerdo ese error antes. Por curiosidad, ¿qué versión del SDK está usando y en qué sistema operativo? Estoy usando 1.6 en Vista. – broschb

7

Eclipce/Proyecto/Clean ... y ejecutar su proyecto de nuevo ...

+0

yes "Eclipce/Project/Clean ... Y ejecuta tu proyecto de nuevo ..." lo resolvió para mí. –

18

Para configurar el botón de ejecución para ejecutar siempre la aplicación iniciada anteriormente:

Eclipse -> Ventana -> Preferencias - > Ejecutar/Depurar -> Ejecutar -> Iniciar operación -> Ejecutar siempre la aplicación iniciada previamente

+0

¡Justo lo que estaba buscando! – DonnaLea

+2

Esta debería ser la respuesta aceptada ... –

1

Acabo de tener el mismo problema porque tenía dos archivos de formato de tipo diferente, pero con el mismo nombre, como: jquerymobile. css y jquerymobile.js

la solución fue cambiar el nombre de uno de los archivos

2

Tuve el mismo problema que intentar construir un proyecto con hormiga. Así que acabo de borrar el directorio bin/y el proyecto fue compilado.

1

Eso sucederá en el eclipse Indigo (IDE). cuando intenta ejecutar archivos XML en lugar de páginas de origen (archivos java). Entonces eso generará un archivo con el nombre de main.out.xml. así que tenemos que eliminar el archivo main.out.xml y ejecutar los archivos de origen ..

espero que esto va a funcionar ..

0

he tenido el mismo problema con el mismo nombre de nueve parches y las imágenes normales. Dar diferentes nombres resuelve el problema.

Cuestiones relacionadas