Aller au contenu

[TUTO] Utiliser ADB pour récupérer des logs


Recommended Posts

Ce tuto ne s'adresse pas à tous. C'est un tuto un peu technique, inutile au plus grand nombre. Il ne concerne que ceux qui subissent des problèmes à répétition avec leur mobile, et/ou souhaitent aider la communauté à trouver les causes/solutions ; ou simplement ceux qui veulent apprendre des choses nouvelles ;)

D'autre part, ni FrAndroid ni moi-même ne sauraient être tenus responsables en cas de fausse manipulation, bien que ce tuto ne présente pas de risque à priori.

Note : si j'ai posté ici, plutôt que pour Android en général, c'est parce que les logs qui m'intéressent sont ceux de l'O2X... tout simplement. Libre aux modos de déplacer.

Bonjour à tous !

Voici un petit tuto qui pourrait s'avérer utile vu le nombre de problèmes rencontrés sur ce mobile... Notamment pour ceux qui ont le droit à des reboots/freezes aléatoires ou en lien avec la carte SD (ou autre).

Pour ceux qui n'ont aucune idée de ce qu'est un log, il s'agit d'un fichier journal retraçant chaque évennement du système. Celà permet de voir exactement ce que faisait le mobile avant de planter, quelque soit le bug.

Les logs sont une donnée fondamentale pour les devs quand il s'agit de comprendre un bug.

Note : nous recherchons avidement des logs concernant les reboots/freezes ;)

I - Prérequis : Android SDK et ADB

La première étape consiste à installer ADB (Android Debug Bridge). Celui-ci permet d'intéragir en ligne de commande directement avec le système Android depuis votre ordinateur. C'est lui qui ira chercher les logs sur votre mobile.

ADB est inclut dans le SDK d'Android, que vous pouvez trouver ici : http://developer.android.com/sdk/index.html

Sous Windows, je vous recommande de télécharger la version .exe.

Et c'est parti :

Lancez l'installation. Il se peut que le SDK vous demande d'installer l'environnement Java si vous ne l'avez pas déjà, suivez simplement les instructions (note : parfois, il ne le détecte pas dès le premier coup. Faites "précédent"/"suivant" et ça sera bon). Vous pouvez laisser toutes les options par défaut, ou changer le chemin d'installation à votre guise (pour ce tuto, j'utiliserai celui par défaut). A la fin de l'installation, l'installeur vous propose de lancer le SDK, validez.

Vous arrivez à cet écran :

sdkinst1.png

Le SDK vous propose d'installer plusieurs composants, laissez tout par défaut à une option près, les drivers USB :

sdkinst2.png

Une fois ceci fait... allez prendre un café. Le SDK va télécharger tous les fichiers nécessaires et les installer et ça, ça prend du temps.

II - A l'attaque : récupération des logs via USB

ADB est installé, il ne reste "plus" qu'à récupérer les fameux logs. Commencez par brancher votre téléphone à votre PC via le câble USB. Activez ensuite le mode Débogage (Paramètres > Application > Développement > Débogage USB).

Lancez ensuite l'invite de commande Windows avec les droits d'administrateurs :

invite.png

Bienvenu dans le monde austère de la ligne de commande !

cmd.png

On va commencer par se rendre dans le bon dossier, celui où a été installé ADB. Si vous avez laissé le chemin d'installation par défaut, il s'agit de C:\Program Files\Android\android-sdk\platform-tools. Pour cela en ligne de commande, on utilise "cd" pour se déplacer, tapez donc :

cd ../../Program Files/Android/android-sdk/platform-tools

Comme sur l'image suivante, et validez en appuyant sur la touche "Entrée" :

cmddir.png

Note culture : les ".." devant le chemin veulent dire "remonte d'un dossier" : par défaut la ligne de commande s'ouvre dans C:\WINDOWS\system32 il faut donc remonter une fois ("..") pour être dans WINDOWS, et encore une fois ("..") pour être dans C:\ avant d'aller vers ADB ;)

C'est parti pour de vrai cette fois ! Tapez la commande suivante :

adb devices

Cette commande permet de lister les mobiles connectés. Vous devriez obtenier quelque chose comme :

cmddevices.png

Petite pub pour les devs géniaux d'XDA au passage ;)

Explications :

* daemon not running. starting it now on port 5037 *
// ==> ADB démarre
* daemon started successfully *
// ==> ADB a bien démarré
List of devices attached
0280414641df31d7        device
// ==> Votre mobile est bien connecté !

Si votre mobile apparaît, on peut continuer, et récupérer le log !

Pour bien voir ce qu'est un log tapez d'abord :

adb logcat

Et attention aux yeux, ça va défiler !

cmdlog.png

Vous voyez toutes ces lignes incompréhensibles (sauf pour les devs, encore qu'à cette vitesse là on a du mal ;)) qui défilent ? Ce sont les actions qu'effectue votre système Android, en temps réel.

Pour arrêter de visualiser tout ça, faites simplement "CTRL + C" (raccourcis universel pour arrêter l’exécution d'une commande).

Maintenant, ce log n'a aucun intérêt s'il n'est pas sauvegardé pour être lu calmement plsu tard. On va donc faire en sorte qu'il soit sauvegardé dans un fichier texte.

Tapez :

adb logcat > monlog.txt

Et là, il ne se passe rien. Du tout. Le curseur va à la ligne et rien ne bouge... Et c'est normal :D. ADB récupère le log et au lieu de l'afficher comme précédemment, il l'enregistre dans le fichier "monlog.txt" !

cmdlogtofile.png

Tant que vous ne fermez pas la console/n'appuyez pas sur CTRL + C, il continuera. Rien ne vous empêche d'utiliser votre portable pendant ce temps, comme bon vous semble.

Tout l'intérêt est de reproduire vos bugs à ce moment précis, volontairement, pour qu'il apparaissent dans le log.

Dernière chose : c'est bien tout ça, mais où est ce log ? Tout simplement dans C:\Program files\Android\android-sdk\platform-tools\monlog.txt ;)

logfile.png

III - [A venir] Récupération des logs via WiFi [root nécéssaire]

A venir. ou pas... l'appli plante pour le moment, je me retrouve à éplucher les logs de l'appli permettant de récup' les logs... Cruelle ironie :)

Modifié par Lucky-Strike
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...