Créer et modifier des configurations d'exécution/de débogage

Lorsque vous exécutez, déboguez ou testez votre code, Android Studio utilise une configuration d'exécution/de débogage pour déterminer comment effectuer l'opération. En règle générale, la configuration par défaut suffit pour exécuter ou déboguer une application. Toutefois, vous pouvez modifier et créer des configurations, et modifier les modèles par défaut pour les adapter à votre processus de développement, comme indiqué sur cette page.

Pour en savoir plus, consultez également les documents IntelliJ suivants :

À propos des configurations d'exécution/de débogage

Les configurations d'exécution/de débogage permettent de spécifier des détails tels que les options d'installation, de lancement et de test de l'application. Vous pouvez définir une configuration pour une utilisation unique ou l'enregistrer pour une utilisation ultérieure. Après l'avoir enregistrée, vous pouvez sélectionner la configuration dans la liste déroulante Sélectionner la configuration d'exécution/de débogage se trouvant dans la barre d'outils. Android Studio enregistre les configurations dans le cadre du projet.

Configuration d'exécution/de débogage par défaut

Lorsque vous créez un projet pour la première fois, Android Studio crée une configuration d'exécution/de débogage par défaut pour l'activité principale sur la base du modèle d'application Android. Pour exécuter ou déboguer votre projet, vous devez toujours avoir défini au moins une configuration d'exécution/de débogage. C'est pourquoi nous vous recommandons de ne pas supprimer la configuration par défaut.

Contrôle du champ d'application et contrôle des versions du projet

Les configurations d'exécution/de débogage et les modifications de modèle s'appliquent uniquement au projet en cours. Vous pouvez partager une configuration d'exécution/de débogage (mais pas un modèle) via votre système de contrôle des versions. Pour en savoir plus sur le partage d'une configuration, consultez l'article Nom et options de partage des configurations.

Ouvrir la boîte de dialogue "Configurations d'exécution/de débogage"

Pour ouvrir la boîte de dialogue "Run/Debug Configurations dialog" ("Configurations d'exécution/de débogage"), sélectionnez Run > Edit Configurations (Exécuter > Modifier les configurations). La boîte de dialogue Run/Debug Configurations (Configurations d'exécution/de débogage) s'affiche, comme dans la figure 1.

Figure 1 : Boîte de dialogue Configurations d'exécution/de débogage

Vous trouverez dans la boîte de dialogue les modèles par défaut sous le dossier Defaults (Par défaut) du panneau latéral gauche et l'ensemble de vos configurations définies par type de modèle au-dessus du dossier Defaults. Vous pouvez redimensionner la boîte de dialogue pour afficher les éventuels éléments masqués.

Dans cette boîte de dialogue, vous pouvez :

Créer une configuration d'exécution/de débogage

Vous pouvez définir de nouvelles configurations d'exécution/de débogage depuis la boîte de dialogue Run/Debug Configurations (Configurations d'exécution/de débogage), la fenêtre Project ou l'éditeur de code. La nouvelle configuration doit se baser sur un modèle par défaut.

La boîte de dialogue "Configurations d'exécution/de débogage" indique vos configurations d'exécution/de débogage et les modèles par défaut disponibles. Vous pouvez créer une configuration directement à partir d'un modèle ou depuis une copie d'une autre configuration. Vous pouvez ensuite modifier les valeurs des champs selon vos besoins.

Vous pouvez également effectuer un clic droit sur un élément dans la fenêtre Project pour créer automatiquement une configuration spécifique à cet élément. Par exemple, si vous voulez exécuter une activité particulière, vous pouvez effectuer un clic droit sur le fichier Java correspondant, puis sélectionner Run. En fonction de l'élément, Android Studio utilise un modèle par défaut d'application Android, de tests d'instrumentation Android ou Android JUnit pour créer la configuration.

Dans l'éditeur de code, vous pouvez facilement créer une configuration de test et d'exécution/de débogage pour une classe ou une méthode, puis l'exécuter.

Lorsque vous créez une configuration en dehors de la boîte de dialogue Run/Debug Configurations, cette configuration est temporaire, sauf si vous l'enregistrez. Vous pouvez avoir par défaut jusqu'à cinq configurations temporaires dans le projet avant qu'Android Studio ne commence à les supprimer. Pour modifier cette configuration par défaut, accédez à la boîte de dialogue Run/Debug Configurations, puis cliquez sur le dossier Default et saisissez une valeur dans le champ Temporary Configurations Limit (Limite de configurations temporaires). Pour en savoir plus sur les configurations temporaires, consultez l'article Créer et enregistrer des configurations d'exécution/de débogage temporaires.

Créer une configuration basée sur un modèle

Pour définir une configuration d'exécution/de débogage à partir d'un modèle, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Cliquez sur Add New Configuration (Ajouter une configuration) .
  3. Sélectionnez un modèle par défaut.
  4. Saisissez un nom dans le champ Name (Nom).
  5. Modifiez la configuration selon vos besoins.
  6. Veillez à corriger les éventuelles erreurs indiquées en bas de la boîte de dialogue.

  7. Cliquez sur Apply (Appliquer) ou sur OK.

Créer une configuration à partir d'une copie

Pour définir une configuration d'exécution/de débogage à partir de la copie d'une autre configuration, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Sélectionnez une configuration d'exécution/de débogage existante dans le volet de gauche.
  3. Cliquez sur Copy Configuration (Copier la configuration) .
  4. Saisissez un nom dans le champ Name.
  5. Modifiez la configuration selon vos besoins.
  6. Veillez à corriger les éventuelles erreurs indiquées en bas de la boîte de dialogue.

  7. Cliquez sur Apply (Appliquer) ou sur OK.

Définir une configuration pour un élément du projet

Android Studio peut créer une configuration d'exécution/de débogage pour certains des éléments affichés dans la fenêtre Project. La configuration se base sur un modèle par défaut, comme suit :

