Améliorer votre code avec des vérifications lint

En plus de créer des tests pour vous assurer que votre application répond à ses exigences fonctionnelles, il est important d'exécuter le code via l'outil lint pour vous assurer que votre code ne présente pas de problèmes structurels. L'outil lint vous aide à détecter un code mal structuré qui peut affecter la fiabilité et l'efficacité de vos applications Android et compliquer la gestion du code. Nous vous recommandons vivement de corriger les erreurs que lint détecte avant de publier votre application.

Par exemple, si vos fichiers de ressources XML contiennent des espaces de noms inutilisés, cela prend de l'espace et nécessite un traitement inutile. D'autres problèmes structurels, tels que l'utilisation d'éléments obsolètes ou d'appels d'API non compatibles avec les versions d'API cibles, peuvent entraîner une mauvaise exécution du code. lint peut vous aider à résoudre ces problèmes.

Pour améliorer les performances du linting, vous pouvez également ajouter des annotations à votre code.

Présentation

Android Studio fournit un outil d'analyse de code appelé lint qui peut vous aider à identifier et à corriger les problèmes de qualité structurelle de votre code sans avoir à exécuter l'application ni à écrire de scénarios de test. Chaque problème détecté par l'outil est signalé avec un message de description et un niveau de gravité afin que vous puissiez hiérarchiser les améliorations critiques à apporter. Vous pouvez également réduire le niveau de gravité d'un problème pour ignorer les problèmes sans rapport avec votre projet ou l'augmenter pour mettre en évidence des problèmes spécifiques.

L'outil lint vérifie que les fichiers sources de votre projet Android ne présentent pas de bugs potentiels et propose des optimisations visant à garantir leur exactitude, leur sécurité, leurs performances, leur facilité d'utilisation, leur accessibilité et leur internationalisation. Lorsque vous utilisez Android Studio, des inspections lint et IDE configurées s'exécutent lorsque vous compilez votre application. Toutefois, vous pouvez exécuter des inspections manuellement ou exécuter lint à partir de la ligne de commande, comme décrit sur cette page.

L'outil lint intégré vérifie votre code lorsque vous utilisez Android Studio. Vous pouvez consulter les avertissements et les erreurs des deux manières suivantes :

  • Sous forme de pop-up dans la fenêtre de l'éditeur. Lorsque lint détecte un problème, il surligne le code problématique en jaune. Pour les problèmes plus graves, le code est souligné en rouge.
  • Dans la fenêtre lint Résultats de l'inspection, lorsque vous cliquez sur Code > Inspecter le code.

Remarque:Lorsque votre code est compilé dans Android Studio, des inspections de code IntelliJ supplémentaires sont exécutées pour simplifier l'examen du code.

La figure 1 montre comment l'outil lint traite les fichiers sources de l'application.

