Android Lint - Как скрыть предупреждение «Ресурс Xxx не используется» - PullRequest
18 голосов
/ 21 декабря 2011

Я бы хотел отключить (новое) предупреждение Android Lint «Ресурс Xxx не используется» для некоторых конкретных ресурсов.

Для другого предупреждения Lint я смог воспользоваться Quick Assist, которыйпоказывал 3 варианта отключения предупреждения, один из которых был для этого конкретного файла.

Но это предупреждение не показывает Quick Assist, оно появляется в Eclipse с общим желтым цветом предупреждения поверх файла (определяющий ресурс).

Я также попытался вручную отредактировать файл lint.xml, как показано ниже:

<lint>
  <issue id="UnusedResources">
    <ignore path="res\layout\my_layout.xml" />
  </issue>
<lint>

, но безуспешно (я поднял id из справочника Android Lint здесь ).

Ответы [ 5 ]

23 голосов
/ 18 марта 2013

У меня была эта проблема сегодня, и я нашел страницу Улучшение вашего кода с помощью lint очень полезной.В разделе «Настройка проверки lint в XML» описывается, как игнорировать определенные ресурсы:

Вы можете использовать атрибут tools:ignore, чтобы отключить проверку lint для определенных разделов ваших файлов XML.Чтобы этот атрибут был распознан инструментом lint, в ваш XML-файл должно быть включено следующее значение пространства имен:

пространство имен xmlns: tools = "http://schemas.android.com/tools"

Затем вы можете добавить tools:ignore="UnusedResources" к ресурсам, которые нужно игнорировать.

17 голосов
/ 30 сентября 2016

Вот пример файла lint.xml, который игнорирует предупреждения для определенных идентификаторов. Файл должен быть помещен в папку приложения вашего проекта.

<?xml version="1.0" encoding="UTF-8"?>
<lint>

    <!-- Ignore the UnusedResources issue for the given ids -->
    <issue id="UnusedResources">
        <ignore regexp="ga_trackingId|google_crash_reporting_api_key" />
    </issue>
</lint>
3 голосов
/ 21 декабря 2011

Я думаю, что вы ищете это:

Перейдите в Настройки -> Android -> Проверка ошибок Lint

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

1 голос
/ 31 мая 2018

Из справки:

Подавление предупреждений и ошибок Ошибки Lint могут быть подавлены в Разнообразие способов:

  1. С аннотацией @SuppressLint в коде Java
  2. С помощью инструментов: игнорировать атрибут в файле XML
  3. С комментарием // noinspection в исходном коде
  4. С флагами игнорирования, указанными в файле build.gradle, как описано ниже
  5. С файлом конфигурации lint.xml в проекте
  6. С файлом конфигурации lint.xml, переданным lint через флаг --config
  7. С флагом --ignore, переданным lint.

Чтобы отключить предупреждение о ворсе с аннотацией, добавьте Аннотация @SuppressLint ("id") для класса, метода или переменной объявление ближе всего к экземпляру предупреждения, которое вы хотите отключить. id может быть одним или несколькими идентификаторами проблем, такими как «UnusedResources» или {"UnusedResources", "UnusedIds"}, или это может быть "all", чтобы подавить все lint предупреждения в данной области.

Чтобы подавить предупреждение lint с комментарием, добавьте идентификатор // noinspection Прокомментируйте строку перед оператором с ошибкой.

Чтобы отключить предупреждение lint в файле XML, добавьте инструменты: ignore = "id" атрибут элемента, содержащего ошибку, или один из его окружающие элементы. Вам также необходимо определить пространство имен для Префикс инструмента в корневом элементе документа, рядом с Объявление xmlns: android: Xmlns: инструменты = "http://schemas.android.com/tools"

Чтобы отключить предупреждение lint в файле build.gradle, добавьте раздел, например это:

android { lintOptions { отключить «Типографика фракций», «Типография цитаты» }}

Здесь мы указываем разделенный запятыми список идентификаторов проблем после отключения команда. Вы также можете использовать предупреждение или ошибку вместо отключения изменить серьезность проблем.

Чтобы подавить предупреждения lint с помощью файла конфигурации XML, создайте файл с именем lint.xml и поместите его в корневой каталог модуля в который применяется.

Формат файла lint.xml выглядит примерно так:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>

Чтобы подавить проверки lint из командной строки, передайте флаг --ignore с разделенным запятыми списком идентификаторов для подавления, таких как: $ lint --ignore UnusedResources, UselessLeaf / my / project / path

Для получения дополнительной информации см. http://g.co/androidstudio/suppressing-lint-warnings

Так что используйте @SuppressLint("UnusedResources") в коде или tools:ignore="UnusedResources" в XML, например.

1 голос
/ 23 мая 2012

Аналогично этот вопрос Вы можете попробовать это Исправление .При этом вы можете игнорировать предупреждения из определенной папки.Я не проверял это сам, потому что моя ситуация не так серьезна, как кажется у вас, и потому что исправление кажется сложным в использовании.

...