Pour créer une configuration d'exécution/de débogage pour un élément de votre projet, procédez comme suit :

  1. Ouvrez un projet dans la vue Android ou Projet.
  2. Dans la fenêtre Project, effectuez un clic droit sur un élément à tester, puis sélectionnez Run filename (Exécuter) ou Debug filename (Déboguer). Android Studio crée une configuration d'exécution/de débogage temporaire et lance votre application.
  3. Dans la barre d'outils, sous Select Run/Debug Configuration (Sélectionner la configuration d'exécution/de débogage), sélectionnez Save (Enregistrer) dans la liste déroulante. Si la liste déroulante n'est pas disponible, sélectionnez View > Toolbar (Affichage > Barre d'outils).

Figure 2. Enregistrer la configuration

Remarque : Si vous effectuez un clic droit et exécutez ou déboguez le même élément (mais pas une activité), Android Studio crée une configuration.

Définir une configuration de test pour une classe ou une méthode

Android Studio vous permet de définir une configuration d'exécution test pour une classe ou une méthode, puis de l'exécuter. Par exemple, si vous créez une classe, vous pouvez créer et exécuter un test pour celle-ci. Si le test réussit, vous pouvez ensuite exécuter les tests pour le reste du projet afin de vous assurer que tout fonctionne avec votre nouveau code.

Android Studio utilise le modèle de tests d'instrumentation Android ou Android JUnit, en fonction de votre ensemble de sources. Pour un test unitaire local, vous pouvez éventuellement exécuter la configuration avec une couverture de code.

Pour créer une configuration d'exécution/de débogage pour une classe ou une méthode dans votre code Java, procédez comme suit :

  1. Ouvrez un projet dans la vue Android ou Projet.
  2. Ouvrez un fichier Java dans l'éditeur de code.
  3. Sélectionnez une classe ou une méthode dans le code, puis appuyez sur Ctrl+Maj+T (Commande+Maj+T).
  4. Dans le menu qui s'affiche, sélectionnez Create New Test (Créer un test).
  5. Dans la boîte de dialogue Create Test (Créer un test), modifiez ou définissez les valeurs, puis cliquez sur OK.
  6. Dans la boîte de dialogue Choose Destination Directory (Sélectionner un répertoire de destination), indiquez l'emplacement du projet où vous souhaitez qu'Android Studio effectue le test. Vous pouvez spécifier l'emplacement par la structure des répertoires ou en sélectionnant une classe voisine.
  7. Cliquez sur OK.

    Le nouveau test apparaît dans la fenêtre Project de l'ensemble de sources de test correspondant.

  8. Pour exécuter le test, effectuez l'une des opérations suivantes :
    • Dans la fenêtre Project, effectuez un clic droit sur le test, puis sélectionnez Run (Exécuter) ou Debug (Déboguer).
    • Dans l'éditeur de code, effectuez un clic droit sur une définition de classe ou un nom de méthode dans le fichier de test, puis sélectionnez Run ou Debug pour tester toutes les méthodes de la classe.
  9. Dans la barre d'outils, sous Sélectionner la configuration d'exécution/de débogage, sélectionnez Save (Enregistrer) dans la liste déroulante.

Figure 3. Enregistrer la configuration

Exécuter ou déboguer une application à l'aide d'une configuration enregistrée

Si vous avez enregistré une configuration d'exécution/de débogage, vous pouvez la sélectionner avant d'exécuter ou de déboguer votre application.

Pour utiliser une configuration d'exécution/de débogage enregistrée, procédez comme suit :

  1. Dans la barre d'outils, sélectionnez la configuration d'exécution/de débogage dans la liste déroulante Select Run/Debug Configuration.
  2. La liste déroulante se trouve à gauche de Run (Exécuter)  et Debug . Exemple : .

  3. Sélectionnez Run > Run ou Run > Debug.
  4. Vous pouvez également cliquer sur Run  ou Debug .

Modifier une configuration d'exécution/de débogage

Pour modifier une configuration d'exécution/de débogage, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Sélectionnez une configuration dans le volet de gauche.
  3. Modifiez la configuration selon vos besoins.
  4. Veillez à corriger les éventuelles erreurs indiquées en bas de la boîte de dialogue.

  5. Cliquez sur Apply (Appliquer) ou sur OK.

Modifier un modèle de configuration d'exécution/de débogage par défaut

Vous pouvez modifier les modèles par défaut fournis par Android Studio pour qu'ils correspondent à votre processus de développement. La modification d'un modèle n'a aucune incidence sur les configurations existantes qui l'utilisent. Par exemple, si vous devez créer un certain nombre de configurations d'un certain type, vous pouvez modifier le modèle, puis restaurer sa configuration initiale lorsque vous avez terminé.

Vous ne pouvez pas créer de modèles, mais vous pouvez créer des configurations à utiliser de la même façon qu'un modèle. Vous pouvez copier une configuration et modifier la copie pour créer d'autres configurations.

Pour modifier un modèle, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Développez le dossier Defaults, puis sélectionnez un modèle par défaut.
  3. Modifiez la configuration selon vos besoins.
  4. Veillez à corriger les éventuelles erreurs indiquées en bas de la boîte de dialogue.

  5. Cliquez sur Apply (Appliquer) ou sur OK.

Trier et regrouper les configurations

Dans la boîte de dialogue Run/Debug Configurations, vous pouvez organiser vos configurations pour les retrouver rapidement. Vous pouvez trier les éléments du dossier par ordre alphabétique et créer des dossiers pour regrouper les configurations.

Pour trier les configurations par ordre alphabétique, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Sélectionnez un dossier contenant des configurations.
  3. Cliquez sur Trier les configurations .
  4. Cliquez sur Apply (Appliquer) ou sur OK.

