xlint with tutorial suppresslint studio sonar que lintoptions for android resources android-lint

android - with - que es suppresslint



Android Lint-Cómo ocultar una advertencia ''Parece que el recurso Xxx no está en uso'' (5)

Me gustaría deshabilitar la (nueva) advertencia de Lint para Android ''Parece que el recurso Xxx no está en uso'' para algunos recursos específicos.

Para otra advertencia de Pelusas, tuve la oportunidad de aprovechar la Asistencia rápida, que mostró 3 opciones para desactivar la advertencia, una de ellas fue para ese archivo en particular.

Pero esta advertencia no muestra ninguna Ayuda rápida, aparece en Eclipse con el color de advertencia amarillo genérico en la parte superior de un archivo (el que define el recurso).

También intenté editar manualmente el archivo lint.xml como en el siguiente:

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

pero sin suerte (recogí el ID de una referencia de Android Lint here ).


Aquí hay un ejemplo de archivo lint.xml para ignorar las advertencias de identificadores específicos. El archivo debe colocarse dentro de la carpeta de aplicaciones de su proyecto.

<?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>


Creo que estas buscando esto:

Vaya a Preferencias -> Android -> Comprobación de errores de pelusa

Allí puede leer lo que significa el mensaje y, si es necesario, desactivar la advertencia.


De una ayuda:

Supresión de advertencias y errores Los errores de pelusa se pueden eliminar de varias maneras:

  1. Con una anotación @SuppressLint en el código de Java
  2. Con un atributo herramientas: ignorar en el archivo XML
  3. Con un // noinspection comentario en el código fuente.
  4. Con los indicadores de ignorar especificados en el archivo build.gradle, como se explica a continuación
  5. Con un archivo de configuración lint.xml en el proyecto.
  6. Con un archivo de configuración lint.xml pasado a lint a través del indicador --config
  7. Con la bandera --ignore pasada a la pelusa.

Para suprimir una advertencia de pelusa con una anotación, agregue una anotación @SuppressLint ("id") en la declaración de clase, método o variable más cercana a la instancia de advertencia que desea desactivar. La identificación puede ser una o más identificaciones de problemas, como "UnusedResources" o {"UnusedResources", "UnusedIds"}, o puede ser "all" para suprimir todas las advertencias de pelusa en el ámbito dado.

Para suprimir una advertencia de pelusa con un comentario, agregue un // comentario de noinspection id en la línea antes de la declaración con el error.

Para suprimir una advertencia de pelusa en un archivo XML, agregue un atributo de herramientas: ignore = "id" en el elemento que contiene el error, o uno de sus elementos circundantes. También debe definir el espacio de nombres para el prefijo de herramientas en el elemento raíz de su documento, junto a xmlns: declaración de android: xmlns: tools = "http://schemas.android.com/tools"

Para suprimir una advertencia de pelusa en un archivo build.gradle, agregue una sección como esta:

android {lintOptions {deshabilitar ''TypographyFractions'', ''Typography Quotes''}}

Aquí especificamos una lista separada por comas de identificadores de problemas después del comando deshabilitar. También puede usar una advertencia o error en lugar de deshabilitar para cambiar la gravedad de los problemas.

Para suprimir las advertencias de pelusas con un archivo XML de configuración, cree un archivo llamado lint.xml y colóquelo en el directorio raíz del módulo en el que se aplica.

El formato del archivo lint.xml es algo como lo siguiente:

<!-- 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>

Para suprimir las comprobaciones de pelusa desde la línea de comando, pase el indicador --ignore con una lista de identificadores separados por comas que se suprimirán, como por ejemplo:

Para obtener más información, consulte http://g.co/androidstudio/suppressing-lint-warnings

Así que use @SuppressLint("UnusedResources") en el código o las tools:ignore="UnusedResources" en XML, por ejemplo.


Similar a esta pregunta puedes probar esta bugfix . Con esto puedes ignorar las Advertencias de una carpeta específica. Yo mismo no lo he probado, porque mi situación no es tan grave como parece ser la tuya y porque también la corrección de errores parece complicada de usar.


Tuve este problema hoy y encontré que la página Mejora de su código con pelusa es muy útil. En la sección "Configuración de la comprobación de pelusas en XML", se describe cómo ignorar recursos específicos:

Puede usar las tools:ignore atributo para deshabilitar la verificación de pelusas para secciones específicas de sus archivos XML. Para que la herramienta de pelusa reconozca este atributo, debe incluir el siguiente valor de espacio de nombres en su archivo XML:

namespace xmlns: tools = "http://schemas.android.com/tools"

Entonces puedes agregar tools:ignore="UnusedResources" a los recursos que tools:ignore="UnusedResources" ignorar.