Ci sono molte cose interessanti nel registro di sistema di Android, che sono utili in molti modi

  • trovare le cause alla radice di problemi
  • identificare app che si comportano male

Come posso visualizzare ed esaminare il registro di Android?

Commenti

Risposta

Android 4.1 e versioni successive

Il modo migliore è scaricare l SDK e utilizzare adb logcat (richiede lattivazione delle ” opzioni sviluppatore ” sul dispositivo).

Sono disponibili app per visualizzando il registro di sistema completo, tuttavia funzionano solo su dispositivi rooted o richiedono di inviare un comando manuale tramite adb per farli funzionare. Per ulteriori informazioni, visualizza vedi questa domanda.

Android 4.0 e versioni precedenti

Puoi scaricare SDK e utilizza adb logcat o ottieni Logcat Extrem dal Google Play Store, che mostra il registro direttamente sul tuo telefono.

Commenti

  • In alternativa, puoi utilizzare Terminal Emulator con il comando ” logcat > /sdcard/log.txt” per la scrittura continua del log in un file sulla SD Carta. Questo può aiutare a risolvere i problemi con i riavvii casuali.
  • Buon punto. Alcuni telefoni tendono a spammare il registro pieno di informazioni banali, quindi se desideri ridurre al minimo le dimensioni del file e i dati da esaminare, controlla la sezione ” Filtro output log ” su developer.android.com/guide/developing/tools/adb.html#logcat
  • LogCat Apps non funziona ‘ t funziona in qualsiasi momento con JellyBean. Google ha cambiato lAPI Android, le app don ‘ non hanno più lautorizzazione a leggere i log di altre app oltre alla propria.
  • Ho creato una semplice utility per raccogliere log da un PC: gist.github.com/hrj/5983971
  • Logcat Extreme è la bella app per vedere i log

Risposta

Posizioni dei file di registro

Esistono diverse directory in cui i registri (inclusi quelli degli arresti anomali) potrebbero apparire – non tutti sono standardizzati (cioè alcuni potrebbero essere specifici della ROM).

  • /data/anr: alcuni file di traccia sembrano arrivare qui (Dalvik scrive le tracce dello stack qui su ANR, ad esempio “Applicazione non risponde” aka “Chiusura forzata”; vedere ad es. Estratti di log qui )
  • /data/dontpanic sembra essere una posizione standard (AOSP) e contiene alcuni log degli arresti anomali, comprese le tracce (vedi ad esempio viaForensics e St. ackOverflow )
  • /data/kernelpanics è unaltra posizione: non avendo avuto alcun “kernel panic” sui miei dispositivi Android, non ho ancora visto alcun contenuto lì.
  • /data/panic/panic_daemon.config potrebbe puntare ad altre posizioni configurate: sul mio Droid 2 menziona /sdcard/panic_data/
  • Droid 2 menzionato ha anche una /data/panicreports directory (vuota qui)
  • /data/tombstones può contenere diversi tombstone_nn file (dove nn è un seriale, aumentato con ogni nuovo file). Quando le lapidi vengono posizionate per i morti, viene fatto qui per “processi morti per sbaglio” (cioè crash) – ed è ciò che viene chiamato “core dump” sui sistemi Linux / Unix. Tuttavia, non tutte le app creano lapidi; deve essere esplicitamente abilitato dallo sviluppatore (vedere Debug di Android Core Dump ).

Potrebbero esserci altre posizioni che mi è sfuggito; ma poiché la maggior parte della registrazione viene eseguita su tmpfs, questi dati vengono persi con un riavvio e non corrisponderebbero alla domanda degli OP.

Comandi di log da utilizzare con un terminale app (o adb)

Diversi comandi possono fornirti tonnellate di informazioni. Per la maggior parte di essi, è consigliabile reindirizzarli a un file (> filename.ext) o reindirizzarli attraverso un filtro (| grep search-for-this ):

Registro del kernel

Il seguente funziona senza 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

Qui puoi ad es specifica a quale area sei interessato: radio, eventi …

# 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> 

Ottenere informazioni sul dispositivo

E tantissime cose: Dispositivo specifiche, informazioni sullaccount, servizi …

