He tenido problemas para acceder a los mensajes de registro de K9 usando aLogcat, consulte a continuación para obtener más detalles. Lo que quisiera saber es:
Recientemente he tenido problemas de conexión con K9. Mis carpetas no se sincronizan y la lista de carpetas termina llena de errores de socket ( libcore.io.ErrnoException:
) o errores de ssl ( javex.net.ssl.SSLException:
), etc. donde debería estar la última hora verificada . Recibo diferentes mensajes según el problema que se presente en ese momento, pero no puedo ver el texto completo del mensaje de error, por lo que es difícil adivinar cuál podría ser la causa.
Pensando que los archivos de registro podrían contener más información, seguí las instrucciones en Grabación de un registro de depuración , habilité el registro de depuración en K9, instalé aLogcat e intenté ver los registros. Lamentablemente, cualquiera que sea el búfer de registro que seleccione ( Principal , Eventos o Radio ), parece que no hay mensajes de K9.
Si agrego el (k9|AndroidRuntime)
filtro de expresiones regulares sugerido, no veo nada en ninguno de los registros. Si lo elimino, Main contiene principalmente mensajes de recolección de basura, Events parece contener principalmente mensajes de aLogcat y aún no he visto un mensaje de registro en Radio .
Si hace alguna diferencia, estoy usando un Nexus 7, pero habría pensado que el registro se habría realizado en una ubicación estándar que no cambiaría entre las versiones de Android.
¿Alguien tiene alguna sugerencia sobre cómo puedo ver el texto completo de los errores que ocurren al intentar sincronizar mis carpetas K9?
Parece que no hay forma de ver estos mensajes de registro en el dispositivo sin acceso de root , pero si tiene acceso de root, hay un par de opciones, ya sea otorgar los permisos requeridos a aLogcat o considerar usar un truco horrible TM para ver ellos directamente.
adb
Si puede conectar su dispositivo Android a una PC o estación de trabajo, puede acceder a los registros a través del adb
comando.
Para hacer esto en Windows, primero deberá instalar el SDK de Android (que requerirá el SDK de Java SE ) y agregar android-sdk\tools
y android-sdk\platform-tools
a la ruta del sistema . Luego habilite la depuración USB en su Nexus 7, conéctelo a través de USB e instale la interfaz ADB compuesta de Android desde android-sdk\extras\google\usb_driver
(tuve que obligar a Windows XP a buscar aquí, no encontraría los controladores por sí solo).
Para obtener detalles sobre cómo comenzar adb
a funcionar sin la instalación completa del SDK de Android, o en máquinas Mac o Linux, consulte la excelente respuesta de Izzy a ¿Existe una instalación mínima de ADB?
Luego puede abrir un shell (es decir, una cmd
ventana) y ejecutar el comando:
adb logcat k9:V *:S AndroidRuntime:E
Si tiene acceso de root , podría considerar otorgar el READ_LOGS
permiso a aLogcat , como se sugiere en esta publicación , ¿aLogcat/CatLog/Lumberjack no funciona? Haz esto... en el foro xda-developers :
pm grant <pkg> android.permission.READ_LOGS
Para otorgar este permiso a alogcat
o alogcat.donate
, usaría uno de los siguientes comandos, dependiendo de si está ejecutando la versión de donación o no:
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
pm grant org.jtb.alogcat android.permission.READ_LOGS
De acuerdo con una publicación sobre desarrolladores de Android y el ticket , la concesión de permisos sobrevive al reinicio y la actualización, pero no a la desinstalación/reinstalación.
Lamentablemente, dado que esto requiere acceso de root, ya sea que lo ejecute en el dispositivo o en mi PC (con el prefijo adb shell
), solo obtengo el error:
Neither user 12345 nor current process has android.permission.GRANT_REVOKE_PERMISSION
Si tiene acceso de root , podría considerar crear logcat
setuid root y ejecutar logcat desde el shell del dispositivo, como se sugiere en esta respuesta a mi ¿Cómo puedo acceder a los archivos de registro de Android en mi Nexus 7 sin acceso de root? pregunta:
chmod 04755 /system/bin/logcat
logcat k9:V *:S AndroidRuntime:E
¿Por qué no aparecen mensajes de registro de K9 en el visor de registros de aLogcat ?
¿Podría haber cambiado algo en Jelly Bean que hizo que el registro de K9 dejara de funcionar?
Dado que parece que aLogcat muestra muy pocos mensajes en general, ¿ha cambiado algo en Jelly Bean que podría significar que ya no puede acceder a todos los mensajes?
Esto parece ser un cambio en Jelly Bean que afecta a todas las aplicaciones que pueden intentar leer los archivos de registro.
Aparentemente , el permiso READ_LOGS no se otorga a aplicaciones de terceros en Jelly Bean . Dado que este enlace parece ser poco fiable:
Hoy probé mi aplicación en el emulador más nuevo (api 16) antes de publicarlo en Google Play. Resultó que Android ahora se niega a otorgar este permiso a aplicaciones de terceros. Esto es extraño porque revisé todos los cambios documentados de Jelly Bean y no pude encontrar nada que mencionara el permiso READ_LOGS.
y después
El nivel de protección para READ_LOGS ahora es "firma|sistema|desarrollo". La nueva sintaxis de canalización para el nivel de protección tampoco está documentada (consulte http://code.google.com/p/android/issues/detail?id=34785 ).
Mi sospecha es que aLogcat solo ve mensajes generados por sí mismo y es vm.
Para obtener más información, consulte las respuestas de Flujo a mi pregunta . ¿Qué tan activo debo esperar que esté mi archivo de registro del sistema Jelly Bean?
He visto este comportamiento en K9 cuando mi servidor de correo actualizó sus certificados SSL. La solución fue mantener presionada la cuenta, seleccionar Account settings -> Fetching mail -> Incoming server
y simplemente Next
pasar las páginas para confirmar su configuración hasta que aparezca la ventana emergente sobre el certificado (es posible que no aparezca si todo está bien con el certificado, el mío tenía un vhost incorrecto). Confirme el certificado y simplemente realice el resto de la configuración y su cuenta debería comenzar a funcionar.
Flujo
adb logcat
aún puede obtener el registro completo de Android en Jelly Bean.Flujo
cabina de marca
adb logcat
desde allí y actualicé mi respuesta en consecuencia. Todavía es frustrante que no puedo encontrar ninguna forma de acceder a los registros sin acceso de root desde el propio dispositivo.Flujo
cabina de marca
HRJ
izzy
cabina de marca
izzy
cabina de marca
Zar Ioann
adb logcat k9:V *:S AndroidRuntime:E
¡Me mostró el stacktrace del accidente matutino en la noche del día siguiente! ¡Log todavía estaba allí!