Hay muchas cosas interesantes en el registro del sistema Android, que son útiles de muchas maneras
- encontrar las causas raíz de problemas
- identificar aplicaciones que funcionan mal
¿Cómo puedo ver y examinar el registro de Android?
Comentarios
- Los comentarios no son para una discusión extensa; esta conversación ha sido movida al chat .
Responder
Android 4.1 y más reciente
La forma preferida es descargar el SDK y usar adb logcat
(requiere activar » 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 a través de adb
para que funcionen. Para obtener más información, consulte consulte esta pregunta.
Android 4.0 y versiones anteriores
Puede descargar el SDK y use adb logcat
o obtenga Logcat Extrem del Google Play Store, que muestra el registro directamente en su teléfono.
Comentarios
- Alternativamente, puede usar Terminal Emulator con el comando » logcat > /sdcard/log.txt» para la escritura continua del registro en un archivo en la SD Tarjeta. Esto puede ayudar a resolver problemas con reinicios aleatorios.
- Buen punto. Algunos teléfonos tienden a enviar spam al registro lleno de información trivial, por lo que si desea minimizar los datos y los datos que se deben revisar, consulte la sección » Filtrado de la salida del registro » en developer.android.com/guide/developing/tools/adb.html#logcat
- LogCat Apps no ‘ no funciona con JellyBean. Google cambió la API de Android, las aplicaciones no ‘ ya no tienen permiso para leer registros de otras aplicaciones que no sean las suyas.
- He creado una utilidad sencilla para recopilar registros desde una PC: gist.github.com/hrj/5983971
- Logcat Extreme es la buena aplicación para ver el registro
Respuesta
Ubicaciones de archivos de registro
Hay varios directorios donde los registros (incluidos los de fallas) pueden aparecer, 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 trazos de pila aquí en ANR, es decir, «La aplicación no responde», también conocida 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 fallos que incluyen seguimientos (consulte, por ejemplo, viaForensics y St ackOverflow ) -
/data/kernelpanics
es otra ubicación – no habiendo tenido ningún «pánico de kernel» en mis dispositivos Android, no vi contenido allí todavía. -
/data/panic/panic_daemon.config
puede apuntar a otras ubicaciones configuradas – en mi Droid 2 menciona/sdcard/panic_data/
- Droid 2 mencionado también tiene un
/data/panicreports
directorio (vacío aquí) -
/data/tombstones
puede contener variostombstone_nn
archivos (siendonn
una serie, que aumenta con cada nuevo archivo). A medida que se colocan lápidas para los muertos, aquí se hace para «procesos que murieron por accidente» (es decir, que se bloquearon), y es lo que se conoce como «volcados de núcleo» en sistemas Linux / Unix. Sin embargo, no todas las apps crean lápidas; el desarrollador debe habilitarlo explícitamente (consulte Depuración de volcados de núcleo de Android ).
Puede haber algunas ubicaciones más que se me escapó; pero como la mayoría del registro se realiza en tmpfs
, estos datos se pierden con un reinicio y no coincidirían con la pregunta de OP.
Comandos de registro para usar con una terminal app (o adb)
Varios comandos pueden proporcionarle toneladas de información. Para la mayoría de ellos, es recomendable redirigirlos a un archivo (> filename.ext
) o canalizarlos a través de un filtro (| grep search-for-this
):
Registro de kernel
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>
Logcat
Aquí puede, por ejemplo, especifique 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>
Obteniendo información del dispositivo
Y muchas cosas: Dispositivo detalles, información de cuenta, servicios …
$ 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>
Todo en uno
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
Algo sobre permisos
PS: Naturalmente, el acceso a esa información puede requerir root, ya que la mayoría de las fuentes se encuentran en el almacenamiento interno.
Comentarios
- Para obtener más información sobre los comandos de adb logcat, consulte aquí .
- O simplemente revise nuestra logging tag-wiki @testing – que tiene aún más referencias 🙂
- El enlace para » La depuración de volcados de Android Core » está muerta, ¿podemos obtener una alternativa?
- @Spidey there ‘ s siempre Archive.ORG para este tipo de problema (el enlace va a una copia de trabajo t aquí).
- Para cualquier otra persona como yo que sea nuevo en Android, para ejecutar los comandos anteriores, primero debe ejecutar
$ 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).
Responder
A encontró que CatLog muestra el registro de Android un poco mejor que aLogcat. Además de adb logcat
, eso es lo que estoy usando.
Comentarios
- Vea mi comentario arriba, con respecto a las aplicaciones LogCat.
- He actualizado la pregunta. Tenga en cuenta que la información de posición relativa (por ejemplo, » arriba de » ) puede quedar obsoleto fácilmente, ya que el orden de las respuestas podría cambiar con el tiempo.
Respuesta
A método sin root, que funciona incluso con las nuevas versiones de Android:
Requisitos previos:
- Linux, Windows o Mac
- Cable USB para su dispositivo
- Dispositivo Android
Instrucciones:
- Instale el controlador de su dispositivo para usar adb. Todo lo que necesita lo encontrará aquí
- Descargue el ejecutable adb para su sistema operativo. Es parte del SDK de Android, pero es posible que pueda encontrar el ejecutable adb individualmente.
- Conecte su dispositivo Android.
- Habilite las opciones de desarrollador .
- Habilite la depuración de USB.
- Abra un símbolo del sistema (Windows) o terminal (Linux / Mac). Cómo hacerlo: En Windows: windows + r> ingrese «cmd» (sin comillas)> haga clic en enter | En Linux: ¿No sabe cómo abrir una terminal? LOL | En Mac: Escriba
Terminal
en Spotlight y ábralo - CD en el directorio donde adb ejecutable se encuentra. En Windows: Vaya al directorio donde descargó el ejecutable adb, Shift + clic derecho y seleccione «Abrir consola» (o similar) | En Linux / Mac: haga clic derecho en el directorio y seleccione «Abrir terminal aquí» (o simplemente CD en el directorio)
- Escriba su cmd / terminal:
adb devices
para verificar que su dispositivo esté conectado correctamente. - Si su dispositivo está seleccionado correctamente, escriba
adb logcat
para mostrar el poderoso y mágico logcat también conocido como stacktrace. - Reproduzca su error (o lo que sea) en su dispositivo.
- Inmediatamente después, pegue toda la ventana de cmd / terminal en un servicio de pegado como http://pastebin.com/ y envíanoslo.
(En su mayoría copiado de Leandros )
An swer
Se encuentra en /sdcard/bugreports
.
Comentarios
- Yo ‘ nunca he tenido una carpeta de este tipo en mi teléfono … ¿es esto específico de un fabricante o dispositivo?
- De Logcat – CyanogenMod Wiki : Puede usar una combinación de teclas mágicas para crear un archivo de informe de errores en / sdcard / bugreports. Así que esto parece ser un ) un poco específico (probablemente para CM), yb) no es la respuesta a la pregunta, ya que el OP busca » generado automáticamente » unos.