Hay muchas cosas interesantes en el registro del sistema Android, que son útiles de muchas maneras.
¿Cómo puedo ver y examinar el registro de Android?
La forma preferida es descargar el SDK y usarlo adb logcat
(requiere activar las "opciones de desarrollador" en el dispositivo).
Hay aplicaciones disponibles para ver el registro completo del sistema, sin embargo, solo funcionan en dispositivos rooteados o requieren la emisión de un comando manual adb
para que funcionen. Para obtener más información, consulte esta pregunta.
Puede descargar el SDK y usarlo adb logcat
u obtener Logcat Extrem de Google Play Store, que muestra el registro directamente en su teléfono.
Hay varios directorios en los que pueden aparecer los registros (incluidos los de bloqueos); no todos están estandarizados (es decir, algunos pueden ser específicos de la ROM).
/data/anr
: Algunos archivos de seguimiento parecen llegar aquí (Dalvik escribe seguimientos de pila aquí en ANR, es decir, "La aplicación no responde", también conocido como "Forzar cierre"; consulte, por ejemplo, extractos de registro aquí )/data/dontpanic
parece ser una ubicación estándar (AOSP) y contiene algunos registros de fallas que incluyen rastros (ver, por ejemplo , viaForensics y StackOverflow )/data/kernelpanics
es otra ubicación: al no haber tenido ningún "pánico en el kernel" en mis dispositivos Android, todavía no vi contenido allí./data/panic/panic_daemon.config
puede apuntar a otras ubicaciones configuradas -- en mi Droid 2 menciona/sdcard/panic_data/
/data/panicreports
directorio (vacío aquí)/data/tombstones
puede contener varios tombstone_nn
archivos (al nn
ser una serie, aumenta con cada nuevo archivo). Como se colocan lápidas para los muertos, aquí se hace para "procesos muertos por accidente" (es decir, fallados) -- y es lo que se conoce como "volcados del núcleo" en los sistemas Linux/Unix. Sin embargo, no todas las aplicaciones crean lápidas; el desarrollador debe habilitarlo explícitamente (consulte Depuración de volcados de núcleo de Android ).Puede haber algunos lugares más que se me escaparon; pero como la mayoría de los registros se realizan en tmpfs
, estos datos se pierden con un reinicio y no coincidirían con la pregunta de OP.
Varios comandos pueden brindarle toneladas de información. Para la mayoría de ellos, se recomienda redirigirlos a un archivo ( > filename.ext
) o canalizarlos a través de un filtro ( | grep search-for-this
):
Lo siguiente funciona sin 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>
Aquí puede, por ejemplo, especificar en qué área está interesado: radio, 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>
Y toneladas de información: detalles del dispositivo, información de la cuenta, servicios...
$ 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>
Haz una gran bola con todo junto, desde logcat hasta dumpstate:
$ bugreport > /mnt/sdcard/bugreport.txt
Estoy bastante seguro de que realmente quieres redirigir ese último comando... xD
PD: Naturalmente, el acceso a esa información puede requerir root, ya que la mayoría de las fuentes se encuentran en el almacenamiento interno.
$ adb shell
para conectarse al dispositivo a través de una terminal. (Por supuesto, asegúrese de que su dispositivo esté conectado a su computadora y que la depuración de USB esté activada).Un método sin root, que funciona incluso con nuevas versiones de Android:
requisitos previos:
Instrucciones:
Terminal
en Spotlight y ábraloadb devices
para verificar que su dispositivo esté correctamente conectado.adb logcat
para mostrar el poderoso y mágico logcat, también conocido como stacktrace.(principalmente copiado de Leandros )
Se encuentra en /sdcard/bugreports
.
mateo leer