Débogage d'applications Android

Dans ce didacticiel, nous allons explorer les principaux outils de débogage que les nouveaux développeurs d'applications Android doivent connaître pour créer et perfectionner leurs applications..


Partie 0: Mise en route

Cette série de didacticiels Android a pour but de vous aider à acquérir les compétences et la confiance nécessaires pour créer des applications Android de haute qualité. Ce tutoriel est destiné aux développeurs Java qui débutent tout juste d'apprendre le développement d'applications Android, qui connaissent un peu Eclipse et qui ont installé le SDK Android et le plug-in de développement Android pour Eclipse. Vous devez également savoir comment créer une application Android simple (Hello World suffira) pour pouvoir terminer ce didacticiel. Si vous n'êtes pas préparé, consultez les tutoriels précédents de cette série..


Partie 1:
Création de configurations de débogage dans Eclipse

Dans le didacticiel Exemples d'applications Android de cette série, vous avez appris à créer une configuration d'exécution dans Eclipse. Les configurations de débogage sont créées à peu près de la même manière, mais sont utilisées pour configurer les options de lancement et de débogage des applications..

Pour créer une configuration de débogage pour votre application dans Eclipse, choisissez Exécuter, déboguer les configurations… .

Double-cliquez sur Application Android (ou faites un clic droit et choisissez Nouveau). Sur le premier onglet, cliquez sur le bouton Parcourir…, sélectionnez le projet Android que vous souhaitez déboguer, puis cliquez sur OK..

Maintenant remplissez le champ Nom. Nous nommons généralement nos configurations de débogage avec le nom du projet pour éviter toute confusion, mais vous pouvez le nommer comme vous le souhaitez..

Dans l'onglet Cible, cochez la case d'option "Toujours inviter à choisir un périphérique".

Maintenant, cliquez sur le bouton Déboguer. Vous devriez obtenir la boîte de dialogue Sélecteur de périphérique Android. Cette boîte de dialogue affiche tous les appareils Android actuellement connectés et les instances d'émulateur en cours d'exécution dans la section supérieure, ainsi que la possibilité de lancer une nouvelle instance d'émulateur via une configuration AVD compatible à la volée..

Choisissez l'émulateur que vous avez déjà en cours d'exécution et cliquez sur le bouton OK. Au bout d'un moment, votre application sera lancée sur l'émulateur ou le périphérique et vous verrez apparaître une boîte de dialogue indiquant "En attente du débogueur" au moment de la connexion..


Partie 2:
Exploration de la perspective de débogage Eclipse

Une fois que votre application s'exécute dans l'émulateur ou sur un périphérique, vous pouvez commencer à le déboguer. La plupart des fonctionnalités de débogage de base d'Eclipse et du plug-in ADT sont combinées dans la perspective Debug pour une utilisation simplifiée..

La perspective Debug s’ouvre souvent automatiquement lorsque vous commencez à déboguer une application Android, mais si ce n’est pas le cas, vous pouvez toujours y accéder en cliquant sur la perspective Debug dans le coin supérieur droit d’Eclipse ou en allant à Fenêtre, perspective ouverte, débogage.

La perspective de débogage comporte plusieurs volets d'information. Vous pouvez, bien sûr, les déplacer si vous n'aimez pas leur configuration.

Vous avez un panneau dans le coin supérieur gauche appelé Debug, qui montre votre application, les threads. C’est là que vous trouvez la barre d’outils de débogage qui vous permet d’attacher et de détacher le débogueur et de parcourir le code..

Dans le coin droit, vous avez un panneau qui vous permet d'inspecter les variables et de gérer les points d'arrêt. Les points d'arrêt sont des emplacements dans votre code que vous indiquez à l'endroit où vous souhaitez que votre débogueur suspende l'exécution afin que vous puissiez parcourir méthodiquement votre code ligne par ligne et comprendre ce qui se passe..

Vous avez un panneau au milieu de la perspective Debug qui affiche le code en cours d'exécution.

Au bas de la perspective Débogage, vous avez deux volets de diagnostic: le volet LogCat qui affiche la sortie de journalisation de l'émulateur ou du périphérique, ainsi que le volet Console qui affiche la sortie de console de niveau supérieur depuis DDMS.


Partie 3:
Parcourir le code dans Eclipse

Examinons rapidement un exemple de débogage avec Eclipse à l'aide de l'application que vous venez de lancer..

Premièrement, nous devons être configurés car il n’ya rien de mal avec notre code et le débogueur ne s’est pas arrêté automatiquement à un problème. Passez à la perspective Java en cliquant sur le bouton Java situé dans le coin supérieur droit d’Eclipse. Double-cliquez sur le fichier de classe d'activité associé à votre application pour l'ouvrir, puis revenez à la perspective Déboguer et vous verrez maintenant que le fichier est affiché dans le volet central de la perspective Débogage. Ok, maintenant nous sommes prêts à parcourir notre code.

Commençons par définir un point d'arrêt dans le code. Il existe de nombreuses façons de le faire. J'aime trouver la ligne sur laquelle je veux définir un point d'arrêt, puis cliquer avec le bouton droit de la souris sur la bande bleue verticale située à gauche de la ligne de code et sélectionner Basculer le point d'arrêt dans le menu ou simplement cliquer sur la bande pour créer un point d'arrêt. Basculez-le, puis supprimez-le. Vous pouvez également cliquer sur la ligne pour laquelle vous souhaitez insérer un point d'arrêt et appuyer sur les touches Ctrl + Maj + B. Une petite loupe apparaîtra à côté de la ligne de code lorsque le point d'arrêt est défini. Un bon endroit pour définir votre premier point d'arrêt serait dans la méthode onCreate () de votre activité..

Une fois que vous avez défini votre point d'arrêt, relancez l'application en mode débogage à l'aide de la configuration Debug. Vous pouvez le faire depuis Eclipse en utilisant la petite icône de bogue dans la barre d’outils. Cliquez sur la flèche vers le bas à côté de celle-ci, choisissez votre configuration de débogage et elle s'exécutera. Le débogueur s'attachera, votre application démarrera, puis s'arrêtera à votre point d'arrêt. Vous verrez une petite flèche à côté de la ligne de code sur le point de s’exécuter..

Vous pouvez maintenant parcourir votre code en utilisant les fonctionnalités de débogage de base. Ces fonctionnalités sont disponibles dans la barre d’outils du panneau Déboguer. Vous pouvez également utiliser les touches de raccourci associées à ces fonctionnalités..

Les fonctionnalités de débogage les plus courantes dans Eclipse dont vous aurez besoin pour parcourir votre code sont les suivantes:

Entrer dans: Utilisez cette fonctionnalité pour approfondir votre code en passant au code de la méthode. Utilisez cette option si vous pensez que la méthode en cours d’exécution nécessite un débogage. Si cette méthode est bien testée et que vous savez qu'elle retournera le bon résultat, vous n'avez probablement pas besoin de l'expliquer, mais de la remplacer par la ligne de code suivante au même "niveau" que la précédente. Appuyez sur F5 pour entrer le code.

Enjamber: Utilisez cette fonctionnalité pour passer à la ligne de code suivante au même niveau que la précédente. Appuyez sur F6 pour passer en revue le code.

Étape retour: Utilisez cette fonctionnalité si vous êtes en train de passer à une méthode et que vous avez dépassé la zone de la méthode à inspecter. La méthode en cours se terminera et vous afficherez la ligne suivante après son exécution afin que vous puissiez continuer le débogage. Appuyez sur F7 pour revenir en arrière.

CV: Terminé avec cette petite session de débogage et que vous voulez que l'application recommence à fonctionner (jusqu'à ce que le prochain point d'arrêt soit atteint)? Ensuite, utilisez la fonction de reprise. Appuyez sur F8 pour reprendre votre course sans avancer.

Mettre fin: Terminé avec cette petite session de débogage et que l'application cesse de fonctionner? Ensuite, utilisez la fonctionnalité Terminate. Appuyez sur Control-F2 pour terminer l'exécution.


Partie 4:
Affichage de la journalisation des diagnostics avec Logcat

L'enregistrement ou l'impression d'informations de diagnostic à partir de votre code peut être un moyen utile de diagnostiquer des problèmes, en particulier des situations de course ou des problèmes liés au minutage qui ne se produisent pas facilement lorsque vous parcourez attentivement le code. Dans ce cas, votre code est exécuté normalement, mais vous imprimez les informations souhaitées pendant son exécution. Vous pouvez afficher ces informations de diagnostic dans le volet LogCat de la perspective Débogage. Vous pouvez également accéder à la sortie Logcat de différentes manières, à l'aide de l'outil DDMS, de la perspective DDMS dans Eclipse ou de l'outil de ligne de commande adb, par exemple..

Il est facile d’ajouter une sortie de journalisation LogCat à votre application, mais vous devez modifier le code Java de votre application et la recompiler. De plus, la journalisation ralentira votre application dans une certaine mesure. Vous souhaitez donc toujours supprimer la journalisation de votre application avant de la rendre publique. En savoir plus sur la journalisation Android dans Android Essentials: Journalisation d'applications.


Conclusion

Dans ce tutoriel, vous avez appris les bases du débogage d'applications Android avec Eclipse et le plug-in ADT. Vous avez appris à naviguer dans Eclipse en mode débogage, à l'aide de la perspective Débogage, et à parcourir votre code et à afficher les résultats de la journalisation Logcat. Vous avez appris comment déboguer des émulateurs et des périphériques. Vous maîtrisez maintenant les compétences de base requises pour commencer à développer des applications Android réelles. Vous êtes sur la bonne voie pour le développement Android. Quels types d'applications envisagez-vous de créer? Quel exemple d'application était votre favori? Faites le nous savoir dans les commentaires!

à propos des auteurs

Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android (maintenant dans sa troisième édition en deux volumes), Sams Teach Yourself Développement d'applications Android en 24 heures, et Apprentissage de la programmation d'applications Android pour le Kindle Fire: Guide pratique pour la création de votre première application Android. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..

Besoin d'aide pour écrire des applications Android? Consultez nos derniers livres et ressources!