api для доступа к Android lint

#android #lint

#Android #lint

Вопрос:

Кто-нибудь знает об опубликованном API для доступа к функциям внутри Android Lint?

Вот чего я хочу. В PMD можно получить доступ к набору правил, сначала создав фабрику наборов правил, а затем выполнив итерацию по встроенным правилам PMD:

Факт RuleSetFactory = новый RuleSetFactory();

ruleSetIterator= fact.getRegisteredRuleSets();

Я хочу что-то подобное для Android Lint, способ доступа к его встроенным правилам. Когда я запускаю lint.bat —show, я получаю список правил Android Lint, я хотел бы получить к нему доступ в приложении Java.

Я не нахожу много информации, поэтому, возможно, я здесь на охоте на бекаса. Подумал, что я попрошу SO о помощи.

Ответ №1:

Из вашего вопроса ваша цель мне не на 100% ясна. Почему вы хотите получить доступ к правилам?

В общем, у вас есть три варианта:

Комментарии:

1. Что я пытался сделать, так это запустить Lint для Android внутри другого Java-приложения, обратившись к API. Это кажется невозможным, поэтому я запускаю lint из командной строки внутри приложения с проверками, которые я хочу выполнить. Ваш третий вариант выше

2. Хорошо, теперь я понимаю. К сожалению, такого API вообще не существует. Но в вашем случае вы могли бы вызвать CLI (как вы указали выше) ИЛИ написать пользовательское приложение Lint самостоятельно, расширив LintCliClient. Я сделал нечто подобное здесь github.com/a11n/lint-junit-rule/blob/master/src/main/java/com/… В этом случае у вас есть почти полный контроль. Он наиболее близок к «API для доступа к lint». Надеюсь, это поможет.