Há muitas coisas interessantes no log do sistema Android, que são úteis de várias maneiras
- encontre causas de problemas
- identificar aplicativos que se comportam mal
Como posso visualizar e examinar o log do Android?
Há muitas coisas interessantes no log do sistema Android, que são úteis de várias maneiras
Como posso visualizar e examinar o log do Android?
Respostas:
A maneira preferida é baixar o SDK e usá-lo adb logcat
(requer ativar "opções de desenvolvedor" no dispositivo).
Existem aplicativos disponíveis para exibir o log completo do sistema, no entanto, eles funcionam apenas em dispositivos raiz ou exigem a emissão de um comando manual adb
para fazê-los funcionar. Para mais informações, veja esta pergunta.
Você pode baixar o SDK e usar adb logcat
ou obter o Logcat Extrem na Google Play Store, que mostra o log diretamente no seu telefone.
Existem vários diretórios nos quais os logs (incluindo os de falhas) podem aparecer - nem todos são padronizados (ou seja, alguns podem ser específicos da ROM).
/data/anr
: Alguns arquivos de rastreamento parecem chegar aqui (Dalvik grava rastreamentos de pilha aqui no ANR, ou seja, "Aplicativo não responde", também conhecido como "Forçar fechamento"; veja, por exemplo, trechos de log aqui )/data/dontpanic
parece ser um local padrão (AOSP) e contém alguns logs de falha, incluindo rastreios (consulte, por exemplo, viaForensics e StackOverflow )/data/kernelpanics
é outro local - sem nenhum "pânico do kernel" nos meus dispositivos Android, ainda não havia conteúdo lá./data/panic/panic_daemon.config
pode apontar para outros locais configurados - no meu Droid 2 ele menciona/sdcard/panic_data/
/data/panicreports
diretório (vazio aqui)/data/tombstones
pode conter vários tombstone_nn
arquivos ( nn
sendo serial, aumentado a cada novo arquivo). Como as lápides são colocadas para os mortos, isso é feito aqui para "processos mortos por acidente" (ou seja, travou) - e é o que é chamado de "core dumps" nos sistemas Linux / Unix. No entanto, nem todos os aplicativos criam lápides; isso deve ser explicitamente ativado pelo desenvolvedor (consulte Depurando Android Core Dumps ).Pode haver mais alguns locais que me escaparam; mas, como a maioria dos logs é feita tmpfs
, esses dados são perdidos com uma reinicialização e não coincidem com a questão dos OPs.
Vários comandos podem fornecer toneladas de informações. Para a maioria deles, é recomendável redirecioná-los para um arquivo ( > filename.ext
) ou canalizá-los através de um filtro ( | grep search-for-this
):
O seguinte funciona sem raiz:
$ 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>
Aqui você pode, por exemplo, especificar em que área você está interessado - rádio, eventos ...
# 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>
E muito: detalhes do dispositivo, informações da conta, serviços ...
$ 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>
Faça uma grande bola com tudo junto, do logcat ao dumpstate:
$ bugreport > /mnt/sdcard/bugreport.txt
Tenho certeza que você realmente deseja redirecionar esse último comando ... xD
PS: Naturalmente, o acesso a essas informações pode exigir raiz, pois a maioria das fontes está localizada no armazenamento interno.
A constatou que o CatLog exibe o log do Android um pouco melhor que o aLogcat. Além disso adb logcat
, é isso que estou usando.
Um método sem raiz, que funciona mesmo com novas versões do Android:
Pré-requisitos:
Instruções:
Terminal
no Spotlight e abra-oadb devices
para verificar se o seu dispositivo está conectado corretamente.adb logcat
para mostrar o poderoso e mágico logcat aka stacktrace.(Principalmente copiado de Leandros )
O aplicativo gratuito SysInfo ( Página do projeto ) exibirá os logs do sistema e compactará um relatório completo do sistema para enviar por email, dropbox, NFC, etc. Sem mencionar muitas outras informações interessantes do sistema.
Está localizado em /sdcard/bugreports
.