2011-05-20 19 views
8

Sé que el registro de arranque se puede obtener sacando los contenidos de kmsg o dmesg a través de ADB.
Pero no conozco cómo recuperar los registros de cierre en Android ya que no hay una carpeta /var en Android (lugar donde la mayoría de las distribuciones de escritorio de Linux generalmente almacenan sus registros de apagado).¿Dónde guarda Android los registros de cierre?

Entonces, ¿cómo puedo obtener los registros de cierre en Android?

Respuesta

2

Un trabajo alrededor Encontré que para recopilar registros de cierre en Android es ejecutar adb pull /proc/kmsg C:\Logs.txt en la PC host y luego apagar el dispositivo. Obtendrá los registros hasta que la comunicación USB entre el host y el dispositivo se ajuste. Sé que este es solo un caso de los numerosos escenarios de cierre, pero no he encontrado respuestas satisfactorias para otros casos.

+0

Desafortunadamente simplemente no sabes cuándo tu maldito teléfono se apagará por sí solo como lo hace mi teléfono. Cree que el 35% de la batería está muy bajo y por lo tanto se apaga incluso después de reiniciarlo. A veces no funciona hasta que se apaga. alcanza el 10%. Dios maldito Android – TheRealChx101

5

mirada en algunos lugares como éstos:

/proc/last_kmsg 
/data/tombstones/ 
/data/dontpanic/ 
/data/system/dropbox/ 

(Esta lista no es estrictamente registros del núcleo, incluyendo marco y aplicaciones registra también, que también son a veces de interés)

+0

Gracias por la respuesta Chris! Revisé las ubicaciones en mi teléfono. No pude encontrar/proc/last_kmsg y/data/tombstones /. ¡Y un "ls" en/data/dontpanic no devolvió nada !! Tuve un poco de suerte en/data/system/dropbox/ya que contenían archivos como [email protected] [email protected] Están teniendo alguna información de nivel de APP. Ninguno de ellos tenía la información que recibimos de kmsg :( –

+1

¿No tienes archivos como [email protected] en/data/system/dropbox? Puede ser que no sea una característica estándar ... desafortunadamente –

+0

¡No Chris! No hay ningún tipo de archivos * LAST_KMSG * De todos modos, ¡muchas gracias por tu ayuda! ¡Responde si encuentras otras pistas, todavía estoy detrás de los registros de apagado en Android! –

2

TL; DR:
comando Ejecutar través de adb que las copias Logcat y proc/kmsg a un archivo y que siga funcionando incluso cuando se desconecta adb con nohup, disown o setsid. Probablemente necesite busybox, también necesita root y adb root.
setsid cat proc/kmsg > /sdcard/kmsg.txt &
y
logcat -v long -f /sdcard/logcat.txt (de alguna manera sólo funciona sin setsid) ordena

O añadir copia normal hasta cierto startup script.
/TL; DR

puede copiar constantemente proc/kmsg y logcat a un archivo en su dispositivo Android o una tarjeta microSD para obtener los registros, incluso después de desconexiones adb.

Necesita acceso de root y acceso de adb root para que esto funcione. Para este último, use la configuración en las opciones de desarrollador si tiene una rom personalizada o adbd insecure app.

Después de usar adb shell para obtener su shell de Android, escriba su para obtener acceso de superusuario.

Luego no solo debe colocar un ampersand (&) después del comando, sino también asegurarse de que el comando siga ejecutándose después de que adb se desconecte. Esto se hace por nohup, disown o setsid (consulte here para conocer su uso).
Si no funciona porque no tiene estos comandos, debe instalar busybox.
Ver mi pregunta here.

Consulte here para obtener logcat y registros del kernel e imprimirlo en algún archivo o combinarlo. Consulte developer.android.com/tools/help/logcat.html para ver los parámetros del comando logcat.

Al final podría tener un comando como setsid cat proc/kmsg > /sdcard/kmsg.txt & para los mensajes del kernel.

Para Logcat usted podría tener uno de los siguientes comandos: logcat -v long -f /sdcard/logcat.txt o logcat -v long > /sdcard/logcat.txt

no sé por qué, pero a veces no funcionó con setsid y simplemente no copió de forma continua, pero se detuvo poco después de la ejecución El comando. En estas situaciones, también apareció al ingresar jobs, que de otra manera no lo hizo. Luego funcionó sin setsid, se mantuvo activo después de desconectar y volver a conectar. Supongo que debes probar cuando el archivo siga creciendo. Si alguien descubrió por qué se está comportando así ... házmelo saber y editaré la respuesta.

Probably adding the commands to a startup script could be a solution for some, too.

Espero que esto ayude.

fightcookie

Cuestiones relacionadas