144 votes

Comment visualiser et examiner le journal Android ?

Il y a beaucoup de choses intéressantes dans le journal du système Android, qui sont utiles à bien des égards.

  • trouver les causes profondes des problèmes
  • identifier les applications qui se comportent mal

Comment visualiser et examiner le journal Android ?

0 votes

Les commentaires ne sont pas destinés à une discussion approfondie ; cette conversation a été déplacé vers le chat .

82voto

Chris Roberts Points 7543

Android 4.1 et plus récent

La méthode préférée est de télécharger le SDK et utiliser adb logcat (il faut activer les "options du développeur" sur l'appareil).

Il existe des applications permettant d'afficher le journal complet du système, mais elles ne fonctionnent que sur les appareils enracinés ou nécessitent l'envoi d'une commande manuelle via adb pour les faire fonctionner. Pour plus d'informations, voir voir cette question.

Android 4.0 et plus

Vous pouvez soit télécharger le SDK et utiliser adb logcat ou obtenir Logcat Extrem depuis le Google Play Store, qui affiche le journal directement sur votre téléphone.

4 votes

Vous pouvez également utiliser l'émulateur de terminal avec la commande "logcat > /sdcard/log.txt" pour écrire en continu le journal dans un fichier sur la carte SD. Cela peut aider à comprendre les problèmes de redémarrage aléatoire.

0 votes

Bon point. Certains téléphones ont tendance à remplir le journal d'informations insignifiantes, donc si vous souhaitez minimiser la taille des fichiers et les données à parcourir, consultez la section "Filtrage de la sortie du journal" à la rubrique developer.Android.com/guide/developing/tools/adb.html#logcat

0 votes

LogCat Apps ne fonctionne pas du tout avec JellyBean. Google a changé l'API Android, les applications n'ont plus la permission de lire les logs d'autres applications que les leurs.

72voto

Milner Points 533

Emplacement des fichiers journaux

Il y a plusieurs répertoires où les logs (y compris ceux des crashs) peuvent apparaître -- ils ne sont pas tous standardisés (i.e. certains peuvent être spécifiques à la ROM).

  • /data/anr : Certains fichiers de trace semblent arriver ici (Dalvik écrit des traces de pile ici sur ANR, c'est-à-dire "Application Not Responding" aka "Force-Close" ; voir par exemple des extraits de logs aquí )
  • /data/dontpanic semble être un emplacement standard (AOSP), et contient quelques journaux de crash incluant des traces (voir par exemple viaForensics y StackOverflow )
  • /data/kernelpanics est un autre endroit - n'ayant pas eu de "panique du noyau" sur mes appareils Android, je n'y ai pas encore vu de contenu.
  • le site /data/panic/panic_daemon.config peut pointer vers d'autres endroits configurés -- sur mon Droid 2, il mentionne /sdcard/panic_data/
  • mentionné Droid 2 a également un /data/panicreports répertoire (vide ici)
  • /data/tombstones peut détenir plusieurs tombstone_nn (avec nn étant une série, augmentait avec chaque nouveau fichier). Comme on place des pierres tombales pour les morts, on le fait ici pour les "processus morts par accident" (c'est-à-dire qui se sont écrasés) -- et c'est ce qu'on appelle les "core dumps" sur les systèmes Linux/Unix. Cependant, toutes les applications ne créent pas de pierres tombales ; cela doit être explicitement activé par le développeur (cf. Déboguer les Dumps Android Core ).

Il y a peut-être d'autres emplacements qui m'ont échappé, mais comme la plupart de l'exploitation forestière se fait sur tmpfs Ces données sont perdues lors d'un redémarrage, et ne correspondent pas à la question de l'OP.

Commandes de journalisation à utiliser avec une application de terminal (ou adb)

Plusieurs commandes peuvent vous permettre d'obtenir des tonnes d'informations. Pour la plupart d'entre elles, il est à recommander de les rediriger vers un fichier ( > filename.ext ) ou les faire passer par un filtre ( | grep search-for-this ) :

Journal du noyau

Ce qui suit fonctionne sans Root :

$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<snip>

Logcat

Ici, vous pouvez, par exemple, spécifier le domaine qui vous intéresse : radio, événements...

# logcat -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0] 
<snip>

Obtenir des informations sur le périphérique

Et des tonnes : Caractéristiques des appareils, informations sur les comptes, services...

$ dumpsys
Currently running services:
  LocationProxyService
  SurfaceFlinger
  accessibility
  account
  activity
<snip>
DUMP OF SERVICE account:
Accounts:
  1 Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip> 

$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================

Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown 
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB 
<snip>

Tout-en-un

Faites une grosse boule avec tout ensemble, de logcat à dumpstate :

$ bugreport > /mnt/sdcard/bugreport.txt

Je suis presque sûr que vous voulez vraiment rediriger cette dernière commande... xD

Quelque chose à propos des permissions

P.S. : Naturellement, l'accès à ces informations peut nécessiter un Root, car la plupart des sources se trouvent sur un stockage interne.

0 votes

Pour en savoir plus sur les commandes adb logcat, voir aquí .

0 votes

Ou consultez notre logging tag-wiki @testing - qui a encore plus de références :)

1 votes

Pour tous ceux qui, comme moi, ne connaissent pas Android, pour exécuter les commandes ci-dessus, vous devez d'abord exécuter $ adb shell pour se connecter à l'appareil via un terminal. (Bien entendu, assurez-vous que votre appareil est connecté à votre ordinateur et que le débogage USB a été activé).

12voto

Flow Points 18254

A a trouvé que CatLog affiche le journal Android un peu mieux qu'aLogcat. En plus de adb logcat c'est ce que j'utilise.

10voto

Michal Sznajder Points 6292

Une méthode sans Root, qui fonctionne même avec les nouvelles versions d'Android :

Conditions préalables :

  • Linux, Windows ou Mac
  • Câble USB pour votre appareil
  • Appareil Android

Instructions :

  1. Installez votre pilote de périphérique pour utiliser adb. Vous trouverez tout ce dont vous avez besoin aquí
  2. Téléchargez l'exécutable adb pour votre OS. Il fait partie du SDK Android, mais vous pouvez trouver l'exécutable adb individuellement.
  3. Connectez votre appareil Android.
  4. Activez les options du développeur .
  5. Activez le débogage USB.
  6. Ouvrez un promt de commande (Windows) ou un terminal (linux / mac). Comment faire : Sous Windows : Windows + r > entrez "cmd" (sans les guillemets) > cliquez sur entrée | Sous Linux : Vous ne savez pas comment ouvrir un terminal ? LOL | Sur Mac : Tapez Terminal dans Spotlight et l'ouvrir
  7. CD dans le répertoire où se trouve l'exécutable adb. Sous Windows : Allez dans le répertoire où vous avez téléchargé l'exécutable adb, Shift+Clic droit et sélectionnez "Open Console" (ou similaire) | Sur Linux / Mac : Cliquez avec le bouton droit de la souris dans le répertoire et sélectionnez "Open Terminal here" (ou simplement CD dans le répertoire).
  8. Tapez dans votre cmd/terminal : adb devices pour vérifier que votre appareil est correctement connecté.
  9. Si votre appareil est correctement sélectionné, tapez dans adb logcat pour montrer le puissant et magique logcat aka stacktrace.
  10. Reproduisez votre erreur (ou autre) sur votre appareil.
  11. Juste après, collez l'ensemble de la fenêtre cmd / terminal dans un service de collage tel que http://pastebin.com/ et nous l'envoyer.

(Principalement copié de Leandros )

0 votes

ADB peut être téléchargé ici : developer.Android.com/studio/releases/platform-tools

-2voto

1077 Points 418

Il est situé à /sdcard/bugreports .

3 votes

Je n'ai jamais eu un tel dossier sur mon téléphone... est-ce spécifique à un fabricant ou à un appareil ?

4 votes

De Logcat - CyanogenMod Wiki : Vous pouvez utiliser une combinaison de touches magiques pour créer un fichier de rapport de bogue dans /sdcard/bugreports. Cela semble donc a) être un peu spécifique (probablement à CM), et b) ne pas répondre à la question, puisque le PO cherche des sites "générés automatiquement".

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X