Cómo capturar y leer informes de errores

Un informe de errores contiene registros del dispositivo, seguimientos de pila y otra información de diagnóstico para ayudarte a encontrar y corregir errores en tu app. Puedes capturar un informe de errores desde tu dispositivo mediante la opción para desarrolladores Iniciar informe de errores en el dispositivo, el menú de Android Emulator o el comando adb bugreport en tu máquina de desarrollo.

Figura 1: Opciones para desarrolladores

Para realizar un informe de errores, debes tener habilitada las Opciones para desarrolladores en el dispositivo de modo que puedas acceder a la opción Iniciar informe de errores.

Cómo capturar un informe de errores desde un dispositivo

Figura 2: El informe de errores está listo

Para obtener un informe de errores directamente desde el dispositivo, haz lo siguiente:

  1. Asegúrate de tener las Opciones para desarrolladores habilitadas.
  2. En Opciones para desarrolladores, presiona Iniciar informe de errores.
  3. Selecciona el tipo de informe de errores que quieras y presiona Notificar.

    Después de un momento, se te notificará que está listo el informe de errores (consulta la figura 2).

  4. Para compartirlo, presiona la notificación.

Cómo capturar un informe de errores de Android Emulator

Desde Android Emulator, puedes usar la función File a bug en los controles ampliados:

  1. Haz clic en More , en el panel del emulador.
  2. En la ventana Extended controls, selecciona Bug report a la izquierda.

    Esto abrirá una pantalla en la que podrás ver los detalles del informe de errores, como la captura de pantalla, la información de configuración de AVD y el registro del informe de errores. También puedes escribir un mensaje con pasos de reproducción para guardar con el informe.

  3. Espera a que finalice la recolección del informe de errores y, a continuación, haz clic en Save Report.

Cómo capturar un informe de errores con adb

Si tienes solo un dispositivo conectado, puedes obtener un informe de errores con adb, de la siguiente manera:

    $ adb bugreport E:\Reports\MyBugReports
    

Si no especificas una ruta para el informe de errores, se guardará en el directorio local.

Si tienes varios dispositivos conectados, debes especificar el dispositivo con la opción -s. Ejecuta los siguientes comandos adb para obtener el número de serie del dispositivo y generar el informe de errores.

    $ adb devices
    List of devices attached
    emulator-5554      device
    8XV7N15C31003476 device

    $ adb -s 8XV7N15C31003476 bugreport
    

Cómo inspeccionar el archivo ZIP del informe de errores

De forma predeterminada, el archivo ZIP se denomina bugreport-BUILD_ID-DATE.zip y puede contener varios archivos, pero el más importante es bugreport-BUILD_ID-DATE.txt. Este es el informe de errores y contiene resultados de diagnóstico correspondientes a los servicios del sistema (dumpsys), registros de errores (dumpstate) y registros de los mensajes del sistema (logcat). Esto últimos incluyen pilas de seguimiento cuando el dispositivo lanza un error y mensajes de todas las aplicaciones con la clase Log.

El archivo ZIP contiene un elemento de metadatos version.txt con la letra de actualización de Android y, cuando se habilita systrace, el archivo ZIP también contiene un archivo systrace.txt. La herramienta de Systrace ayuda a analizar el rendimiento de la aplicación mediante la captura y la visualización de los tiempos de ejecución de los procesos de la aplicación y otros procesos del sistema.

La herramienta dumpstate copia archivos del sistema de archivos del dispositivo en el archivo ZIP de la carpeta FS para que puedas hacer referencia a ellos. Por ejemplo, un archivo /dirA/dirB/fileC del dispositivo generaría una entrada FS/dirA/dirB/fileC en el archivo ZIP.

Figura 3: Estructura de archivos del informe de errores

Para obtener más información, consulta Cómo leer informes de errores.

Cómo obtener informes de tus usuarios

La captura de informes de errores como se describe anteriormente es útil cuando eres tú el que usa la app, pero los usuarios finales no podrán compartir con tanta facilidad estos tipos de informes de errores contigo. Para obtener informes de fallas con seguimientos de pila de usuarios del mundo real, aprovecha las funciones de generación de informes de fallas de Google Play y Firebase.

Google Play Console

Puedes obtener informes de Google Play Console para ver datos de fallas y errores de aplicaciones que no responden (ANR) de usuarios que instalaron tu app desde Google Play. Se incluyen los datos de los seis meses anteriores.

Para obtener más información, consulta Cómo ver las fallas y los errores de ANR en la ayuda de Play Console.

Firebase Crash Reporting

Firebase Crash Reporting crea informes detallados de tu app. Los errores se agrupan en problemas con seguimientos de pila similares, y se clasifican por la gravedad del impacto en los usuarios. Además de los informes automáticos, puedes registrar eventos personalizados para ayudar a capturar los pasos que llevan a una falla.

Para comenzar a recibir informes de fallas de los usuarios, tan solo agrega las dependencias de Firebase al archivo build.gradle. Para obtener más información, consulta Firebase Crash Reporting.