Android Lint — Утилита для поиска багов

Если кто ещё не обновил свой SDK — поспешите это сделать. В 16-ой версии, помимо обновлённого ADT, имеется также обновлённый пакет инструментов, в который входит новая утилита под названием Android Lint.

Android Lint ищет потенциальные баги, то есть такие места в коде, которые в будущем могут привести к неприятностям. Утилита платформо-независима, поэтому может использоваться в той IDE, в которую вы её встроите (в Eclipse разработчики из Google её уже встроили), а также в консоли и с любыми средствами сборки, в которые её сможете интегрировать.

Небольшой перечень багов, которые ищет утилита:

  • Проблемы производительности, связанные с разметкой интерфейса (Нагороженные как ни попадя layout’ы, для чего используется дополнительная утилита layoutopt).

  • Неиспользуемые ресурсы

  • Несоответствия размеров массивов (когда массивы определены во множественных конфигурациях).

  • Проблемы доступности и интернационализации («магические» строки, отсутствие атрибута contentDescription и т.д)

  • Проблемы с иконками (несоответствия размеров, нарушение DRY)

  • Проблемы удобства использования (Например, не указан способ ввода для текстового поля)

  • Ошибки в манифесте

И другие. На странице утилиты подробно описаны все ее возможности.

Как уже говорилось, использовать утилиту можно из командной строки. Кому это интересно, прошу обратиться к оригиналу

Я же, являясь пользователем Eclipse, лучше расскажу о том, насколько удобнее пользоваться данной утилитой, когда она встроена в IDE.

Lint, встроенный в Eclipse, обладает некоторым преимуществами по сравнению с консольным вариантом. А именно:

  • Автоматическое исправление некоторых предупреждений

  • Lint запускается автоматически после некоторых операций редактирования ресурсов или кода

  • Способность исправлять налету некоторые ошибки, насколько это позволяет сама ошибка

  • Быстрый переход из области обзора ошибок, при полноценном анализе, к строке, породившей баг.

Lint запускается автоматически, когда вы:

1 Экспортируете проект. В этом случае утилита запускается в специальном режиме, отлавливая только самые суровые ошибки

2 Когда вы редактируете и сохраняете XML-файл

3 Когда вы пользуетесь визуальным средством создания интерфейса (А есть такие?)

Чтобы запустить полноценный анализ, выберите проект в дереве проектов и нажмите на иконку утилиты.

Или щёлкните по проекту правой кнопкой мыши там же и в подменю Android Tools выберите  Run Lint.

Утилита начнёт анализ, и сразу же появится область для вывода данных работы утилиты, которая состоит из меню действий и таблицы ошибок. Таблица имеет следующие столбцы: Сообщение — описание бага; Файл — имя файла, в котором найден баг и номер строки. Перейти к багу можно по двойному клику по ошибке.

Меню действий предлагает следующие действия:

  • Обновление списка ошибок, т. е. повторный анализ

  • Автоматическое исправление (например, при отсутствии атрибута contentDescription утилита добавит его со значением «TODO» )

  • Игнорировать ошибку (если вы уверены, что всё хорошо)

  • Удалить ошибку

  • Удалить все ошибки

Вы также можете поправить ошибку с помощью «быстрого исправления». Как он вызывается для участка кода, все знают, да (Ctrl — 1 by default или кто как настроит)

В меню быстрого исправления имеется возможность игнорировать выбранный баг, но в пределах проекта или игнорировать баг на определённое время. Выбранные вами действия сохраняются в файле lint.xml, который создаётся в корне проекта.

Настроить утилиту можно в меню Android > Lint Options. Но помните, что эти настройки будут общими для всех проектов.

Известные на данный момент (16-ый выпуск) ошибки утилиты:

1 Неиспользуемые ресурсы: утилита может отмечать некоторые ресурсы как неиспользуемые, хотя они таковыми не являются.

2 Детектор превышений: Как и детектор неиспользуемых ресурсов, он требует анализа Java-кода, что на данный момент не может быть выполнено при помощи синтаксического дерева Java (и в отличие от неиспользуемого детектора ресурсов, он также адекватен при использовании с Eclipse)

ЗЫ: Проверил свои проекты данной утилитой. На первом и втором проекте предупреждений подсыпала, а вот третий проект — только неиспользуемые ресурсы, что, скорее всего, бага самой утилиты. В общем же, утилита полезная. Для полноценного анализа кода советую плагин PMD для Eclipse. Он сделает ваш код чище!

У нас есть похожие новости по этим темам:
Наверх

Leave a Reply

Войти с помощью: 

Your email address will not be published. Required fields are marked *