Pour regrouper des configurations dans des dossiers, procédez comme suit :

  1. Ouvrez la boîte de dialogue "Configurations d'exécution/de débogage".
  2. Sélectionnez un dossier contenant des configurations.
  3. Cliquez sur Créer un dossier  .
  4. Saisissez un nom dans le champ Folder Name (Nom du dossier).
  5. Faites glisser des éléments d'une même catégorie de modèle dans le dossier.
  6. Classez les dossiers et les configurations dans la même catégorie de modèle en les faisant glisser vers l'emplacement voulu ou en utilisant les options Move Up (Déplacer vers le haut)  et Move Down (Déplacer vers le bas) .
  7. Cliquez sur Apply (Appliquer) ou sur OK.

Définir les opérations à effectuer avant le lancement

Vous pouvez définir les tâches à exécuter avant le lancement de la configuration d'exécution/de débogage. Les tâches sont exécutées dans l'ordre dans lequel elles apparaissent dans la liste.

Remarque : Définir les tâches à effectuer avant le lancement est une fonctionnalité avancée. Au lieu d'utiliser cette fonctionnalité, nous vous recommandons de placer une logique de préparation, quelle qu'elle soit, comme tâches dans votre fichier build.gradle afin qu'elle soit exécutée lorsque vous compilez à partir de la ligne de commande.

