2011-10-06 16 views
7

Usé el código fuente de una aplicación de Android que creamos en el pasado como base para otra aplicación (mucha de la funcionalidad es similar, sin embargo, se elimina aproximadamente 1/3 de la funcionalidad de la aplicación original).¿Cómo limpiar un proyecto de Android?

Comencé copiando el árbol de fuentes e importando un nuevo proyecto en el área de trabajo de Eclipse. Después de eso, eliminé algunos archivos de diseño y dibujables y algunos archivos .java, los que obviamente no son necesarios en una nueva aplicación.

Finalmente, he compilado y probado la nueva aplicación. Ahora me gustaría hacer una limpieza más exhaustiva del proyecto eliminando prácticamente todo lo que no se usa.

¿Cuál es la mejor manera de encontrar todos los archivos XML e imágenes, archivos Java, cadenas y recursos de color que no se utilizan en la nueva aplicación? Al decir "no utilizado", quiero decir que no se hace referencia a ellos desde ninguno de los códigos de la aplicación ejecutante (a partir de la actividad principal, vaya a todos los demás archivos a los que se refiere, a los archivos remitidos desde esos archivos, etc.).

El proyecto contiene cientos de Drawables (muchos de ellos tienen versiones en HDPI, MDPI y LDPI), alrededor de un centenar de diseños y cerca de mil archivos Java en una docena de paquetes diferentes. Por lo tanto, verificarlos uno por uno no es una opción.

Edición de marzo de 2012: La última versión de la herramienta lint de SDK de Android identifica bastante bien los recursos no utilizados. El problema es filtrar los mensajes sobre los recursos no utilizados de cientos de otros mensajes que recibí. Cuando ejecuté el enlace en mi proyecto de tamaño mediano, recibí más de 3.000 advertencias, la mayoría de las cuales no pretendo hacer nada, porque lint no puede analizar lo que hago en el código con mis diseños XML.

Respuesta

2

Salida http://code.google.com/p/android-unused-resources/

Es de código abierto, en desarrollo activo, y creada/mantenida por un gran desarrollador.

+0

Esto parece una gran herramienta. En la primera ejecución, me dijo que encontró 111 recursos no utilizados. La mayoría de ellos parece que realmente no se usan. Tengo algunas dudas sobre algunos de ellos, así que los veré manualmente. –

+0

Sí, hay algunos que pueden evaluarse incorrectamente. Creo que la mayoría de ellos están limitados a estilos que tienen un estilo parental. –

0

AFAIK, no hay una herramienta automatizada para esto. Yo también he buscado una forma de detectar recursos no utilizados y llegué a la conclusión de que no hay ninguna herramienta para eso. Además, está hablando de archivos Java no utilizados, que creo que es aún más difícil de lograr (es realmente difícil detectar qué actividades/servicios/receptores/proveedores se usan realmente, etc.).

Lo que sugiero es buscar en el árbol de proyectos los recursos y clases que sospecha que ya no se utilizan y eliminar aquellos que no aparecen en ningún lado.

Cuestiones relacionadas