Cómo informar un error

Sigue los pasos que se indican en esta página para completar un informe de errores. Hay recursos limitados para corregir errores, por lo que se priorizan los que tienen información completa. Por esa razón, los informes de errores incompletos se cierran. Si esto sucede, vuelve a enviar el error con información adicional.

Para que no se informe un error que ya se corrigió, asegúrate de usar las versiones más recientes de las herramientas. También puedes buscar errores similares en la Herramienta de seguimiento de errores de Android Studio para comprobar si ya se informó el error que estás experimentando.

Cómo informar un error

Para informar un error, sigue estos pasos:

  1. Para abrir un informe de errores desde Android Studio, selecciona Help > Submit Feedback.

    Esta es la manera más fácil de informar un error, ya que se propaga el informe correspondiente con tu versión de Android Studio, versión de Kotlin o Java, y los datos del sistema, que necesitamos para reproducir correctamente el problema.

    También puedes informar el error aquí y agregar la información de la versión por tu cuenta.

  2. Adjunta un informe de diagnóstico para que podamos depurar tu problema. Para generar un archivo ZIP del informe de diagnóstico, haz clic en Help > Collect Logs and Diagnostic Data.

  3. Describe los pasos exactos para reproducir el problema. Envía la mayor cantidad de información posible, incluidos fragmentos de código, un proyecto de GitHub que se pueda usar para reproducir el error y capturas de pantalla o grabaciones de lo que observas.

  4. Describe el error de forma detallada. Explica el resultado que esperabas y lo que observaste en su lugar.

  5. Elige un título descriptivo para el informe de errores. El uso de un título más descriptivo facilita la clasificación por error.

Para ciertos errores, necesitamos información adicional, como se describe en las siguientes secciones:

Detalles de errores de Android Studio

Para informar errores específicos de Android Studio, incluye información adicional como se describe en esta sección.

Si se bloquea el IDE

Si el IDE en sí parece funcionar con mucha lentitud o está completamente bloqueado, genera algunos volcados de subprocesos como se describe en esta página y adjúntalos al informe de errores. Los volcados de subprocesos muestran lo que hace el IDE que lo ralentiza.

Si el IDE funciona con lentitud, pero no está inmovilizado, adjunta el archivo idea.log al informe de errores. Para adjuntar el archivo, selecciona Help > Collect Logs and Diagnostic Data o Help > Show Log in Files (Help > Show Log in Finder en macOS). Este archivo muestra si el IDE arroja errores en el registro.

Usa perfiles de CPU para diagnosticar la lentitud

Si experimentas lentitud en Android Studio, los perfiles de CPU a veces pueden ayudar a diagnosticar el problema.

Sigue estos pasos para capturar un perfil de CPU con el complemento de Pruebas de rendimiento de Android Studio:

  1. Instala el complemento.

    • En Android Studio, busca "Prueba de rendimiento" en el mercado de complementos.
    • También puedes descargar una versión compatible con Android Studio desde el sitio web del complemento.
  2. Crea el Generador de perfiles de CPU.

    1. Cuando Android Studio parezca funcionar con lentitud, elige Start CPU Usage Profiling.
    2. Repite algunas acciones para las que haya problemas de latencia (completar código, escribir y esperar a que se actualice el destacado, etcétera).
    3. Haz clic en Stop CPU Usage Profiling.
  3. Comparte el archivo de perfil.

    Aparecerá un globo que proporcionará el nombre de archivo de la instantánea de la CPU, con el formato snapshot-NNN. Comparte ese archivo de la instantánea en tu informe de errores.

Si se queda sin memoria el IDE

Los problemas de memoria en Android Studio a veces son difíciles de informar y reproducir. Para resolver este problema, Android Studio ahora incluye un informe de uso de memoria que puedes enviar al equipo de Android Studio para identificar el origen de los problemas de memoria.

Cómo ejecutar un informe de uso de memoria

Para ejecutar un informe de uso de memoria, sigue estos pasos:

  1. Haz clic en Help > Analyze Memory Usage en la barra de menú.

    Android Studio vuelca el montón y te solicita que reinicies el IDE. Si lo haces, el análisis de volcado de montón se iniciará inmediatamente. De lo contrario, el análisis de volcado de montón se iniciará la próxima vez que ejecutes Android Studio. En cualquier caso, el IDE te notificará una vez que el informe de uso de memoria esté listo para que lo revises, como se muestra en la Figura 1.

    Notificación que indica que un informe de uso de memoria está listo para revisar
    Figura 1: Notificación de informe de uso de memoria
  2. Haz clic en Review Report.

    Antes de enviar el informe, puedes revisar la información que incluye:

    Un informe de uso de memoria.
    Figura 2: El análisis del Informe de uso de memoria
  3. Cuando termines la revisión, copia el contenido del informe en un archivo y adjúntalo cuando presentes el error.

    Si envías los datos del informe de esta manera, el equipo de Android Studio podrá comunicarse contigo con la herramienta de seguimiento de errores mientras investigamos los problemas de memoria.

Si el IDE falla o arroja excepciones

