Создание собственного детектора Java для Lint

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

Дело в том, что документация, которую я прочитал до сих пор, очень мало говорит мне о том, как реализовать класс (который, как я думаю, должен быть), реализующий Detector.JavaScanner.

http://tools.android.com/tips/lint-custom-rules

Я думаю, это довольно общий вопрос, но кто-нибудь разбирается в этой проблеме или где я могу найти действительно полезную документацию по этому вопросу?

Спасибо!


person Grégory Jourdan    schedule 06.03.2015    source источник
comment
См. мой вопрос по этой теме для пользовательской аннотации"> stackoverflow.com/questions/40133113/   -  person Moses    schedule 21.10.2016


Ответы (1)


Документация по этому вопросу очень редка, так что не волнуйтесь, если вы не нашли больше.

Лучший способ начать разработку собственных правил lint — это адаптировать существующие правила, как уже упоминалось здесь.

Вот источники стандартного набора правил Android: выберите тот, который реализует JavaScanner, чтобы узнать, как это работает.

Если вы ищете базовый шаблон проекта на основе gradle для своих пользовательских правил, взгляните на один пользовательский правило, которое я создал. Просто замените HardcodedValueDetector своим детектором и укажите его в CustomIssuesRegistry.

И последнее замечание: я провожу семинар на Droidcon 2015 в Берлине, где я подробно рассказал о том, как писать собственные правила lint. Одна часть была на сканерах Java. Я собираюсь опубликовать все исходники после этого семинара.

person André Diermann    schedule 17.04.2015
comment
Отличные ресурсы, спасибо! Мне удалось обойти эту проблему, но я обязательно проверю всю эту замечательную документацию. - person Grégory Jourdan; 20.04.2015
comment
4-я ссылка уже не работает, можете выложить обновленную? - person thisbytes; 15.01.2016
comment
Обновлено. Спасибо за подсказку. - person André Diermann; 20.01.2016
comment
@Jun попробуйте удалить s в URL (я имею в виду использовать только http). - person Atetc; 15.07.2016
comment
Кажется, отличный ответ, но некоторые ссылки уже не работают. Кто-нибудь может резюмировать JavaScanner? - person Victor Ude; 01.08.2018