2011-08-16 12 views
5

Mientras que eclipse me dice acerca de variables, clases e importaciones sin referencia, no me dice si hay valores en los archivos de recursos que no se utilizan.localizar y eliminar valores sin referencia en strings.xml

Ser capaz de eliminar todo lo que no se utiliza sería muy útil desde el punto de vista de la traducción.

¿Existe alguna herramienta que pueda hacer esto?

Respuesta

3

Opción 1:

NOTA: No funciona para los recursos referenciados directamente en XML y los identificadores de carga a través de la reflexión.

Considerando que los identificadores generados de todos los recursos se encuentran dentro de su archivo R.java, esto debería ser posible usando el Eclipse Core Tools.

opción

El menú es el siguiente: Find Unreferenced Members

Opción 2:

recursos no utilizados para Android es una aplicación Java que escaneará su proyecto por los recursos no utilizados. Los recursos no utilizados ocupan innecesariamente el espacio , aumentan el tiempo de compilación y saturan la lista de autocompletado del IDE.

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

+2

Pero, ¿será capaz de identificar esos recursos de cadena a los que se hace referencia directamente en XML? – curioustechizen

+0

Tienes razón. No pensé en eso. – mibollma

+0

sí, ese es un buen punto. Esto parece una buena herramienta (si realmente pudiera hacerlo funcionar), pero también lo necesito para incluir los recursos de mis arreglos y diseños que también hacen referencia a las cadenas. –

0

La manera más simple (y más lento) que puedo pensar es eliminarlos, uno por uno, y dejar que el eclipse a reconstruir su proyecto. Si produce un error, entonces usted sabe que fue utilizado, de lo contrario, está bien sin él.

+0

Pensé en esto pero toma aproximadamente 20 segundos para construir mi proyecto (en un buen día) lo que significa que tomaría varias horas para completar esto. Además, si solo hay una referencia en un archivo de diseño, ¿todavía se obtiene un error de compilación? –

+0

Creo que sí. Otro enfoque dependerá de las herramientas que haya instalado (en menor medida, el sistema operativo en el que se ejecuta).Sería posible escribir un script bash que empleara el uso de find y grep para determinar si la cadena se usó en algún lugar de un archivo .java o .xml, entonces usted podría saber que el nombre de la cadena no se referenciaba en ningún lugar, y realizar el trabajo sugerido anterior sobre un subconjunto más pequeño de los datos en lugar de todo. Es solo un pensamiento – Travis

0

Android Lint es tu amigo. Dentro del proyecto de hormigas, sólo tiene que escribir

ant lint 

Se dará una advertencia UnusedResource en tales casos.

Cuestiones relacionadas