Guía: enviar un Logcat para ayudar a depurar su aplicación favorita

¿Alguna vez tu aplicación favorita se te ha bloqueado repentinamente? ¿Quieres ayudar al desarrollador a depurar lo sucedido? Aprenda a capturar y filtrar Logcats con nuestra guía.

Los croatas ondean una bandera de la UE mientras celebran la adhesión de Croacia a la Unión Europea en la plaza Ban Jelesic en Zagreb el 30 de junio de 2013. Decenas de miles de croatas celebraron la entrada del país en la Unión Europea a la medianoche del domingo (22:00 GMT), casi dos décadas después de que terminara la sangrienta guerra de independencia de la ex república yugoslava. FOTO AFP / STRINGER

A todos nos ha pasado en un momento u otro. No es ninguna vergüenza admitirlo. A veces, las aplicaciones de Android fallan. Ya sea que esté utilizando un dispositivo completamente estándar para ejecutar Google Maps o una ROM altamente personalizada con un módulo Xposed para mejorar Google Hangouts, pueden ocurrir fallas de aplicaciones y otros problemas e incluso convertirse en un gran obstáculo. Esto es especialmente cierto en el desarrollo de ajustes y aplicaciones de menor escala, como las que se encuentran en nuestro sitio web. Cuando surgen problemas, una de las ideas más constructivas y útiles que el usuario puede brindarle al desarrollador sobre la naturaleza del fallo es proporcionando una

logcat. Aunque es extremadamente útil para los desarrolladores, obtener esta información puede parecer algo desalentador para un usuario habitual.

Normalmente implica herramientas de línea de comandos a través de ADB, Logcat está fuera del alcance de muchos usuarios que tienen poca o ninguna experiencia con la línea de comandos. Sin embargo, el lanzamiento de ciertas aplicaciones ha eliminado, o al menos reducido en gran medida, la participación de los comandos ADB en la recuperación y envío de un Logcat, haciendo que hacerlo sea tan fácil como unos pocos toques en la pantalla. En nuestra misión interminable de ayudar al desarrollo de los desarrolladores, aquí hay una guía para principiantes para enseñar a los usuarios cómo enviar un Logcat.


¿Qué es un Logcat y cómo lo creamos?

Un Logcat es una herramienta ADB Shell que se utiliza para generar un registro de todos los eventos del sistema. Esto incluye errores, advertencias, seguimientos de pila y sucesos generales del sistema. Cuando se produce un error, la información clave que apunta hacia el origen del error se genera a través de este registro, lo que lo convierte en una herramienta muy útil para la resolución de problemas. Normalmente, estos se extraen y filtran mediante comandos ADB. Sin embargo, aplicaciones como aLogcat, Catálogo, y nuestra herramienta preferida para este artículo, matlog, han ahorrado el esfuerzo a los usuarios al compilar estas herramientas de comando en la GUI de una aplicación descargable de Play-Store.

Como se mencionó, Matlog es lo que usamos para recopilar Logcats. Elegido por su interfaz sencilla pero fácil de usar, Matlog fue creado por un miembro junior de XDA plusCubed y basado en Nolan Lawson aplicación de código abierto Catlog. Me gusta el catálogo, Matlog puede ser compilado desde la fuente, o descargado gratis desde Google Play Store. Aunque estar rooteado te permite saltarte un paso durante la instalación, No se requiere acceso de root para recopilar Logcats. Si su dispositivo no está rooteado, un solo comando de shell ADB otorgará acceso a la aplicación para leer los registros de su dispositivo. ¿Aún no has configurado ADB en tu máquina? No hay problema, simplemente sigue estos pasos para ponerlo en funcionamiento.

Nota: Los teléfonos Huawei tienen la salida Logcat completamente deshabilitada. Necesitarás cambiar una configuración oculta antes de continuar con el resto de esta guía.


Configurando el BAD

Primero, descargue el binario ADB directamente desde Google para su sistema operativo particular y extráigalo a un directorio separado en su computadora. Próximo, instalar el controlador adecuado para tu teléfono en particular. Luego, habilite "Depuración USB" en Configuración --> Opciones de desarrollador. Si no ve las Opciones de desarrollador, deberá habilitarlas yendo a Configuración --> Acerca del teléfono y luego tocando Número de compilación 7 veces. Finalmente, asegúrese de que ADB esté funcionando iniciando un símbolo del sistema en el mismo directorio que el binario ADB (haga clic derecho -> "abrir símbolo del sistema aquí") y ejecute el siguiente comando:

adb devices

Si ve el número de serie de su dispositivo (y no dice no autorizado), está bien. Si ve una ventana emergente en su teléfono pidiéndole que le otorgue acceso ADB a su computadora, diga que sí. Si no ve que suceda ninguna de las dos cosas, intente reiniciar su computadora/teléfono y vuelva a conectarlo a su computadora. De lo contrario, intente reinstalar el controlador.


Configurando Matlog

Ahora que tiene ADB en funcionamiento (con suerte), todo lo que necesita hacer para permitir que Matlog pueda capturar Logcats es emitir el siguiente comando en un shell ADB. Nuevamente, si su dispositivo ya está rooteado, no necesita ejecutar este comando ya que solo es necesario para teléfonos no rooteados.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Widget de registro de Matlog junto con la aplicación que funciona mal

