Подтвердить что ты не робот

Есть ли инструмент для поиска неиспользуемых ресурсов в проекте Android?

Я хотел бы найти неиспользуемые ресурсы в моем проекте Android - это включает в себя строки, идентификаторы, чертежи, целые числа и т.д.

Есть ли инструмент для этого в настоящее время (желательно для Eclipse)?

4b9b3361

Ответ 1

Если вы используете IntelliJ, у которого есть поддержка Android в бесплатной версии сообщества, вы можете сделать это, открыв сгенерированный файл R.java(gen/R.java). Неиспользуемые ресурсы будут отмечены предупреждением о том, что вы не ссылаетесь нигде в своем проекте.

Я был бы удивлен, если Eclipse не сделает то же самое.

Ответ 2

Дружеское примечание. Идея IntelliJ ТОЛЬКО работает для ресурсов, на которые не ссылается код JAVA. Итак, если у вас 1500 ресурсов, и только 20 ссылок указаны непосредственно из вашего java-кода, вы получите 1480 неиспользуемых предупреждений в этом файле.

Я вижу вещи, помеченные как неиспользуемые, которые я могу ясно видеть, используются в разных макетах. Так что имейте это в виду... не продолжайте пустяк.

Ответ 3

Обновите ADT 16 и используйте Android Lint. Это действительно потрясающий инструмент.

Android Lint - это новый инструмент для ADT 16 (и инструментов 16), который сканирует источники проекта Android для возможных ошибок.

Here are some examples of the types of errors that it looks for:

- Missing translations (and unused translations)
- Layout performance problems (all the issues the old layoutopt tool used to find, and more)
- Unused resources
- Inconsistent array sizes (when arrays are defined in multiple configurations)
- Accessibility and internationalization problems (hardcoded strings, missing contentDescription, etc)
- Icon problems (like missing densities, duplicate icons, wrong sizes, etc)
- Usability problems (like not specifying an input type on a text field)
- Manifest errors
and many more.

Ответ 4

Андрей Бунёе прав на Android Lint - это путь. Чтобы конкретно ответить на вопрос для любого другого пользователя, команда:

lint --check UnusedResources <path to project>

В lint есть намного больше опций, которые вы можете видеть с помощью lint --list.

Ответ 5

android-unused-resources - это инструмент Java, который будет обнаруживать неиспользуемые ресурсы и сообщать вам, где они находятся. Он обрабатывает файлы Java и XML, поэтому он избегает проблемы в принятом ответе.

Это не идеально, но до тех пор, пока вы не динамически загружаете ресурсы (getIdentifier (java.lang.String, java.lang.String, java.lang.String)), It shouldn 't сказать вам удалить все, что на самом деле используется (хотя вы получите ошибку компилятора, даже если это произойдет).