J'ai juste écrit ce script bash juste pour le fun:
PROJECT="/path/to/the/project"
for file in $(ls $PROJECT/res/drawable -l | awk '{ print $8}' | sed 's/\..\+//g'); do count=0; for SRCFILE in `find $PROJECT -name "*.xml" -print 2> /dev/null`; do let "count+=$(grep -c @drawable/$file $SRCFILE)"; done; for SRCFILE in `find $PROJECT -name "*.java" -print 2> /dev/null`; do let "count+=$(grep -c R.drawable.$file $SRCFILE)"; done; if [ $count -lt 1 ]; then echo -e "\e[0;31m$file\e[0m not used"; else echo -e "\e[0;32m$file\e[0m used"; fi; done;
Il fonctionne très bien, même si je suis un bash newbie de sorte qu'il peut être fortement améliorée:
![alt text]()
Il recherche un drawable les ressources (@drawable/name
sur les fichiers XML, et R.drawable.name
sur les fichiers Java).
En passant, je ne savais pas qu' boxscore
et calendarlogos
n'étaient pas utilisés dans mon projet. Un autre drôle de fait est que la plupart des utilisateurs n'utilisent pas Linux, donc ce ne sera pas aussi aider beaucoup de gens.
Pour MacOs serait quelque chose comme ceci:
PROJECT="/path/to/the/project"
for file in $(ls -l $PROJECT/res/drawable | awk '{ print $9}' | sed 's/\..\+//g'); do count=0; for SRCFILE in `find $PROJECT -name "*.xml" -print 2> /dev/null`; do let "count+=$(grep -c @drawable/$file $SRCFILE)"; done; for SRCFILE in `find $PROJECT -name "*.java" -print 2> /dev/null`; do let "count+=$(grep -c R.drawable.$file $SRCFILE)"; done; if [ $count -lt 1 ]; then echo -e "$file not used"; else echo -e "$file used"; fi; done;