Una vez habilitado y abierto, Matlog mostrará los eventos del sistema en tiempo real. Puede tocar el botón de pausa para detener esto, luego tocar el menú de elipses y seleccionar "borrar" para eliminar del campo datos superfluos. Se recomienda hacer esto antes de registrar la aplicación que no funciona correctamente para reducir el tamaño del registro. Para acortar aún más los pasos y, por lo tanto, la longitud del registro, agregue el widget Matlog a su pantalla de inicio junto a la aplicación que falla en cuestión, como se muestra a la derecha. En este caso, Apktool X es nuestra aplicación que funciona mal.

Tocar el widget le permite nombrar y comenzar a grabar un registro. Luego, simplemente reproduzca el mal funcionamiento inmediatamente después de iniciar el registro, lo que llenará el Logcat con información pertinente para su problema. Una vez que se reproduzca el problema, simplemente toque el widget nuevamente para completar la grabación del registro.

Al hacerlo, Matlog se abrirá en el registro capturado. Toque los puntos suspensivos y seleccione "enviar" para enviar el registro por correo electrónico como un archivo de texto adjunto junto con información general del dispositivo. ¡Eso es todo! Su Logcat ha sido capturado y enviado exitosamente al profesor Oak.

En mi ejemplo anterior, puedo decir que la razón por la que Apktool X fallaba es porque mi dispositivo no está rooteado. ¡Doh! debería haberlo hecho completamente leer el artículo antes de intentar utilizar la aplicación.

Eso fue demasiado fácil

Por supuesto, no todos los problemas son tan fáciles de captar. A veces, los problemas relacionados con el arranque o los problemas que se extienden durante períodos de tiempo más largos pueden requerir diferentes funciones de la aplicación para capturarse. En tales casos, querrá dejar que Matlog se ejecute en segundo plano (no pausarlo ni borrarlo) y utilizar las funciones Nivel de registro y Filtro para analizar los datos.

Aunque no suele ser el único método necesario para recopilar datos pertinentes, algunas situaciones requieren más contexto: cada una de estas herramientas se puede utilizar en registros más largos para ordenar y especificar datos para el desarrollador. Naturalmente, esto depende de la naturaleza del error y de lo que solicite el desarrollador. Para usar cualquiera de estos, simplemente ejecute Matlog, reproduzca su problema, regrese a Matlog, toque el menú de puntos y seleccione uno de estos dos métodos de clasificación.

Selección de nivel de registro que muestra solo errores

Nivel de registro

Otro comando ADB simplificado por Matlog, la función Nivel de registro, se puede utilizar para ver tipos específicos de eventos y mensajes del sistema. A continuación se muestra una breve descripción de los distintos tipos de mensajes, tal como se describen en el sitio web de desarrolladores de Android y codificados por colores para coincidir con el etiquetado de Matlog.

De menor a mayor prioridad:

  • V: Detallado (eventos generales del sistema)
  • D: Depurar
  • I: Información
  • W.: Advertencia
  • mi: Error
  • F: Fatal
  • S: Silencioso (prioridad más alta, en el que nunca se imprime nada)

La función Nivel de registro tiene una lista correspondiente de estos mensajes, que puede filtrar el registro en cada nivel de prioridad. Al seleccionar un nivel de registro, se mostrarán solo los eventos de su propio nivel de prioridad y superiores, lo que facilitará la identificación y agrupación de errores en lugar de requerir desplazarse manualmente a través de numerosas líneas de texto, que a veces pueden ser miles, para hacerlo entonces.

Conjunto de filtros de búsqueda para “Apktool”

Filtros

También se pueden emplear filtros para clasificar los datos de registro. Al iniciar una búsqueda de palabras clave, el usuario puede ver solo mensajes que hacen referencia explícita a esta palabra clave. Las palabras clave útiles pueden incluir el nombre de la aplicación que funciona mal o incluso la palabra "error", ya que abarca instancias del término en todos los niveles de prioridad, aunque no es abarca todos los errores de "Nivel de registro".

Si se encuentra buscando/filtrando mucho ciertas palabras clave cuando ayuda a un desarrollador a depurar una aplicación (o si el el desarrollador ha creado explícitamente un evento de registro único que puede buscar), luego también puede guardar un filtro al que puede regresar en el futuro. Esto es útil cuando sabes de antemano lo que estás buscando, lo cual, si estás trabajando en conjunto con un desarrollador, sucederá con bastante frecuencia.

¿Listo para depurar?

Si bien es posible que no ahora Sea un experto en depurar aplicaciones de Android, aprender a recopilar y enviar Logcats puede convertirlo en un gran recurso para los desarrolladores de sus aplicaciones favoritas. Usar Matlog, y las características descritas anteriormente, recopilar, clasificar y enviar información pertinente sobre una aplicación que funciona mal nunca ha sido tan fácil.


¿Has utilizado Matlog u otra aplicación de Logcat? ¿Le resultó útil esta guía? ¡Háganos saber en los comentarios a continuación!