Para otros tipos de fallas, adjunta el archivo idea.log que se encuentra en Help > Collect Logs and Diagnostic Data o Help > Show Log in Files (Help > Show Log in Finder en macOS).

Cómo generar un volcado de subprocesos

Un volcado de subprocesos muestra un panorama de todos los subprocesos que se ejecutan en la JVM. Para cada subproceso, incluye una impresión de todos los marcos de pila. Esto permite determinar la razón por la cual está ocupado el IDE, en especial si generas varios volcados de subprocesos con algunos segundos de diferencia.

Cuando informas errores porque el IDE está extremadamente ocupado con una CPU vinculada o porque parece haberse bloqueado, un volcado de subprocesos permite determinar el código que realiza mucho trabajo o los subprocesos que se disputan los recursos y generan un interbloqueo.

El JDK incluye una herramienta llamada jstack que se puede usar para generar un volcado de subprocesos. Primero, busca el ID de proceso (PID) del proceso de Android Studio. Para hacerlo, usa el comando jps.

En Linux o macOS:

jps -mv | grep studio

En Windows:

jps -mv | findstr studio

Esto imprime una línea larga, como la siguiente:

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

El primer número (37605, en este ejemplo) es el ID del proceso.

A continuación, genera un volcado de subprocesos y guárdalo en un archivo dump.txt:

jstack -l pid >> dump.txt

Si eso no funciona, existen algunos métodos adicionales específicos de cada plataforma para generar un volcado de subprocesos. Consulta este artículo de asistencia de IntelliJ para obtener instrucciones detalladas.

Detalles de errores de Gradle y de herramientas de compilación

Para informar un error relacionado con las herramientas de compilación o Gradle, adjunta un proyecto real o de ejemplo que demuestre el problema para asegurarte de que se capture toda la información necesaria. Quita la información sensible antes de compartirla.

Si no puedes compartir un proyecto, indica las versiones de las herramientas que estás usando (intenta usar las versiones estables o preliminares antes de informar un error). Para encontrar las versiones de tus herramientas, haz lo siguiente:

  • Versión del complemento de Android para Gradle:

    1. Selecciona File > Project Structure.
    2. Haz clic en Project.
    3. Busca la versión del complemento de Android para Gradle.
  • Versión de Gradle.

    1. Selecciona File > Project Structure.
    2. Haz clic en Project.
    3. Busca la versión de Gradle.
  • Versión de Android Studio

    1. Selecciona Help > About.
    2. Busca la versión de Android Studio.

Además, incluye la siguiente información cuando corresponda:

  • Si un comportamiento cambió inesperadamente de una versión anterior a la actual, indica ambas versiones.
  • Si la compilación tiene un error, ejecútala desde la línea de comandos con la opción --stacktrace (como ./gradlew <task> --stacktrace) y proporciona un seguimiento de pila en tu informe de errores.
  • Si la compilación lleva más tiempo del esperado, prueba una de las siguientes opciones:
    • Ejecuta ./gradlew <task> --scan y comparte el análisis de compilación de Gradle generado en tu informe de errores.
    • Ejecuta ./gradlew <task> -Pandroid.enableProfileJson=true y comparte los archivos de registro de Chrome generados en el directorio <root-project>/build/android-profile.

Detalles de errores de Android Emulator

Sigue estos pasos para usar los controles extendidos del emulador para recopilar información e informar un error:

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

    Se abrirá una pantalla con los detalles del informe de errores, como la captura de pantalla, la información de configuración de AVD y un registro de informe de errores. Puedes ingresar los pasos para reproducir aquí, o bien esperar y escribirlos en el informe que se genere en el siguiente paso.

  3. Espera a que el informe de errores termine la recopilación y, luego, haz clic en Send to Google.

    Se abrirá una ventana en la que podrás guardar el informe de errores en una carpeta. El navegador también se abre para crear un informe en la herramienta de seguimiento de errores de Google con la información necesaria sobre el emulador ya completada.

  4. En el informe, completa los detalles restantes, como los pasos para reproducir el error y adjunta los archivos guardados cuando creaste el informe de errores.

De lo contrario, ingresa manualmente los siguientes detalles:

  • Versión del emulador.

    1. En el emulador, abre Extended controls.
    2. Haz clic en Help.
    3. Haz clic en la pestaña About para encontrar la versión del emulador.
  • Versión de herramientas del SDK de Android

    1. Selecciona Tools > SDK Manager.
    2. Haz clic en SDK Tools.
    3. Busca Android SDK Tools.
  • Modelo de la CPU del host

    • En Linux: Abre /proc/cpuinfo.
    • En Windows: Haz clic con el botón derecho en Equipo y selecciona Propiedades.
    • En macOS: Haz clic en el ícono de Apple y selecciona Acerca de esta Mac.
  • Nombre del dispositivo

    1. En Administrador de AVD, haz clic para abrir el menú en la columna Actions para el dispositivo.
    2. Selecciona View Details (o abre el archivo $avdname.avd/config.ini).
    3. Busca la entrada hw.device.name. Por ejemplo: hw.device.name=Nexus 5.