Workflow de lecture de code avec l'outil lint.
Figure 1 : Workflow de lecture de code avec l'outil lint
Fichiers sources de l'application
Les fichiers sources sont constitués des fichiers qui constituent votre projet Android, y compris des fichiers Kotlin, Java et XML, des icônes et des fichiers de configuration ProGuard.
Le fichier lint.xml
Un fichier de configuration que vous pouvez utiliser pour spécifier les vérifications lint que vous voulez exclure et pour personnaliser les niveaux de gravité des problèmes.
L'outil lint
Outil d'analyse de code statique que vous pouvez exécuter sur votre projet Android à partir de la ligne de commande ou dans Android Studio. L'outil lint recherche les problèmes de code structurel qui pourraient affecter la qualité et les performances de votre application Android.
Résultats de la vérification lint
Vous pouvez afficher les résultats de lint dans la console ou dans la fenêtre Inspection Results (Résultats de l'inspection) d'Android Studio. Si vous exécutez lint à partir de la ligne de commande, les résultats sont écrits dans le dossier build/. Pour en savoir plus, consultez la section sur l'exécution des inspections manuellement.

Exécuter lint depuis la ligne de commande

Si vous utilisez Android Studio ou Gradle, utilisez le wrapper Gradle pour appeler la tâche lint pour votre projet en saisissant l'une des commandes suivantes à partir du répertoire racine de votre projet:

  • Sur Windows :
    gradlew lint
    
  • Sous Linux ou macOS :
    ./gradlew lint
    

Un résultat semblable aux lignes suivantes doit s'afficher :

> Task :app:lintDebug
Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html

Lorsque lint effectue ses vérifications, il fournit les chemins d'accès aux versions XML et HTML du rapport lint. Vous pouvez ensuite accéder au rapport HTML et l'ouvrir dans votre navigateur, comme illustré dans la figure 2.

Exemple de rapport lint HTML
Figure 2 : Exemple de rapport lint HTML

Si votre projet comprend des variantes de compilation, lint ne vérifie que la variante par défaut. Si vous souhaitez exécuter lint sur une autre variante, vous devez mettre en majuscule le nom de la variante et lui ajouter le préfixe lint.

./gradlew lintRelease

Pour en savoir plus sur l'exécution de tâches Gradle à partir de la ligne de commande, consultez Créer une application à partir de la ligne de commande.

Exécuter lint à l'aide de l'outil autonome

Si vous n'utilisez pas Android Studio ni Gradle, installez les outils de ligne de commande du SDK Android pour utiliser l'outil lint autonome. Recherchez l'outil lint dans android_sdk/cmdline-tools/version/bin/lint.

Remarque:Si vous tentez d'exécuter l'outil autonome sur un projet Gradle, une erreur est renvoyée. Vous devez toujours utiliser gradle lint (sur Windows) ou ./gradlew lint (sous macOS ou Linux) pour exécuter lint sur un projet Gradle.

Pour exécuter lint sur une liste de fichiers dans un répertoire de projet, utilisez la commande suivante :

lint [flags] <project directory>

Vous pouvez par exemple exécuter la commande suivante pour analyser les fichiers du répertoire myproject et de ses sous-répertoires. L'ID de problème MissingPrefix indique à lint de rechercher uniquement les attributs XML qui ne comportent pas le préfixe de l'espace de noms Android.

lint --check MissingPrefix myproject 

Pour consulter la liste complète des options et des arguments de ligne de commande pris en charge par l'outil, utilisez la commande suivante :

lint --help

L'exemple suivant montre le résultat de la console lorsque la commande lint est exécutée sur un projet appelé Earthquake:

$ lint Earthquake

Scanning Earthquake: ...............................................................................................................................
Scanning Earthquake (Phase 2): .......
AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder]
  <uses-sdk android:minSdkVersion="7" />
  ^
AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]
  <uses-sdk android:minSdkVersion="7" />
  ^
res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]
res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]
0 errors, 4 warnings

L'exemple de résultat indique quatre avertissements et aucune erreur.

Deux avertissements concernent le fichier AndroidManifest.xml du projet:

  • ManifestOrder
  • UsesMinSdkAttributes
Un avertissement concerne le fichier de mise en page Preferences.xml: UnusedResources.

Un avertissement concerne le répertoire res : IconMissingDensityFolder.

Configurer lint pour supprimer les avertissements

Par défaut, lorsque vous exécutez une analyse lint, l'outil vérifie tous les problèmes compatibles avec lint. Vous pouvez également limiter les problèmes que lint doit vérifier et attribuer des niveaux de gravité aux problèmes. Par exemple, vous pouvez désactiver la vérification lint pour des problèmes spécifiques qui ne sont pas pertinents pour votre projet, et vous pouvez configurer lint pour signaler les problèmes non critiques à un niveau de gravité inférieur.

Les niveaux de gravité sont les suivants:

  • enable
  • disable ou ignore
  • informational
  • warning
  • error
  • fatal

Vous pouvez configurer la vérification lint pour différents niveaux :

  • Global (intégralité du projet)
  • Module de projet
  • Module de production
  • Module de test
  • Fichiers ouverts
  • Hiérarchie des classes
  • Champs d'application du système de contrôle des versions

Configurer le fichier lint

Vous pouvez spécifier vos préférences de vérification lint dans le fichier lint.xml. Si vous créez ce fichier manuellement, placez-le dans le répertoire racine de votre projet Android.

Le fichier lint.xml consiste en une balise parente <lint> englobante qui contient un ou plusieurs éléments enfants <issue>. lint définit une valeur d'attribut id unique pour chaque <issue>:

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

Pour modifier le niveau de gravité d'un problème ou désactiver la vérification lint pour le problème, définissez l'attribut de gravité dans la balise <issue>.

Conseil : Pour obtenir la liste complète des problèmes pris en charge par lint et des ID de problème correspondants, exécutez la commande lint --list.

Exemple de fichier lint.xml

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

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the IconMissingDensityFolder 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>

Cet exemple montre comment les différents types de problèmes sont signalés. La vérification IconMissingDensityFolder est complètement désactivée et la vérification ObsoleteLayoutParam n'est désactivée que dans les fichiers spécifiés dans les déclarations <ignore ... /> ci-jointes.

Configurer la vérification lint pour les fichiers sources Kotlin, Java et XML

Vous pouvez désactiver la vérification lint pour vos fichiers sources Kotlin, Java et XML dans la boîte de dialogue Preferences (Préférences) :

  1. Sélectionnez File > Settings (Fichier > Paramètres) (sous Windows) ou Android Studio > Preferences (Android Studio > Préférences) (sous macOS ou Linux).
  2. Sélectionnez Éditeur > Inspections.
  3. Pour les désactiver, désélectionnez le fichier source approprié.

Vous pouvez les définir pour l'IDE ou pour des projets individuels en sélectionnant le profil approprié.

Configurer la vérification lint en Java ou Kotlin

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

L'exemple suivant montre comment désactiver la vérification lint pour le problème NewApi dans la méthode onCreate. L'outil lint continue de rechercher le problème NewApi dans d'autres méthodes de cette classe.

Kotlin

@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

Java

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

Vous pouvez faire la même chose sur n'importe quel composable. L'extrait de code suivant montre comment désactiver les vérifications NewApi sur n'importe quel composable.

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

L'exemple suivant montre comment désactiver la vérification lint pour le problème ParserError dans la classe FeedProvider :

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

Pour désactiver la vérification de tous les problèmes lint dans le fichier, utilisez le mot clé all:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Vous pouvez utiliser la même annotation pour supprimer les vérifications lint sur n'importe quelle fonction composable.

Configurer la vérification lint en XML

Utilisez l'attribut tools:ignore pour désactiver la vérification lint pour des sections spécifiques de vos fichiers XML. Placez la valeur de l'espace de noms suivante dans le fichier lint.xml afin que l'outil lint reconnaisse l'attribut :

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

L'exemple suivant montre comment désactiver la vérification lint pour le problème UnusedResources dans un élément <LinearLayout> d'un fichier de mise en page XML. L'attribut ignore est hérité par les éléments enfants de l'élément parent où il est déclaré. Dans cet exemple, la vérification lint est également désactivée pour l'élément <TextView> enfant:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="UnusedResources" >

    <TextView
        android:text="@string/auto_update_prompt" />
</LinearLayout>

Pour désactiver plusieurs problèmes, répertoriez-les dans une chaîne séparée par des virgules. Par exemple :

tools:ignore="NewApi,StringFormatInvalid"

Pour désactiver la vérification de tous les problèmes lint dans l'élément XML, utilisez le mot clé all:

tools:ignore="all"

Configurer les options lint avec Gradle

Le plug-in Android pour Gradle vous permet de configurer certaines options lint, telles que les vérifications à exécuter ou à ignorer, à l'aide du bloc lint{} dans le fichier build.gradle au niveau du module.

L'extrait de code suivant montre certaines des propriétés que vous pouvez configurer:

Kotlin

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable += "TypographyFractions" + "TypographyQuotes"
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable += "RtlHardcoded" + "RtlCompat" + "RtlEnabled"
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly += "NewApi" + "InlinedApi"
        // If set to true, turns off analysis progress reporting by lint.
        quiet = true
        // If set to true (default), stops the build if errors are found.
        abortOnError = false
        // If set to true, lint only reports errors.
        ignoreWarnings = true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies = true
    }
}
...

Groovy

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable 'TypographyFractions','TypographyQuotes'
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly 'NewApi', 'InlinedApi'
        // If set to true, turns off analysis progress reporting by lint.
        quiet true
        // If set to true (default), stops the build if errors are found.
        abortOnError false
        // If set to true, lint only reports errors.
        ignoreWarnings true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies true
    }
}
...

Toutes les méthodes lint qui ignorent le niveau de gravité d'un problème respectent l'ordre de la configuration. Par exemple, si vous définissez un problème comme fatal dans finalizeDsl(), il sera désactivé dans le DSL principal.

Créer une référence pour les avertissements

Vous pouvez prendre un instantané de l'ensemble d'avertissements actuel de votre projet, puis l'utiliser comme référence pour les futures exécutions d'inspection afin que seuls les nouveaux problèmes soient signalés. L'instantané de référence vous permet de commencer à utiliser lint pour faire échouer la compilation sans avoir à revenir en arrière pour pouvoir résoudre tous les problèmes existants.

Pour créer un instantané de référence, modifiez le fichier build.gradle de votre projet comme suit:

Kotlin

android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        baseline file("lint-baseline.xml")
    }
}

Lorsque vous ajoutez cette ligne pour la première fois, le fichier lint-baseline.xml est créé pour établir votre référence. Ensuite, les outils ne lisent que le fichier pour déterminer la référence. Si vous souhaitez créer une référence, supprimez manuellement le fichier et exécutez à nouveau lint pour le recréer.

Ensuite, exécutez lint à partir de l'IDE en sélectionnant Code > Inspect Code (Code > Inspecter le code) ou depuis la ligne de commande comme suit. Le résultat imprime l'emplacement du fichier lint-baseline.xml. L'emplacement du fichier pour votre configuration peut être différent de celui affiché ci-dessous:

$ ./gradlew lintDebug -Dlint.baselines.continue=true
...
Wrote XML report to file:///app/lint-baseline.xml
Created baseline file /app/lint-baseline.xml

L'exécution de lint enregistre tous les problèmes actuels dans le fichier lint-baseline.xml. L'ensemble des problèmes actuels est appelé référence. Vous pouvez vérifier le fichier lint-baseline.xml dans le contrôle des versions si vous souhaitez le partager avec d'autres utilisateurs.

Personnaliser la référence

Si vous ne souhaitez ajouter que certains types de problèmes à la référence, spécifiez les problèmes à ajouter en modifiant le fichier build.gradle de votre projet comme suit:

Kotlin

android {
    lint {
        checkOnly += "NewApi" + "HandlerLeak"
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        checkOnly 'NewApi', 'HandlerLeak'
        baseline file("lint-baseline.xml")
    }
}

Si vous ajoutez de nouveaux avertissements au codebase après avoir créé la référence, lint ne répertorie que les nouveaux bugs.

Avertissement de référence

Lorsqu'une référence est appliquée, vous recevez un avertissement vous informant qu'un ou plusieurs problèmes ont été filtrés, car ils sont listés dans la référence. Cet avertissement vous aide à vous rappeler que vous avez configuré une référence et que vous devez résoudre tous les problèmes à un moment donné.

Cet avertissement vous informe également des problèmes qui ne sont plus signalés. Ces informations vous permettent de savoir si vous avez effectivement résolu les problèmes. Vous pouvez donc éventuellement recréer la référence pour éviter qu'une erreur ne soit détectée.

Remarque : Les références sont activées lorsque vous exécutez des inspections en mode de traitement par lot dans l'IDE, mais elles sont ignorées pour les vérifications dans l'éditeur exécutées en arrière-plan lorsque vous modifiez un fichier. En effet, les références sont destinées au cas où un codebase comporte un grand nombre d'avertissements existants, mais que vous souhaitez résoudre les problèmes localement lorsque vous appuyez sur le code.

Exécuter des inspections manuellement

Pour exécuter manuellement des inspections lint configurées et d'autres inspections IDE, sélectionnez Code > Inspect Code (Code > Inspecter le code). Les résultats de l'inspection s'affichent dans la fenêtre Résultats de l'inspection.

Définir le champ d'application et le profil d'inspection

Sélectionnez les fichiers que vous souhaitez analyser (le champ d'application de l'inspection) et les inspections que vous souhaitez exécuter (le profil d'inspection) comme suit:

  1. Dans la vue Android, ouvrez votre projet et sélectionnez le projet, le dossier ou le fichier que vous souhaitez analyser.
  2. Dans la barre de menu, sélectionnez Code > Inspect Code (Code > Inspecter le code).
  3. Dans la boîte de dialogue Spécifier le champ d'application de l'inspection, vérifiez les paramètres.

    Spécifier le champ d&#39;application de l&#39;inspection
    Figure 3. Examinez les paramètres du champ d'application de l'inspection.

    Les options de la boîte de dialogue Spécifier l'étendue de l'inspection varient selon que vous avez sélectionné un projet, un dossier ou un fichier:

    • Lorsque vous sélectionnez un projet, un fichier ou un répertoire, la boîte de dialogue Spécifier l'étendue de l'inspection affiche le chemin d'accès au projet, au fichier ou au répertoire que vous avez sélectionné.
    • Lorsque vous sélectionnez plusieurs projets, fichiers ou répertoires, la boîte de dialogue Specify Inspection Scope (Spécifier l'étendue de l'inspection) affiche une case d'option sélectionnée pour Selected files (Fichiers sélectionnés).

    Pour modifier les éléments à inspecter, sélectionnez l'une des autres cases d'option. Consultez la boîte de dialogue Spécifier l'étendue de l'inspection pour obtenir une description de tous les champs possibles dans la boîte de dialogue Spécifier l'étendue de l'inspection.

  4. Sous Profil d'inspection, sélectionnez le profil que vous souhaitez utiliser.
  5. Cliquez sur OK pour exécuter l'inspection.

    La figure 4 présente les résultats de lint et d'autres inspections IDE de l'exécution du code d'inspection:

    Sélectionnez un problème pour voir sa résolution.
    Figure 4. Résultats de l'inspection. Sélectionnez un problème pour voir sa solution.
  6. Dans le volet Résultats de l'inspection, affichez les résultats en développant et en sélectionnant des catégories, types ou problèmes d'erreur.

    Le volet Inspection Report (Rapport d'inspection) affiche le rapport d'inspection pour la catégorie, le type ou le problème d'erreur sélectionné dans le volet Inspection Results (Résultats de l'inspection), ainsi que le nom et l'emplacement de l'erreur. Le cas échéant, le rapport d'inspection affiche d'autres informations, telles qu'un résumé du problème, pour vous aider à le résoudre.

  7. Dans l'arborescence du volet Inspection Results (Résultats de l'inspection), effectuez un clic droit sur une catégorie, un type ou un problème pour afficher le menu contextuel.

    Selon le contexte, vous pouvez:

    • Accéder à la source.
    • Excluez et incluez les éléments sélectionnés.
    • Supprimer les problèmes
    • Modifiez les paramètres.
    • Gérer les alertes d'inspection
    • Réexécutez une inspection.

Pour obtenir une description des boutons de la barre d'outils, des éléments de menu contextuel et des champs du rapport d'inspection, consultez la section Fenêtre de l'outil Résultats de l'inspection.

Utiliser un champ d'application personnalisé

Utilisez l'un des champs d'application personnalisés fournis dans Android Studio comme suit:

  1. Dans la boîte de dialogue Spécifier l'étendue de l'inspection, sélectionnez Champ d'application personnalisé.
  2. Cliquez sur la liste Champ d'application personnalisé pour afficher vos options:

    Choisir le champ d&#39;application de l&#39;inspection
    Figure 5. Sélectionnez le champ d'application personnalisé que vous souhaitez utiliser.
    • Tous les lieux:tous les fichiers.
    • Fichiers du projet:tous les fichiers du projet actuel.
    • Fichiers sources du projet:uniquement les fichiers sources du projet actuel.
    • Fichiers de production du projet : uniquement les fichiers de production du projet actuel.
    • Fichiers de test du projet : uniquement les fichiers de test du projet actuel.
    • Scratches et consoles:uniquement les fichiers de travail et les consoles que vous avez ouverts dans le projet actuel.
    • Fichiers consultés récemment:uniquement les fichiers consultés récemment dans le projet en cours.
    • Fichier actuel : uniquement le fichier actuel de votre projet. S'affiche lorsqu'un fichier ou un dossier est sélectionné.
    • Répertoire sélectionné:uniquement le dossier qui se trouve actuellement dans votre projet. S'affiche lorsqu'un dossier est sélectionné.
    • Class Hierarchy (Hiérarchie des classes) : lorsque vous sélectionnez cette option et cliquez sur OK, une boîte de dialogue s'affiche avec toutes les classes du projet actuel. Dans la boîte de dialogue, utilisez le champ Search by Name (Rechercher par nom) pour filtrer et sélectionner les classes à inspecter. Si vous ne filtrez pas la liste des classes, l'inspection du code inspecte toutes les classes.

    Si un système de contrôle des versions est configuré pour le projet, vous avez également la possibilité de limiter la recherche aux fichiers modifiés.

  3. Cliquez sur OK.

Créer un champ d'application personnalisé

Lorsque vous souhaitez inspecter une sélection de fichiers et de répertoires non couverts par aucun des champs d'application personnalisés actuellement disponibles, vous pouvez créer un champ d'application personnalisé:

  1. Dans la boîte de dialogue Spécifier l'étendue de l'inspection, sélectionnez Champ d'application personnalisé.
  2. Cliquez sur les trois points après la liste Champ d'application personnalisé.

    Boîte de dialogue &quot;Spécifier l&#39;étendue de l&#39;inspection&quot;
    Figure 6. Boîte de dialogue "Spécifier l'étendue de l'inspection"

    La boîte de dialogue Champs d'application s'affiche.

    Créer un champ d&#39;application personnalisé
    Figure 7 : Créez un champ d'application personnalisé.
  3. Cliquez sur le bouton en haut à gauche de la boîte de dialogue pour définir un nouveau champ d'application.
  4. Dans la liste Add Scope (Ajouter un champ d'application) qui s'affiche, sélectionnez Local.

    Les champs d'application locaux et partagés sont utilisées dans le projet pour la fonctionnalité Inspecter le code. Un champ d'application partagé peut également être utilisé avec d'autres fonctionnalités de projet associées à un champ d'application. Par exemple, lorsque vous cliquez surModifier les paramètres pour modifier les paramètres de Trouver des utilisations, la boîte de dialogue qui s'affiche alors contient un champ Champ d'application dans lequel vous pouvez sélectionner un champ d'application partagé.

    Sélectionner un champ d&#39;application partagé dans la boîte de dialogue &quot;Find Usages&quot; (Rechercher des utilisations)
    Figure 8 : Sélectionnez un champ d'application partagé dans la boîte de dialogue Find Usages (Trouver des utilisations).
  5. Attribuez un nom au champ d'application, puis cliquez sur OK.

    Le volet de droite de la boîte de dialogue Champs d'application contient des options qui vous permettent de définir le champ d'application personnalisé.

  6. Dans la liste, sélectionnez Projet.

    La liste des projets disponibles s'affiche.

    Remarque : Vous pouvez créer une portée personnalisée pour les projets ou les packages. Les étapes sont les mêmes.

  7. Développez les dossiers du projet, sélectionnez ce que vous souhaitez ajouter au champ d'application personnalisé, puis indiquez si vous souhaitez l'inclure ou l'exclure.

    Définir un champ d&#39;application personnalisé
    Figure 9. Définissez un champ d'application personnalisé.
    • Inclure : permet d'inclure ce dossier et ses fichiers, mais aucun de ses sous-dossiers.
    • Inclure de manière récursive: permet d'inclure ce dossier et ses fichiers, ainsi que ses sous-dossiers et leurs fichiers.
    • Exclure : permet d'exclure ce dossier et ses fichiers, mais aucun de ses sous-dossiers.
    • Exclure de manière récursive: excluez ce dossier et ses fichiers, ainsi que ses sous-dossiers et leurs fichiers.

    La figure 10 montre que le dossier main est inclus, et que les dossiers java et res sont inclus de manière récursive. Le bleu indique un dossier partiellement inclus, et le vert indique des dossiers et des fichiers inclus de manière récursive.

    Exemple de modèle pour un champ d&#39;application personnalisé
    Figure 10 : Exemple de modèle pour un champ d'application personnalisé
    • Si vous sélectionnez le dossier java et cliquez sur Exclure de manière récursive, le dossier java, ainsi que tous les dossiers et fichiers qu'il contient, sont mis en surbrillance en vert.
    • Si vous sélectionnez le fichier MainActivity.kt en vert et que vous cliquez sur Exclure, MainActivity.kt n'est plus surligné en vert, mais tout le reste sous le dossier java reste vert.
  8. Cliquez sur OK. Le champ d'application personnalisé s'affiche en bas de la liste.

Examiner et modifier les profils d'inspection

Android Studio propose une sélection de profils lint et d'autres profils d'inspection mis à jour via les mises à jour Android. Vous pouvez utiliser ces profils tels quels ou modifier leur nom, leur description, leur niveau de gravité et leur champ d'application. Vous pouvez également activer et désactiver des groupes de profils entiers ou des profils individuels au sein d'un groupe.

Pour accéder aux paramètres Inspections:

  1. Sélectionnez File > Settings (Fichier > Paramètres). (sous Windows) ou Android Studio > Préférences (sous macOS ou Linux).
  2. Sélectionnez Éditeur > Inspections.
  3. Le volet Inspections affiche la liste des inspections prises en charge et leur description.

    Inspections compatibles et leur description
    Figure 11 : Inspections compatibles et description
  4. Sélectionnez la liste Profil pour basculer entre les inspections Par défaut (Android Studio) et Par défaut du projet (le projet actif).

    Pour en savoir plus, consultez la page Gérer les profils d'IntelliJ.

  5. Dans la liste Inspections du volet de gauche, sélectionnez une catégorie de profil de niveau supérieur ou développez un groupe et sélectionnez un profil spécifique.

    Lorsque vous sélectionnez une catégorie de profil, vous pouvez modifier toutes les inspections de cette catégorie comme une seule inspection.

  6. Sélectionnez la liste Afficher les actions du schéma Icône Afficher les actions du schéma pour copier, renommer, ajouter des descriptions, exporter et importer des inspections.
  7. Lorsque vous avez terminé, cliquez sur OK.