Saltar al contenido
Todo sobre trucos y tutoriales de Android

Guía: Envío de un Logcat para ayudar a depurar su aplicación favorita

Guía: Envío de un Logcat para ayudar a depurar su aplicación favorita

Nos ha pasado a todos en un momento u otro. No hay vergüenza en admitirlo. A veces, las aplicaciones de Android se bloquean. Tanto si utilizas un dispositivo completamente de serie para ejecutar Google Maps como una ROM altamente personalizada con un módulo Xposed para mejorar Google Hangouts, pueden producirse caídas de aplicaciones y otros problemas que pueden llegar a convertirse en un gran obstáculo. Esto es especialmente cierto en el desarrollo de ajustes y aplicaciones de menor escala, como los muchos que se encuentran en nuestro sitio web. Cuando surgen problemas, una de las ideas más constructivas y útiles que el usuario puede aportar al desarrollador sobre la naturaleza del accidente es a través de la provisión de un Logcat. Aunque es extremadamente útil para los desarrolladores, la obtención de esta información puede parecer un poco desalentadora para un usuario regular.

Típicamente involucra herramientas de línea de comandos a través de ADB, el 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, lo que hace que hacerlo sea tan fácil como unos cuantos toques de pantalla. En nuestra interminable misión de ayudar al desarrollo de desarrolladores, he aquí una guía para principiantes para enseñar a los usuarios cómo enviar un Logcat.

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

Un Logcat es una herramienta de ADB Shell que se utiliza para obtener un registro de todos los eventos del sistema. Esto incluye errores, advertencias, trazas de pila y ocurrencias generales del sistema. Cuando se produce un error, la información clave que apunta a la fuente de la falla se emite a través de este registro, lo que lo convierte en una herramienta muy útil para la resolución de problemas. Normalmente, estos son tirados y filtrados a través de los comandos de ADB. Sin embargo, aplicaciones como aLogcat, Catlog, y nuestra herramienta preferida para este artículo, Matlog, han ahorrado a los usuarios el esfuerzo de compilar estas herramientas de comandos en la GUI de una aplicación descargable de Play-Store.

Como se mencionó, Matlog es lo que estamos usando para recolectar Logcats. Elegido por su interfaz fácil de usar, Matlog fue creado por XDA Junior Member plusCubed y basado en la aplicación de código abierto Catlog de Nolan Lawson. Como Catlog , , Matlog puede ser compilado desde el código fuente, o descargado gratuitamente desde Google Play Store. Aunque estar enraizado le permite omitir un paso durante la instalación, el acceso de root no es necesario para recopilar Logcats . Si su dispositivo no está enraizado, un único comando shell de ADB le dará acceso a la aplicación para leer los registros de su dispositivo. ¿Todavía no ha configurado ADB en su máquina? No hay problema, sólo tiene que seguir estos pasos para ponerlo en marcha.

TE PUEDE INTERESAR:  Todo sobre las pilas: mitos, consejos y el futuro

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

Configuración de ADB

Primero, descargue el binario de ADB directamente de Google para su sistema operativo particular y extráigalo a un directorio separado en su computadora. A continuación, instale el controlador adecuado para su teléfono en particular. A continuación, habilite «USB Debugging» en Settings -> Developer Options. Si no ves Developer Options, tendrás que habilitarlo en Settings -> About Phone (Configuración -> Acerca del teléfono) y luego punteando en Build number 7 veces. Por último, asegúrese de que ADB funciona iniciando una línea de comandos en el mismo directorio que el binario ADB (haga clic con el botón derecho -> «abrir línea de comandos aquí») y ejecute el siguiente comando:

adb devices

Si ves el número de serie de tu dispositivo (y no dice «no autorizado»), eres de oro. Si ves una ventana emergente en tu teléfono pidiéndote que le concedas acceso al ADB de tu computadora, entonces di que sí. Si no ves que ocurre ninguna de las dos cosas, intenta reiniciar tu ordenador/teléfono y volver a conectarlo a tu ordenador. De lo contrario, intente reinstalar el controlador.

Configurando Matlog

Ahora que tiene el ADB funcionando (ojalá), todo lo que necesita hacer para que Matlog pueda capturar Logcats es ejecutar el siguiente comando en un shell de ADB. Una vez más, si su dispositivo ya está enraizado, no necesita ejecutar este comando, ya que sólo es necesario para teléfonos no enraizados.

adb shell pm grant com.pluscubed.matlog android.permission.READ_LOGS

Widget de registro de Matlog junto a la aplicación que no funciona correctamente

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

TE PUEDE INTERESAR:  Android Marshmallow: Problemas y soluciones conocidas

Si toca el widget, podrá nombrar y comenzar a grabar un registro. Luego, simplemente reproduzca la falla inmediatamente después de iniciar el registro, lo que llenará el Logcat con la información pertinente para su problema. Una vez que se haya reproducido el problema, simplemente toque de nuevo el widget para completar la grabación del registro.

Al hacerlo, Matlog se abrirá al registro capturado. Toque las elipses y seleccione «enviar» para enviar por correo electrónico el registro como un archivo de texto adjunto junto con la información general del dispositivo. ¡Eso es todo! Su Logcat ha sido capturado con éxito y enviado al profesor Oak.

En mi ejemplo anterior, puedo decir que la razón por la que Apktool X estaba fallando es porque mi dispositivo no tiene raíces. Doh! Debería haber leído completamente el artículo antes de intentar usar la aplicación.

Eso fue demasiado fácil

Por supuesto, no todos los temas son tan fáciles de capturar. A veces, los problemas relacionados con el arranque, o los que se extienden durante períodos de tiempo más largos, pueden requerir diferentes características de la aplicación para su captura. En tales casos, usted querrá dejar que Matlog se ejecute en segundo plano (no lo interrumpa ni lo borre) y utilizar las funciones Log Level y Filter para analizar los datos.

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

Selección del nivel de registro que muestra sólo errores

Nivel de registro

Otro comando ADB simplificado por Matlog, la función Log Level puede ser usada 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 y como se describen en el sitio web de los desarrolladores de Android y codificados por colores para que coincidan con el etiquetado de Matlog.

TE PUEDE INTERESAR:  Netflix APK Descarga, Instalación, Hack & Correcciones

De la más baja a la más alta prioridad:

  • V: Verbose (Eventos generales del sistema)
  • D: Depurar
  • I: Información
  • W: Advertencia
  • E: Error
  • F: Mortal
  • S: Silencioso (Máxima prioridad, 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. La selección de un nivel de registro sólo mostrará los eventos en su propio nivel de prioridad y superior, lo que facilita la identificación y agrupación de errores en lugar de requerir el desplazamiento manual a través de numerosas líneas de texto – que a veces pueden ser de miles – para hacerlo.

Conjunto de filtros de búsqueda para «Apktool»

Filtros

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

Si te encuentras buscando/filtrando ciertas palabras clave mucho cuando ayudas a un desarrollador a depurar una aplicación (o si el desarrollador ha creado explícitamente un evento de registro único que puedes buscar), entonces también puedes guardar un filtro al que puedas volver 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?

Aunque ahora no puede ser un experto en depuración de aplicaciones Android, aprender a reunir y enviar Logcats puede ser un gran recurso para los desarrolladores de sus aplicaciones favoritas. Usando Matlog, y con las características descritas anteriormente, la recopilación, clasificación y envío de información pertinente sobre una aplicación que no funciona correctamente nunca ha sido tan fácil.

¿Ha utilizado Matlog u otra aplicación Logcat? ¿Le pareció útil esta guía? Háganos saber en los comentarios de abajo!