2011-05-19 10 views
20

¿Qué significa exactamente el "Proyecto-> Herramientas Android-> Reparar las propiedades del proyecto" del comando Eclipse?¿Qué hace exactamente el comando "arreglar las propiedades del proyecto"?

He leído muchas veces para usarlo, principalmente en respuestas relacionadas con problemas de generación de Android R en Eclipse, pero para mí es como magia, presiono sobre él y supongo que corrige algunas propiedades del proyecto, pero no pasa nada. .. no hay comentarios visuales, no hay información sobre las propiedades del proyecto que se ha solucionado ... cualquiera puede darnos una idea de qué es exactamente lo que hace?

Thx

+1

para principiantes: tenga en cuenta que las Propiedades del proyecto de reparación se encuentran con un clic derecho en el nombre del proyecto en Herramientas de Android. – Martin

Respuesta

27

Al mirar en el código fuente de ADT, específicamente en FixProjectAction y la lectura de la fuente y los comentarios se puede ver que se llama:

ProjectHelper.fixProject(project); 
ProjectHelper.fixProjectNatureOrder(project); 
AndroidNature.configureResourceManagerBuilder(project); 
AndroidNature.configurePreBuilder(project); 
AndroidNature.configureApkBuilder(project); 

ProjectHelper.fixProject(project) hace:

  • crea proyecto Java
  • corrige las entradas de classpath para garantizar que:
    • el proyecto no hace referencia a ningún archivo viejo android.zip/android.jar
    • el proyecto no utilice su carpeta de salida como una carpeta de vitam
    • el proyecto no hace referencia a un JRE escritorio
    • el proyecto hace referencia al AndroidClasspathContainer.

ProjectHelper.fixProjectNatureOrder(project) reordena proyectan naturalezas, por lo que la naturaleza del proyecto Android es primero.

AndroidNature.configureResourceManagerBuilder(project) agrega ResourceManagerBuilder, si no está ya allí. Se insertará como el primer constructor.

AndroidNature.configurePreBuilder(project) agrega PreCompilerBuilder si no está ya allí. Verificará la presencia del ResourceManager y se insertará justo después.

AndroidNature.configureApkBuilder(project) agrega el generador de .apk al final si no está ya allí.

Las tres últimas llamadas aseguran que tiene el constructor correcto para su proyecto. Cuando nos fijamos en su sección de Constructores en las propiedades del proyecto de eclipse se verá: Gestor

  • Recursos androide primera
  • Android Pre compilador después de Resource Manager
  • paquete Android Constructor última
+0

Enlace hacia abajo ...... – Pacerier

1

Otro resultado de ejecutar "Reparar propiedades del proyecto" en un proyecto es que cualquier otro proyecto en el mismo espacio de trabajo que haga referencia al proyecto como una biblioteca Android puede tener tarros que se vinculen en "Dependencias de Android" en la ruta de compilación del proyecto.

Esto puede dar lugar a múltiples referencias al mismo archivo jar o referencias de archivo jar faltadas.

La solución es eliminar esos enlaces de los proyectos relacionados, eliminar la "Dependencia de Android" y volver a ejecutar "Propiedades del proyecto de reparación".

Cuestiones relacionadas