Votre application préférée a-t-elle déjà planté soudainement? Vous voulez aider le développeur à déboguer ce qui s'est passé? Apprenez à capturer et filtrer les Logcats avec notre guide.
Les Croates brandissent un drapeau de l'UE alors qu'ils célèbrent l'adhésion de la Croatie à l'Union européenne sur la place Ban Jelesic à Zagreb le 30 juin 2013. Des dizaines de milliers de Croates ont applaudi dimanche à minuit (22h00 GMT) l'entrée du pays dans l'Union européenne, près de deux décennies après la fin de la sanglante guerre d'indépendance de l'ancienne république yougoslave. PHOTO AFP / STRINGER
Cela nous est tous arrivé à un moment ou à un autre. Il n’y a aucune honte à l’admettre. Parfois, les applications Android plantent. Que vous utilisiez un appareil entièrement d'origine pour exécuter Google Maps ou une ROM hautement personnalisée avec un module Xposed pour améliorer Google Hangouts, des plantages d'applications et d'autres problèmes peuvent survenir et même devenir un véritable obstacle. Cela est particulièrement vrai dans le développement de modifications et d'applications à plus petite échelle telles que celles trouvées sur notre site Web. Lorsque des problèmes surviennent, l'une des informations les plus constructives et les plus utiles que l'utilisateur puisse fournir au développeur sur la nature du crash consiste à fournir un
Logcat. Bien qu’extrêmement utile pour les développeurs, obtenir ces informations peut sembler quelque peu intimidant pour un utilisateur régulier.Impliquant généralement outils de ligne de commande via ADB, Logcat est hors de portée pour de nombreux utilisateurs qui ont peu ou pas d'expérience avec la ligne de commande. Cependant, la sortie de certaines applications a éliminé, ou du moins considérablement réduit, l'implication des commandes ADB dans la récupération et l'envoi d'un Logcat, ce qui rend cela aussi simple que quelques clics d'écran. Dans notre mission sans fin d'aide au développement pour les développeurs, voici un guide du débutant pour apprendre aux utilisateurs comment envoyer un Logcat.
Qu'est-ce qu'un Logcat et comment en créer un ?
Un Logcat est un outil ADB Shell utilisé pour extraire un journal de tous les événements système. Cela inclut les erreurs, les avertissements, les traces de pile et les occurrences générales du système. Lorsqu'une erreur se produit, des informations clés pointant vers la source de l'échec sont affichées via ce journal, ce qui en fait un outil très utile pour le dépannage. Normalement, ceux-ci sont extraits et filtrés via les commandes ADB. Cependant, des applications telles que aLogcat, Journal du catalogue, et notre outil de prédilection pour cet article, Journal de bord, ont épargné aux utilisateurs l'effort en compilant ces outils de commande dans l'interface graphique d'une application téléchargeable sur Play-Store.
Comme mentionné, Matlog est ce que nous utilisons pour collecter les Logcats. Choisi pour son interface simple mais conviviale, Matlog a été réalisé par XDA Junior Member plusCubé et basé sur Celui de Nolan Lawson application open source Catlog. J'aime Catlog, Matlog peut être compilé à partir des sources, ou téléchargé gratuitement sur le Google Play Store. Bien qu'être rooté vous permette de sauter une étape lors de l'installation, l'accès root n'est pas requis pour collecter les Logcats. Si votre appareil n'est pas rooté, une seule commande shell ADB accordera à l'application l'accès pour lire les journaux de votre appareil. Vous n'avez pas encore configuré ADB sur votre machine? Pas de problème, suivez simplement ces étapes pour le rendre opérationnel.
Remarque: les téléphones Huawei ont complètement désactivé la sortie Logcat. Vous devrez modifier un paramètre masqué avant de continuer avec le reste de ce guide.
Mise en place de la BAD
D'abord, téléchargez le binaire ADB directement depuis Google pour votre système d’exploitation particulier et extrayez-le dans un répertoire distinct sur votre ordinateur. Suivant, installez le pilote approprié pour votre téléphone particulier. Ensuite, activez "Débogage USB" dans Paramètres -> Options du développeur. Si vous ne voyez pas les options du développeur, vous devrez l'activer en allant dans Paramètres -> À propos du téléphone, puis en appuyant 7 fois sur le numéro de build. Enfin, assurez-vous qu'ADB fonctionne en démarrant une invite de commande dans le même répertoire que le binaire ADB (clic droit --> "ouvrir l'invite de commande ici") et exécutez la commande suivante :
adb devices
Si vous voyez le numéro de série de votre appareil (et qu'il n'indique pas non autorisé), vous êtes en or. Si vous voyez une fenêtre contextuelle sur votre téléphone vous demandant d'accorder l'accès ADB à votre ordinateur, dites oui. Si cela ne se produit pas, essayez de redémarrer votre ordinateur/téléphone et de le rebrancher sur votre ordinateur. Sinon, essayez de réinstaller le pilote.
Configuration de Matlog
Maintenant que ADB est opérationnel (espérons-le), tout ce que vous devez faire pour permettre à Matlog de capturer les Logcats est d'émettre la commande suivante dans un shell ADB. Encore une fois, si votre appareil est déjà rooté, vous n'avez pas besoin d'exécuter cette commande car elle n'est nécessaire que pour les téléphones non rootés.
adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Une fois activé et ouvert, Matlog affichera les événements système en temps réel. Vous pouvez appuyer sur le bouton pause pour arrêter cela, puis appuyer sur le menu des points de suspension et sélectionner « effacer » pour débarrasser le champ des données superflues. Il est recommandé de le faire en préparation de la journalisation de l'application défectueuse afin de réduire la taille du journal. Pour raccourcir encore plus les étapes, et donc la longueur du journal, ajoutez le widget Matlog à votre écran d'accueil à côté de l'application en panne en question, comme indiqué à droite. Dans ce cas, ApktoolX est notre application défectueuse.
En appuyant sur le widget, vous pouvez nommer et commencer à enregistrer un journal. Ensuite, reproduisez simplement le dysfonctionnement immédiatement après le démarrage de la journalisation, ce qui remplira le Logcat d'informations pertinentes pour votre problème. Une fois le problème reproduit, appuyez simplement à nouveau sur le widget pour terminer l'enregistrement du journal.
Ce faisant, Matlog s'ouvrira au journal capturé. Appuyez sur les points de suspension et sélectionnez « envoyer » pour envoyer le journal par courrier électronique sous forme de fichier texte joint avec des informations générales sur l'appareil. C'est ça! Votre Logcat a été capturé et envoyé avec succès au professeur Oak.
Dans mon exemple ci-dessus, je peux dire que la raison pour laquelle Apktool X plante est parce que mon appareil n'est pas rooté. Oh! j'aurais dû complètement lire l'article avant d'essayer d'utiliser l'application.
C'était trop facile
Bien entendu, tous les problèmes ne sont pas aussi faciles à appréhender. Parfois, des problèmes liés au démarrage ou des problèmes qui s'étendent sur de plus longues périodes peuvent nécessiter la capture de différentes fonctionnalités de l'application. Dans de tels cas, vous souhaiterez laisser Matlog s'exécuter en arrière-plan (ne le mettez pas en pause ou ne l'effacez pas) et utiliser les fonctions Niveau de journalisation et Filtre pour analyser les données.
Bien que ce ne soit généralement pas la seule méthode nécessaire pour collecter des données pertinentes, certaines situations nécessitent plus de contexte – chacun de ces outils peut être utilisé sur des journaux plus longs pour trier et spécifier les données pour le développeur. Naturellement, cela dépend de la nature de l’erreur et de ce que demande le développeur. Pour utiliser l'une ou l'autre de ces méthodes, exécutez simplement Matlog, reproduisez votre problème, revenez dans Matlog, appuyez sur le menu à points et sélectionnez l'une de ces deux méthodes de tri.
Niveau de journalisation
Autre commande ADB simplifiée par Matlog, la fonction Log Level peut être utilisée pour afficher des types spécifiques d'événements et de messages système. Vous trouverez ci-dessous une brève description des différents types de messages, tels que décrits par le site Web des développeurs Android et codés par couleur pour correspondre à l'étiquetage de Matlog.
De la priorité la plus basse à la plus élevée :
- V: Verbeux (événements généraux du système)
- D: débogage
- je: Information
- W: Avertissement
- E: Erreur
- F: Fatal
- S: Silencieux (priorité la plus élevée, sur laquelle rien n'est jamais imprimé)
La fonctionnalité Log Level possède une liste correspondante de ces messages, qui peut filtrer le journal à chaque niveau de priorité. La sélection d'un niveau de journal affichera uniquement les événements de son propre niveau de priorité et supérieur, facilitant ainsi l'identification et le regroupement des événements. erreurs plutôt que de nécessiter de faire défiler manuellement de nombreuses lignes de texte – qui peuvent parfois se compter par milliers – à faire donc.
Filtres
Des filtres peuvent également être utilisés pour trier les données des journaux. En lançant une recherche par mot-clé, l'utilisateur peut voir uniquement les messages qui font explicitement référence à ce mot-clé. Les mots-clés utiles peuvent impliquer le nom de l'application défectueuse ou même le mot « erreur », car il englobe des instances du terme à tous les niveaux de priorité, bien qu'il ne fait pas englober toutes les erreurs de « niveau de journalisation ».
Si vous recherchez/filtrez souvent certains mots-clés lorsque vous aidez un développeur à déboguer une application (ou si le le développeur a explicitement créé un événement de journal unique que vous pouvez rechercher), vous pouvez également enregistrer un filtre auquel vous pouvez revenir dans l'avenir. Ceci est utile lorsque vous savez à l'avance ce que vous recherchez, ce qui se produira assez souvent si vous travaillez en collaboration avec un développeur.
Prêt à déboguer ?
Bien que vous ne puissiez pas maintenant Soyez un expert en débogage d'applications Android, apprendre à collecter et envoyer des Logcats peut faire de vous une excellente ressource pour les développeurs de vos applications préférées. En utilisant Matlog et les fonctionnalités décrites ci-dessus, la collecte, le tri et l'envoi d'informations pertinentes sur une application défectueuse n'ont jamais été aussi simples.
Avez-vous utilisé Matlog ou une autre application Logcat? Avez-vous trouvé ce guide utile? Faites-le nous savoir dans les commentaires ci-dessous !