Recherche…


Remarques

L' outil Lint vérifie les fichiers sources de votre projet Android à la recherche d'éventuels bogues et d'optimisations en termes d'exactitude, de sécurité, de performances, de facilité d'utilisation, d'accessibilité et d'internationalisation. Vous pouvez exécuter Lint depuis la ligne de commande ou depuis Android Studio.

Documentation officielle:

https://developer.android.com/studio/write/lint.html

Utilisation des outils: ignore dans les fichiers xml

Les tools:ignore attribut tools:ignore peuvent être utilisés dans les fichiers xml pour tools:ignore avertissements de peluches.

MAIS rejeter les avertissements de peluches avec cette technique est la plupart du temps la mauvaise façon de procéder.

Un avertissement de peluches doit être compris et corrigé… il peut être ignoré si et seulement si vous avez une compréhension complète de sa signification et une forte raison de l'ignorer.

Voici un cas d'utilisation où il est légitime d'ignorer un avertissement de peluches:

  • Vous développez une application système (signée avec la clé du fabricant du périphérique)
  • Votre application doit modifier la date du périphérique (ou toute autre action protégée)

Ensuite, vous pouvez le faire dans votre manifeste: (c'est-à-dire demander la permission protégée et ignorer l'avertissement de peluches parce que vous savez que dans votre cas la permission sera accordée)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      ...>
    <uses-permission android:name="android.permission.SET_TIME"
        tools:ignore="ProtectedPermissions"/>

Importation de ressources sans erreur "obsolète"

En utilisant l'API Android 23 ou supérieure, très souvent, une telle situation peut être observée:

entrer la description de l'image ici

Cette situation est due au changement structurel de l'API Android concernant l'obtention des ressources. Maintenant la fonction:

public int getColor(@ColorRes int id, @Nullable Theme theme) throws NotFoundException    

Devrait être utilisé. Mais la bibliothèque android.support.v4 a une autre solution.

Ajoutez la dépendance suivante au fichier build.gradle:

com.android.support:support-v4:24.0.0

Ensuite, toutes les méthodes de la bibliothèque de support sont disponibles:

ContextCompat.getColor(context, R.color.colorPrimaryDark);
ContextCompat.getDrawable(context, R.drawable.btn_check);
ContextCompat.getColorStateList(context, R.color.colorPrimary);
DrawableCompat.setTint(drawable);
ContextCompat.getColor(context,R.color.colorPrimaryDark));

De plus, d'autres méthodes de la bibliothèque de support peuvent être utilisées:

ViewCompat.setElevation(textView, 1F);
ViewCompat.animate(textView);
TextViewCompat.setTextAppearance(textView, R.style.AppThemeTextStyle);
...

Configurer LintOptions avec gradle

Vous pouvez configurer lint en ajoutant une section lintOptions dans le fichier build.gradle :

android {

    //.....

    lintOptions {
        // turn off checking the given issue id's
        disable 'TypographyFractions','TypographyQuotes'

        // turn on the given issue id's
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'

        // check *only* the given issue id's
        check 'NewApi', 'InlinedApi'

       // set to true to turn off analysis progress reporting by lint
       quiet true
 
       // if true, stop the gradle build if errors are found
       abortOnError false
   
       // if true, only report errors
       ignoreWarnings true
    }
}

Vous pouvez exécuter lint pour une variante spécifique (voir ci-dessous), par exemple ./gradlew lintRelease , ou pour toutes les variantes ( ./gradlew lint ).

Vérifiez ici la référence DSL pour toutes les options disponibles .

Comment configurer le fichier lint.xml

Vous pouvez spécifier vos préférences de vérification de lint.xml dans le fichier lint.xml . Si vous créez ce fichier manuellement, placez-le dans le répertoire racine de votre projet Android. Si vous configurez les préférences Lint dans Android Studio, le fichier lint.xml est automatiquement créé et ajouté à votre projet Android pour vous.

Exemple:

<?xml version="1.0" encoding="UTF-8"?>
    <lint>
        <!-- list of issues to configure -->
</lint>

En définissant la valeur de l'attribut de gravité dans la balise, vous pouvez désactiver la vérification de la charpie pour détecter un problème ou modifier le niveau de gravité d'un problème.

L'exemple suivant montre le contenu d'un fichier lint.xml .

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the specified files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the specified 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>

Configuration de la vérification des peluches dans les fichiers source Java et XML

Vous pouvez désactiver la vérification de la charpie de vos fichiers source Java et XML.

Configuration de la vérification des peluches en Java

Pour désactiver la vérification de Lint spécifiquement pour une classe ou une méthode Java dans votre projet Android, ajoutez l' annotation @SuppressLint à ce code Java.

Exemple:

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

Pour désactiver la vérification de tous les problèmes de Lint:

@SuppressLint("all")

Configuration de la vérification de peluches en XML

Vous pouvez utiliser les tools:ignore attribut Ignorer pour désactiver la vérification de la charpie des sections spécifiques de vos fichiers XML .

Par exemple:

tools:ignore="NewApi,StringFormatInvalid"

Pour supprimer la vérification de tous les problèmes de Lint dans l'élément XML, utilisez

tools:ignore="all"

Mark Supprimer les avertissements

Il est recommandé de marquer des avertissements dans votre code. Par exemple, certaines méthodes obsolètes sont nécessaires pour vos tests ou votre ancienne version de support. Mais la vérification de peluches marque ce code avec des avertissements. Pour éviter ce problème, vous devez utiliser l’annotation @SuppressWarnings.

Par exemple, ajoutez ignorer les avertissements aux méthodes obsolètes. Vous devez également mettre la description des avertissements dans l'annotation:

@SuppressWarnings("deprecated");
public void setAnotherColor (int newColor) {
    getApplicationContext().getResources().getColor(newColor)
}

En utilisant cette annotation, vous pouvez ignorer tous les avertissements, y compris Lint, Android et autres. En utilisant les avertissements de suppression, aide à comprendre le code correctement!



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow