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 aucun problème structurel. 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 détectées par lint 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 de lint, 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 liés à la qualité structurelle de votre code sans avoir à exécuter l'application ni à écrire des 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 qui ne sont pas pertinents pour 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, les inspections lint et IDE configurées s'exécutent lorsque vous compilez votre application. Toutefois, vous pouvez effectuer 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, il souligne le code en rouge.
  • Dans la fenêtre lint Résultats de l'inspection, cliquez sur Code > Inspecter le code.

Remarque:Lorsque votre code est compilé dans Android Studio, des inspections de code IntelliJ supplémentaires sont effectué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 d'analyse de code avec l'outil lint
Fichiers sources de l'application
Les fichiers sources sont constitués de 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 susceptibles d'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 d'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:

  • Sous 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 inclut des variantes de compilation, lint ne vérifie que la variante par défaut. Si vous souhaitez exécuter lint sur une variante différente, vous devez mettre le nom de la variante en majuscules et le préfixer avec lint.

./gradlew lintRelease

Pour en savoir plus sur l'exécution de tâches Gradle à partir de la ligne de commande, consultez Créer votre 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 à l'emplacement android_sdk/cmdline-tools/version/bin/lint.

Remarque:Si vous tentez d'exécuter l'outil autonome sur un projet Gradle, un message d'erreur s'affiche. Vous devez toujours utiliser gradle lint (sous 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 la sortie 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 répertorie 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 pris en charge par lint. Vous pouvez également limiter les problèmes à vérifier par lint et vous pouvez attribuer des niveaux de gravité aux problèmes. Par exemple, vous pouvez désactiver la vérification lint pour les 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 la 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);

La même chose peut être faite 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 supprimer 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 au format 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 enfant <TextView>:

<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 supprimer 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 votre 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é donné 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 d'avertissements

Vous pouvez prendre un instantané de l'ensemble actuel d'avertissements 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 depuis 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 correspondant à votre configuration peut être différent de celui indiqué 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 enregistrer 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 des 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, un avertissement vous informe qu'un ou plusieurs problèmes ont été filtrés, car ils sont répertorié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 permet également de garder une trace des problèmes qui ne sont plus signalés. Ces informations vous permettent de savoir si vous avez réellement corrigé les problèmes. Vous pouvez donc éventuellement recréer la référence pour éviter qu'une erreur ne s'affiche à nouveau.

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 aux cas où un codebase comporte un grand nombre d'avertissements existants, mais que vous souhaitez résoudre les problèmes localement lorsque vous touchez le code.

Exécuter des inspections manuellement

Pour exécuter manuellement des inspections lint et autres inspections IDE configurées, 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 qui s'affichent dans 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 Spécifier l'étendue de l'inspection affiche une case d'option sélectionnée pour 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 montre les résultats de l'inspection 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 résolution.
  6. Dans le volet Résultats de l'inspection, affichez les résultats de l'inspection 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és 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 corriger.

  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édez à la source.
    • Exclure et inclure 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 du menu contextuel et des champs du rapport d'inspection, consultez Fenêtre de l'outil Résultats d'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 les options disponibles:

    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 actuel.
    • 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 actuel de votre projet. S'affiche lorsqu'un dossier est sélectionné.
    • 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 VCS est configuré pour le projet, des options permettent également 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 qui ne sont 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 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électionnez un champ d&#39;application partagé dans la boîte de dialogue &quot;Rechercher des utilisations&quot;
    Figure 8. Sélectionnez un champ d'application partagé dans la boîte de dialogue Find Usages (Rechercher des utilisations).
  5. Attribuez un nom au champ d'application, puis cliquez sur OK.

    Le volet droit 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 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 et tous les dossiers et fichiers qu'il contient ne sont plus mis en surbrillance en vert.
    • Si vous sélectionnez le fichier MainActivity.kt mis en surbrillance en vert et que vous cliquez sur Exclure, MainActivity.kt n'est plus surligné en vert, mais tout le reste du 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 d'inspection lint et autres qui sont 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). (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 acceptées 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 sur le schéma Icône Afficher les actions sur le schéma pour copier, renommer, ajouter des descriptions, exporter et importer des inspections.
  7. Lorsque vous avez terminé, cliquez sur OK.