Pour créer une liste de tâches, procédez comme suit :

  1. En bas de la boîte de dialogue Run/Debug Configurations sous Before launch (Avant le lancement), cliquez sur Add (Ajouter)  et sélectionnez un type de tâche. Si une boîte de dialogue s'affiche, renseignez les champs, puis cliquez sur OK.
  2. Ajoutez d'autres tâches selon vos besoins.
  3. Pour organiser les tâches, sélectionnez une tâche, puis cliquez sur Up et Bas pour les déplacer vers le haut ou vers le bas dans la liste.
  4. Sélectionnez Show this page (Afficher cette page) si vous souhaitez afficher les paramètres de configuration d'exécution/de débogage avant de les appliquer.

    Par défaut, cette option n'est pas sélectionnée.

  5. Sélectionnez Active tool window (Fenêtre de l'outil active) si vous souhaitez que la fenêtre Run ou Debug d'un outil soit activée lorsque vous exécutez ou déboguez votre application.

    Cette option est sélectionnée par défaut.

Pour supprimer une tâche de la liste, procédez comme suit :

  1. Sélectionnez une tâche.
  2. Cliquez sur Remove (Supprimer) .

Pour modifier une tâche, procédez comme suit :

  1. Sélectionnez une tâche.
  2. Cliquez sur Edit .
  3. Dans la boîte de dialogue qui s'affiche, modifiez les paramètres de la tâche, puis cliquez sur OK.

Le tableau suivant présente les tâches que vous pouvez ajouter.

Tâche Description
Exécuter l'outil externe Exécutez une application externe à Android Studio. Dans la boîte de dialogue External Tools (Outils externes), sélectionnez une ou plusieurs applications que vous souhaitez exécuter, puis cliquez sur OK. Si l'application n'est pas encore définie dans Android Studio, ajoutez sa définition dans la boîte de dialogue Create Tools (Créer des outils). Pour en savoir plus, consultez les pages Configuring Third-Party Tools (Configurer des outils tiers) et External Tools (Outils externes).
Exécuter une autre configuration Exécutez l'une des configurations d'exécution/de débogage existantes. Dans la boîte de dialogue Choose Configuration to Execute (Choisir la configuration à exécuter), sélectionnez une configuration à exécuter, puis cliquez sur OK.
Make Compilez le projet ou le module. Android Studio exécute la commande Make Module si la configuration d'exécution/de débogage indique un module précis, ou exécute la commande Make Project si aucun module n'est défini.
Make Project Compilez le projet. Android Studio exécute la commande Make Project.
Make, aucune vérification d'erreur Cette option est identique à Make, sauf qu'Android Studio exécute la configuration d'exécution/de débogage sans tenir compte du résultat de la compilation.
Artefacts de build Non compatible avec Android Studio.
Exécuter la tâche Gradle Exécutez une tâche Gradle. Dans la boîte de dialogue qui s'affiche, indiquez les détails, puis cliquez sur OK. Pour en savoir plus, consultez Gradle.
Make avec Gradle Compilez le projet et exécutez Gradle.
Compilateur Gradle App Engine La tâche du compilateur Gradle App Engine permet de synchroniser le projet, puis de compiler le module.

Modèles de configuration exécution/de débogage par défaut

Android Studio fournit des modèles de configuration par défaut pour vous aider à démarrer rapidement. Les sections suivantes décrivent les modèles qui s'appliquent au développement Android avec Android Studio :

Remarque : Contrairement aux versions récentes d'Android Studio, la version 2.1.x et les versions antérieures possédaient un modèle d'application native. Si vous disposez d'un modèle d'application native dans un projet, Android Studio le convertit en application Android lorsque vous chargez le projet. Une boîte de dialogue Convert Project (Convertir le projet) vous guide tout au long du processus.

Modèles non compatibles

Les modèles suivants, non compatibles avec IntelliJ IDEA, ne sont pas spécifiques au développement Android avec Android Studio. Pour en savoir plus sur l'utilisation de ces modèles, suivez les liens vers la documentation IntelliJ IDEA.

Options de configuration courantes

Les options Name (Nom), Allow parallel run (Autoriser l'exécution parallèle) et Store as project file (Stocker en tant que fichier de projet) sont communes à plusieurs modèles de configuration. Pour en savoir plus, consultez Paramètres courants.

Android Studio stocke la configuration d'exécution/de débogage partagée dans des fichiers XML individuels dans le dossier project_directory/.idea/runConfigurations/. Pour en savoir plus, consultez la section Directory-based format (Format basé sur le répertoire) dans la documentation des projets IntelliJ.

Application Android

Vous pouvez exécuter ou déboguer des applications et des activités Android sur des appareils virtuels ou matériels à l'aide de configurations basées sur ce modèle.

Onglet "Général"

Dans l'onglet General (Général), vous pouvez spécifier les options d'installation, de lancement et de déploiement. L'onglet Miscellaneous (Divers) contient également des options d'installation.

Champ Description
Module Sélectionnez un module auquel appliquer cette configuration.
Options d'installation : déploiement

Sélectionnez une option :

  • Default APK (APK par défau) : créez et déployez un APK pour la variante que vous avez sélectionnée.
  • APK from app bundle (APK à partir d'un app bundle) : créez et déployez votre application à partir d'un Android App Bundle. Autrement dit, Android Studio convertit d'abord votre projet d'application dans un app bundle incluant l'ensemble du code et des ressources compilés de votre application. À partir de cet app bundle, Android Studio ne génère ensuite que les APK nécessaires au déploiement de votre application sur l'appareil connecté. Vous devez généralement utiliser cette option lorsque vous testez l'app bundle que vous souhaitez importer sur Google Play. En effet, le déploiement à partir d'un app bundle allonge la durée totale de compilation.
  • Custom Artifact (Artefact personnalisé) : non compatible avec Android Studio.
  • Nothing (Rien) : n'installez pas de fichier APK sur un appareil. Par exemple, si vous préférez installer manuellement l'APK, vous n'avez pas besoin d'Android Studio.
Options d'installation : déployer en tant qu'appli instantanée Si votre application est compatible avec les expériences instantanées, vous pouvez soit les proposer lorsque vouscréer un projet, soit créer un ou plusieursmodules de fonctionnalité permettant une utilisation instantanée. Vous pouvez choisir de déployer ces modules permettant une utilisation instantanée en cochant la case à côté de Deploy as instant app (Déployer en tant qu'appli instantanée).
Options d'installation : fonctionnalités à déployer Si votre application comprend des modules de fonctionnalités, cochez la case à côté de chaque fonctionnalité que vous souhaitez inclure lors du déploiement de votre application. Cette option ne s'affiche que si votre application inclut des modules de fonctionnalités.

Remarque : Si vous souhaitez tester le téléchargement et l'installation de modules de fonctionnalités à la demande, vous devez le faire après avoir publié votre app bundle, puis utiliser le canal de test interne de la Play Console. Pour en savoir plus, consultez Importer votre app bundle dans la Play Console.

Options d'installation : indicateurs d'installation Saisissez les options pm install adb que vous souhaitez utiliser. Mettez en forme les options de la même manière que pour la ligne de commande, mais sans indiquer de chemin d'accès. Voici quelques exemples :

-i foo.bar.baz -r /path/to/apk

et

-d -r

Par défaut : aucune option.

Options de lancement : lancement

Sélectionnez une option :

  • Nothing (Rien) : ne lancez rien lorsque vous sélectionnez Run (Exécuter) ou Debug (Déboguer). Toutefois, si votre application est déjà en cours d'exécution et que vous sélectionnez Debug (Déboguer), Android Studio associe le débogueur au processus de votre application.
  • Default Activity (Activité par défaut) : lancez l'activité que vous avez indiquée pour le démarrage dans le fichier manifeste. Exemple :
    
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    
  • Specified Activity (Activité spécifiée) : lancez une activité dans l'application spécifique dans votre module. Lorsque cette option est sélectionnée, le champ Activity (Activité) s'affiche en dessous. Vous pouvez y saisir le nom de l'activité à lancer ou cliquer sur More (Plus) pour sélectionner une activité dans une liste.
  • URL : lancez une URL qui correspond à un filtre d'intent dans le fichier manifeste de votre application. Lorsque cette option est sélectionnée, le champ URL s'affiche en dessous. Vous pouvez y saisir l'URL.

    Vous devez renseigner ce champ pour lancer une Appli instantanée Android. Vous pouvez également l'utiliser pour tester vos Android App Links.

Options de lancement : indicateurs de lancement Saisissez les options am start adb que vous souhaitez utiliser. Mettez en forme les options de la même manière que pour la ligne de commande, mais sans intent. Exemple :

-W

Cette option n'apparaît pas si vous avez sélectionné la valeur Nothing pour Launch (Lancement).

Par défaut : aucune option.

Options de cible de déploiement : cible

Sélectionnez une option :

  • Open Select Deployment Target Dialog (Ouvrir la boîte de dialogue "Sélectionner une cible de déploiement") : ouvrez la boîte de dialogue Select Deployment Target (Sélectionner une cible de déploiement) pour sélectionner un appareil virtuel ou physique.
  • USB Device (Périphérique USB) : utilisez un appareil connecté à votre ordinateur de développement via un port USB. Si plusieurs appareils sont connectés, une boîte de dialogue s'affiche pour vous permettre de sélectionner l'appareil de votre choix.
  • Emulator (Émulateur) : utilisez un appareil virtuel. Dans une configuration, vous pouvez sélectionner un AVD. Sans sélection de votre part, l'émulateur utilise simplement le premier AVD de la liste.

Deployment Target Options (Options de cible de déploiement) : utiliser le même appareil pour les futurs lancements

Par défaut, cette option est désélectionnée de sorte que chaque fois que vous exécutez une application, la boîte de dialogue Select Deployment (Sélectionner un déploiement) s'affiche pour vous permettre de sélectionner un appareil. Lorsque vous sélectionnez cette option, puis exécutez une application, la boîte de dialogue Select Deployment (Sélectionner un déploiement) s'affiche pour vous permettre de sélectionner un appareil. Par la suite, chaque fois que vous exécuterez l'application, elle se lancera sur l'appareil que vous avez sélectionné, sans afficher la boîte de dialogue Select Deployment (Sélectionner un déploiement). Pour exécuter l'application sur un autre appareil, désélectionnez l'option Use same device for future launches (Utiliser le même appareil pour les futurs lancements) ou arrêtez l'application via Run > Stop app (Exécuter > Stop) ou Stôp , puis relancez-la. La boîte de dialogue Select Deployment s'affiche pour vous permettre de sélectionner un appareil.
Avant le lancement Consultez l'article Définir avant les opérations de lancement.

Onglet "Divers"

Dans l'onglet Miscellaneous, vous pouvez spécifier les options Logcat, d'installation, de lancement et de déploiement. L'onglet General contient également des options d'installation.

Champ Description
Logcat : afficher automatiquement Logcat Lorsque cette option est sélectionnée, la fenêtre Logcat s'ouvre chaque fois que vous déployez et lancez avec succès une application à l'aide de cette configuration. Valeur par défaut : sélectionnée.
Logcat : effacer le journal avant le lancement Sélectionnez cette option si vous voulez qu'Android Studio supprime les données des sessions précédentes du fichier journal avant de démarrer l'application. Valeur par défaut : désélectionnée.
Options d'installation : ignorez l'installation si les fichiers APK n'ont pas changé. Lorsque cette option est sélectionnée, Android Studio ne redéploie pas votre APK s'il détecte qu'il est inchangé. Si vous voulez qu'Android Studio force une installation des fichiers APK, même s'ils n'ont pas changé, désélectionnez cette option. Valeur par défaut : sélectionnée
Options d'installation : forcez l'arrêt de l'application avant de lancer l'activité

Si cette option est sélectionnée, lorsqu'Android Studio détecte qu'il n'est pas nécessaire de réinstaller les fichiers APK, car ils n'ont pas changé, il force l'arrêt de l'application pour qu'elle démarre à partir de l'activité du Lanceur d'applications par défaut. Si cette option est désélectionnée, Android Studio ne force pas l'arrêt de l'application.

Cette option fonctionne avec l'option précédente, qui détermine si des fichiers APK sont installés ou non. Pour les deux champs Installation Options (Options d'installation), laissez-les par défaut, sauf si vous voulez explicitement forcer une installation à chaque fois.

Dans certains cas, vous pouvez vouloir désélectionner cette option. Par exemple, si vous utilisez un moteur de méthode de saisie (IME, Input Method Engine), il est désélectionné comme clavier actuel lors de l'arrêt forcé de l'application, ce qui n'est pas forcément souhaitable.

Valeur par défaut : sélectionnée

Avant le lancement Consultez l'article Définir avant les opérations de lancement.

Onglet "Debugger" (Débogueur)

Spécifiez les options de débogage dans l'onglet Debugger (Débogueur).

Pour le code C et C++, Android Studio utilise le débogueur LLDB. En plus de l'interface utilisateur Android Studio normale, la fenêtre du débogueur comporte un onglet LLDB qui vous permet de saisir des commandes LLDB pendant le débogage. Vous pouvez saisir les mêmes commandes qu'Android Studio pour afficher des informations dans l'interface utilisateur du débogueur et effectuer des opérations supplémentaires.

Pour les projets C et C++, vous pouvez ajouter des répertoires de symboles, ainsi que des commandes de démarrage et post association LLDB, dans l'onglet Debugger. Pour ce faire, utilisez des boutons semblables à ceux présentés ci-dessous :

  • Add (Ajouter)  : ajoutez un répertoire ou une commande.
  • Remove (Supprimer)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour supprimer l'élément.
  • Up (Haut)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour déplacer l'élément vers le haut de la liste.
  • Down (Bas)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour déplacer l'élément vers le bas de la liste.

Pour en savoir plus sur le débogage dans Android Studio, consultez Debug Your App.

Champ Description
Type de débogage

Sélectionnez l'une des options suivantes :

  • Java only (Java uniquement) : déboguez le code Java uniquement.
  • Detect Automatically (Détecter automatiquement)  : permet à Android Studio de choisir le meilleur type de débogage pour votre projet.
  • Native only (Natif uniquement) : déboguez du code C ou C++ natif.
  • Dual (Java + Native) (Double [Java et Natif]) : déboguez Java et le code natif dans deux sessions de débogage distinctes.

Nous vous recommandons d'utiliser l'option Detect Automatically (Détecter automatiquement), car elle choisit le type de débogage adapté à votre projet.

Répertoires de symboles

Si vous souhaitez ajouter des fichiers de symboles pour fournir au débogueur les informations C ou C++ générées en dehors d'Android Studio, vous pouvez ajouter un ou plusieurs répertoires ici. Android Studio utilise généralement des fichiers de ces répertoires plutôt que les fichiers générés par le plug-in Android pour Gradle. Le débogueur effectue la recherche dans les répertoires de haut en bas, dans l'ordre, jusqu'à ce qu'il trouve ce dont il a besoin. Il effectue une recherche récursive dans les fichiers du répertoire. Pour optimiser la liste et gagner du temps, placez les répertoires utilisés le plus souvent au début de la liste.

Si vous spécifiez un répertoire situé loin dans l'arborescence, la recherche dans tous les sous-répertoires peut prendre plus de temps. Si vous ajoutez un répertoire très spécifique, la recherche prend moins de temps. Vous devez trouver le bon équilibre entre la vitesse et les fichiers dont vous avez besoin pour le débogage. Par exemple, si vous disposez d'un répertoire contenant des sous-répertoires pour différentes Interfaces Android binaires (ABI), vous pouvez choisir d'ajouter un répertoire pour une ABI spécifique ou pour toutes les ABI. Bien que la recherche dans le répertoire de niveau supérieur puisse prendre plus de temps, elle est également plus efficace si vous décidez de procéder au débogage sur un autre appareil.

Notez que vous n'avez pas besoin d'ajouter des répertoires contenant des fichiers de symboles Gradle, car le débogueur les utilise automatiquement.

Commandes de démarrage LLDB

Ajoutez les commandes LLDB que vous souhaitez exécuter avant que le débogueur ne soit associé au processus. Par exemple, vous pouvez définir les paramètres de l'environnement, comme indiqué dans la commande suivante :

settings set target.max-memory-read-size 2048

LLDB exécute les commandes dans l'ordre, de haut en bas.

Commandes LLDB post association

Ajoutez les commandes LLDB que vous souhaitez exécuter juste après l'association du débogueur au processus. Exemple :

process handle SIGPIPE -n true -p true -s false

LLDB exécute les commandes dans l'ordre, de haut en bas.

Répertoire de travail de l'hôte Définissez le répertoire de travail LLDB.
Journalisation : canaux cibles

Spécifiez les options de journal LLDB. Android Studio définit les options par défaut en fonction de l'expérience de l'équipe. Il n'est donc pas trop lent, mais contient les informations nécessaires pour résoudre les problèmes. Le journal est souvent demandé pour les rapports de bugs Android Studio. Cette valeur par défaut est

lldb process:gdb-remote packets

Vous pouvez modifier la valeur par défaut pour recueillir plus d'informations. Par exemple, les options de journal suivantes collectent des informations sur un platform spécifique :

lldb process platform:gdb-remote packets

Pour obtenir la liste complète des commandes de journal, saisissez la commande log list à partir d'une fenêtre du shell LLDB dans Android Studio.

Android Studio place les journaux de l'appareil à l'emplacement suivant, où ApplicationId est l'ID d'application unique utilisé dans le fichier manifeste de l'APK créé. Il identifie aussi votre application sur votre appareil et sur le Google Play Store :

/data/data/ApplicationId/lldb/log

Si plusieurs utilisateurs accèdent à un appareil, les journaux sont placés à l'emplacement suivant, où AndroidUserId correspond à un identifiant unique pour l'utilisateur de l'appareil :

/data/user/AndroidUserId/ApplicationId/lldb/log

Pour plus d'informations sur l'utilisation de LLDB pour le débogage à distance, consultez l'article Débogage à distance.

Avant le lancement Consultez l'article Définir avant les opérations de lancement.

Onglet "Profilage"

Vous devez cocher l'option Enable advanced profiling (Activer le profilage avancé) pour activer certaines fonctionnalités d'Android Profiler lorsque votre appareil est équipé d'Android 7.1 ou version antérieure.

Tests Android

Le modèle de test à utiliser dépend de votre ensemble de sources. Le modèle Tests d'instrumentation Android est destiné à un test d'instrumentation. Le modèle JUnit Android est destiné à un test unitaire local.

Remarque : Si vous utilisez Firebase Test Lab sur des appareils différents, vous pouvez utiliser le modèle Android JUnit pour définir vos tests d'instrumentation. Pour en savoir plus, consultez Exécuter vos tests avec Firebase Test Lab.

Les descriptions d'onglet suivantes couvrent les onglets et les champs du modèle de test d'instrumentation Android. Pour en savoir plus sur les onglets et les champs du modèle de test Android JUnit, consultez la page IntelliJ configuration d'exécution/de débogage : JUnit.

Onglet "General"

Dans l'onglet General, vous pouvez préciser l'emplacement du test, l'exécuteur d'instrumentation, l'interface système adb et les options de déploiement.

Champ Description
Module Sélectionnez un module auquel appliquer cette configuration.
Test

Précisez à cet endroit l'emplacement des tests que vous souhaitez exécuter :

  • All in module (Tous dans le module) : lancez tous les tests depuis le module sélectionné.
  • All in package (Tous dans le package) : lancez tous les tests depuis le package spécifié dans le champ Package. Saisissez le nom ou cliquez sur More pour sélectionner le package dans une boîte de dialogue.
  • Class : lancer les tests de la classe spécifiée dans le champ Class. Saisissez le nom du cours ou cliquez sur More pour sélectionner la classe dans une boîte de dialogue.
  • Method (Méthode) : lancez une méthode de test. Dans le champ Class, précisez la classe qui contient la méthode. Dans le champ Method, précisez la méthode. Saisissez le nom ou cliquez sur More pour sélectionner la classe ou la méthode depuis une boîte de dialogue.
Exécuteur d'instrumentation spécifique (facultatif) Saisissez l'emplacement de l'exécuteur d'instrumentation, puis cliquez sur More pour utiliser une boîte de dialogue. Le fichier build.gradle précise l'emplacement de l'exécuteur d'instrumentation. Cette valeur l'ignore. La valeur par défaut est généralement la classe AndroidJUnitRunner du test AndroidX.
Options supplémentaires

Saisissez les options am instrument adb que vous souhaitez utiliser. Ne saisissez pas le composant. Par exemple, si vous utilisez AndroidJUnitRunner du test AndroidX, vous pouvez vous servir de ce champ pour transmettre des options supplémentaires à l'exécuteur, par exemple -e size small.

Par défaut : aucune option

Options de cible de déploiement : cible

Sélectionnez une option :

  • Open Select Deployment Target Dialog (Ouvrir la boîte de dialogue "Sélectionner une cible de déploiement") : ouvrez la boîte de dialogue Select Deployment Target (Sélectionner une cible de déploiement) pour sélectionner un appareil virtuel ou physique.
  • USB Device (Périphérique USB) : utilisez un appareil connecté à votre ordinateur de développement via un port USB. Si plusieurs appareils sont connectés, une boîte de dialogue s'affiche pour vous permettre de sélectionner l'appareil de votre choix.
  • Emulator (Émulateur) : utilisez un appareil virtuel. Dans une configuration, vous pouvez sélectionner un AVD. Sans sélection de votre part, l'émulateur utilise simplement le premier AVD de la liste.
  • Firebase Test Lab Device Matrix (Matrice d'appareils de Firebase Test Lab) : consultez la page Run Your Tests with Firebase Test Lab (Exécuter des tests avec Firebase Test Lab).
Deployment Target Options (Options de cible de déploiement) : utiliser le même appareil pour les futurs lancements Si vous souhaitez à l'avenir utiliser automatiquement l'appareil que vous avez choisi dans la boîte de dialogue Select Deployment Target (Sélectionner une cible de déploiement), choisissez cette option. Si l'appareil n'est pas disponible, une boîte de dialogue s'affiche. Valeur par défaut : désélectionnée
Avant le lancement Consultez l'article Définir avant les opérations de lancement.

Onglet "Divers"

L'onglet Miscellaneous contient les options Logcat et d'installation.

Champ Description
Logcat : effacer le journal avant le lancement Sélectionnez cette option si vous voulez qu'Android Studio supprime les données des sessions précédentes du fichier journal avant de démarrer l'application. Valeur par défaut : désélectionnée.
Options d'installation : ignorer l'installation si l'APK n'a pas changé Lorsque cette option est sélectionnée, Android Studio ne redéploie pas votre APK s'il détecte qu'il est inchangé. Si vous voulez qu'Android Studio force une installation des fichiers APK, même s'ils n'ont pas changé, désélectionnez cette option. Valeur par défaut : sélectionnée
Options d'installation : forcez l'arrêt de l'application avant de lancer l'activité

Si cette option est sélectionnée, lorsqu'Android Studio détecte qu'il n'est pas nécessaire de réinstaller les fichiers APK, car ils n'ont pas changé, il force l'arrêt de l'application pour qu'elle démarre à partir de l'activité du Lanceur d'applications par défaut. Si cette option est désélectionnée, Android Studio ne force pas l'arrêt de l'application.

Cette option fonctionne avec l'option précédente, qui détermine si des fichiers APK sont installés ou non. Pour les deux champs Installation Options (Options d'installation), laissez-les par défaut, sauf si vous voulez explicitement forcer une installation à chaque fois.

Dans certains cas, vous pouvez vouloir désélectionner cette option. Par exemple, si vous utilisez un moteur de méthode de saisie (IME, Input Method Engine), il est désélectionné comme clavier actuel lors de l'arrêt forcé de l'application, ce qui n'est pas forcément souhaitable.

Valeur par défaut : sélectionnée

Avant le lancement Consultez l'article Définir avant les opérations de lancement.

Onglet "Debugger" (Débogueur)

Spécifiez les options de débogage dans l'onglet Debugger (Débogueur).

Pour le code C et C++, Android Studio utilise le débogueur LLDB. En plus de l'interface utilisateur Android Studio normale, la fenêtre du débogueur comporte un onglet LLDB qui vous permet de saisir des commandes LLDB pendant le débogage. Vous pouvez saisir les mêmes commandes qu'Android Studio pour afficher des informations dans l'interface utilisateur du débogueur et effectuer des opérations supplémentaires.

Pour les projets C et C++, vous pouvez ajouter des répertoires de symboles, ainsi que des commandes de démarrage et post association LLDB, dans l'onglet Debugger. Pour ce faire, utilisez des boutons semblables à ceux présentés ci-dessous :

  • Add (Ajouter)  : ajoutez un répertoire ou une commande.
  • Remove (Supprimer)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour supprimer l'élément.
  • Up (Haut)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour déplacer l'élément vers le haut de la liste.
  • Down (Bas)  : sélectionnez un répertoire ou une commande, puis cliquez sur ce bouton pour déplacer l'élément vers le bas de la liste.

Pour en savoir plus sur le débogage dans Android Studio, consultez Debug Your App.

Champ Description
Type de débogage

Sélectionnez l'une des options suivantes :

  • Java only (Java uniquement) : déboguez le code Java uniquement.
  • Detect Automatically (Détecter automatiquement)  : permet à Android Studio de choisir le meilleur type de débogage pour votre projet.
  • Native only (Natif uniquement) : déboguez du code C ou C++ natif.
  • Dual (Java + Native) (Double [Java et Natif]) : déboguez Java et le code natif dans deux sessions de débogage distinctes.

Nous vous recommandons d'utiliser l'option Detect Automatically (Détecter automatiquement), car elle choisit le type de débogage adapté à votre projet.

Répertoires de symboles

Si vous souhaitez ajouter des fichiers de symboles pour fournir au débogueur les informations C ou C++ générées en dehors d'Android Studio, vous pouvez ajouter un ou plusieurs répertoires ici. Android Studio utilise généralement des fichiers de ces répertoires plutôt que les fichiers générés par le plug-in Android pour Gradle. Le débogueur effectue la recherche dans les répertoires de haut en bas, dans l'ordre, jusqu'à ce qu'il trouve ce dont il a besoin. Il effectue une recherche récursive dans les fichiers du répertoire. Pour optimiser la liste et gagner du temps, placez les répertoires utilisés le plus souvent au début de la liste.

Si vous spécifiez un répertoire situé loin dans l'arborescence, la recherche dans tous les sous-répertoires peut prendre plus de temps. Si vous ajoutez un répertoire très spécifique, la recherche prend moins de temps. Vous devez trouver le bon équilibre entre la vitesse et les fichiers dont vous avez besoin pour le débogage. Par exemple, si vous disposez d'un répertoire contenant des sous-répertoires pour différentes Interfaces Android binaires (ABI), vous pouvez choisir d'ajouter un répertoire pour une ABI spécifique ou pour toutes les ABI. Bien que la recherche dans le répertoire de niveau supérieur puisse prendre plus de temps, elle est également plus efficace si vous décidez de procéder au débogage sur un autre appareil.

Notez que vous n'avez pas besoin d'ajouter des répertoires contenant des fichiers de symboles Gradle, car le débogueur les utilise automatiquement.

Commandes de démarrage LLDB

Ajoutez les commandes LLDB que vous souhaitez exécuter avant que le débogueur ne soit associé au processus. Par exemple, vous pouvez définir les paramètres de l'environnement, comme indiqué dans la commande suivante :

settings set target.max-memory-read-size 2048

LLDB exécute les commandes dans l'ordre, de haut en bas.

Commandes LLDB post association

Ajoutez les commandes LLDB que vous souhaitez exécuter juste après l'association du débogueur au processus. Exemple :

process handle SIGPIPE -n true -p true -s false

LLDB exécute les commandes dans l'ordre, de haut en bas.

Répertoire de travail de l'hôte Définissez le répertoire de travail LLDB.
Journalisation : canaux cibles

Spécifiez les options de journal LLDB. Android Studio définit les options par défaut en fonction de l'expérience de l'équipe. Il n'est donc pas trop lent, mais contient les informations nécessaires pour résoudre les problèmes. Le journal est souvent demandé pour les rapports de bugs Android Studio. Cette valeur par défaut est

lldb process:gdb-remote packets

Vous pouvez modifier la valeur par défaut pour recueillir plus d'informations. Par exemple, les options de journal suivantes collectent des informations sur un platform spécifique :

lldb process platform:gdb-remote packets

Pour obtenir la liste complète des commandes de journal, saisissez la commande log list à partir d'une fenêtre du shell LLDB dans Android Studio.

Android Studio place les journaux de l'appareil à l'emplacement suivant, où ApplicationId est l'ID d'application unique utilisé dans le fichier manifeste de l'APK créé. Il identifie aussi votre application sur votre appareil et sur le Google Play Store :

/data/data/ApplicationId/lldb/log

Si plusieurs utilisateurs accèdent à un appareil, les journaux sont placés à l'emplacement suivant, où AndroidUserId correspond à un identifiant unique pour l'utilisateur de l'appareil :

/data/user/AndroidUserId/ApplicationId/lldb/log

Pour plus d'informations sur l'utilisation de LLDB pour le débogage à distance, consultez l'article Débogage à distance.

Avant le lancement Consultez l'article Définir avant les opérations de lancement.

DevAppServer App Engine

Cette configuration d'exécution/de débogage s'applique à Google Cloud Platform. Pour en savoir plus, consultez la page Exécuter, tester et déployer le backend. Lorsque vous suivez ces étapes et synchronisez votre projet avec le fichier build.gradle, Android Studio crée automatiquement une configuration DevAppServer App Engine.

Notez que le modèle Server App Engine d'IntellJ IDEA est un modèle différent qui n'est pas disponible dans Android Studio.

Champ Description
Une seule instance Si vous souhaitez vous assurer qu'une seule instance de la configuration d'exécution/de débogage est en cours d'exécution, sélectionnez cette option. Elle ne permet pas plusieurs exécutions de la même configuration en même temps. Valeur par défaut : sélectionnée
Module Sélectionnez un module auquel appliquer cette configuration.
Synchroniser avec la configuration build.gradle Si vous ajoutez un module App Engine et que vous le synchronisez avec le fichier build.gradle, les champs de configuration du serveur d'applications App Engine sont complétés pour vous (recommandé). Lorsque vous sélectionnez File > Sync Project with Gradle Files (Fichier > Synchroniser le projet avec les fichiers Gradle), le projet est également synchronisé. Valeur par défaut : sélectionnée
SDK App Engine Saisissez un chemin d'accès vers un SDK Google App Engine pour Java sur la machine locale. Cliquez sur ... pour le sélectionner dans une boîte de dialogue.
Chemin d'accès WAR Saisissez un chemin d'accès au répertoire d'archives d'applications Web (WAR) de l'application que vous déployez sur le serveur de développement local. Cliquez sur pour le sélectionner dans une boîte de dialogue.
VM Args

Précisez les options de ligne de commande que vous souhaitez transmettre à la VM pour lancer DevAppServer. Lorsque vous précisez les options :

  • Utilisez des espaces pour séparer les différentes options.
  • Pour les options comportant des espaces, placez-la entre guillemets (" ").
  • Si une option comprend des guillemets, ajoutez une barre oblique inverse avant le guillemet (\").

Pour en savoir plus sur les options de VM, consultez la documentation de votre version J2SE, telle quejava JDK 7 ou java JDK 8.

Par défaut : aucune option

Adresse du serveur Saisissez l'adresse hôte à utiliser pour le serveur. Vous devrez peut-être fournir l'adresse pour pouvoir accéder au serveur de développement à partir d'un autre ordinateur de votre réseau. Une adresse 0.0.0.0 autorise les accès à la fois à partir d'un hôte local et à partir d'un nom d'hôte. Valeur par défaut : hôte local.
Port du serveur Saisissez le numéro de port à utiliser pour le serveur. Par défaut : 8080
Désactiver la vérification des mises à jour du SDK App Engine Si elle est activée, le serveur de développement ne contacte pas App Engine pour vérifier si une nouvelle version du SDK est disponible. Lors du démarrage, le serveur vérifie par défaut si une nouvelle version existe et affiche un message si tel est le cas.
Avant le lancement Consultez Définir avant les opérations de lancement.

Configurations d'exécution/de débogage de Wear OS

Les modèles de complication, de carte et de cadran Wear OS vous permettent d'exécuter ou de déboguer des applications Wear OS sur des appareils virtuels ou matériels. La plupart des options de configuration des modèles sont identiques aux options pour les applications Android. Voici les options plus spécifiques aux configurations d'exécution/de débogage Wear OS :

  • Pour toutes les configurations d'exécution/de débogage Wear, vous devez sélectionner une source de données de complication, une carte ou un cadran spécifiques (selon le modèle) auxquels appliquer la configuration. En général, chacune de ces entités correspond à une classe de votre code.
  • Pour la configuration d'exécution/de débogage de la complication Wear OS, vous devez choisir l'emplacement dans lequel vous souhaitez placer les données de complication fournies par la source de données de complication. Vous pouvez choisir de la placer en haut, à droite, en bas, à gauche ou en arrière-plan du cadran.
  • Pour la configuration d'exécution/de débogage de la complication Wear OS, vous devez également sélectionner le type des données de complication fournies par la source de données de complication. Les types disponibles sont limités à ceux fournis par la source de données de complication choisie et acceptés par l'emplacement sélectionné. Pour obtenir la liste des types de données de complication, consultez Types et champs.

Vous pouvez également exécuter ces surfaces à partir de l'icône en forme de gouttière située à côté de la déclaration de la surface, comme illustré dans l'image suivante.

Bouton d'exécution dans la gouttière située à côté d'une classe WatchFaceService
Image 1. Exécutez directement une surface Wear OS à l'aide de l'icône en forme de gouttière.