$ dumpsys Currently running services: LocationProxyService SurfaceFlinger accessibility account activity <snip> DUMP OF SERVICE account: Accounts: 1 Account {[email protected], 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> 

All-in-One

Crea una grande palla con tutto insieme, da logcat a dumpstate:

$ bugreport > /mnt/sdcard/bugreport.txt 

Sono abbastanza sicuro che tu voglia davvero reindirizzare lultimo comando … xD

Qualcosa sui permessi

PS: Naturalmente, laccesso a queste informazioni potrebbe richiedere root, poiché la maggior parte delle fonti si trova nella memoria interna.

Commenti

  • Per ottenere ulteriori informazioni sui comandi adb logcat, vedere qui .
  • Oppure controlla il nostro logging tag-wiki @testing – che ha ancora più riferimenti 🙂
  • Il link per ” Il debug di Android Core Dump ” è morto, possiamo trovare unalternativa?
  • @Spidey lì ‘ s sempre Archive.ORG per questo tipo di problema (il link rimanda a una copia funzionante t qui).
  • Per chiunque altro come me sia nuovo su Android, per eseguire i comandi precedenti devi prima eseguire $ adb shell per connetterti al dispositivo tramite un terminale. (Ovviamente, assicurati che il tuo dispositivo sia collegato al computer e che il debug USB sia stato attivato.)

Risposta

È stato rilevato che CatLog visualizza il registro di Android un po meglio di aLogcat. Oltre a adb logcat, è quello che sto usando.

Commenti

  • Vedi il mio commento sopra, per quanto riguarda le app LogCat.
  • Ho aggiornato la domanda. Tieni presente che le informazioni sulla posizione relativa (ad es. ” sopra ” ) possono facilmente diventare obsoleti, poiché lordine delle risposte potrebbe cambiare con il tempo.

Risposta

A metodo senza root, che funziona anche con le nuove versioni di Android:

Prerequisiti:

  • Linux, Windows o Mac
  • Cavo USB per il tuo dispositivo
  • Dispositivo Android

Istruzioni:

  1. Installa il driver del dispositivo per lutilizzo di adb. Troverai tutto ciò di cui hai bisogno qui
  2. Scarica leseguibile adb per il tuo sistema operativo. Fa parte di Android SDK, ma potresti riuscire a trovare leseguibile adb singolarmente.
  3. Collega il tuo dispositivo Android.
  4. Abilita le opzioni sviluppatore .
  5. Abilita il debug USB.
  6. Apri un comando promt (windows) o un terminale (linux / mac). Come farlo: su Windows: windows + r> inserisci “cmd” (senza virgolette)> fai clic su invio | Su Linux: non sai come aprire un terminale? LOL | Su Mac: digita Terminal in Spotlight e aprilo
  7. CD nella directory in cui Leseguibile adb si trova. Su Windows: vai alla directory in cui hai scaricato leseguibile adb, Maiusc + clic destro e seleziona “Apri console” (o simile) | Su Linux / Mac: fai clic con il pulsante destro nella directory e seleziona “Apri terminale qui” (o semplicemente CD nella directory)
  8. Digita il tuo cmd / terminal: adb devices per verificare che il tuo dispositivo sia collegato correttamente.
  9. Se il tuo dispositivo è selezionato correttamente, digita adb logcat per mostrare il potente e magico logcat aka stacktrace.
  10. Riproduci il tuo errore (o qualsiasi altra cosa) sul tuo dispositivo.
  11. Subito dopo, incolla lintera finestra di cmd / terminal in un servizio incolla come http://pastebin.com/ e invialo a noi.

(Per lo più copiato da Leandros )

An swer

Si trova in /sdcard/bugreports.

Commenti

  • Io ‘ non ho mai avuto una cartella del genere sul mio telefono … è specifica per un produttore o un dispositivo?
  • Da Logcat – CyanogenMod Wiki : Puoi utilizzare una combinazione di tasti magici per creare un file di segnalazione bug in / sdcard / bugreports. Quindi questo sembra essere un ) un po specifico (probabilmente per CM) eb) non la risposta alla domanda, poiché lOP cerca ” generato automaticamente ” quelli.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *