Android Studio 4.2 (abril de 2021)

Android Studio 4.2 es una actualización importante que incluye una variedad de funciones y mejoras nuevas.

4.2.2 (junio de 2021)

Esta actualización menor incluye diversas correcciones de errores. Para ver una lista de las correcciones de errores más importantes, consulta la publicación relacionada en el blog de actualizaciones de versiones.

4.2.1 (mayo de 2021)

Esta actualización menor incluye el complemento de Kotlin 1.5.0 y varias correcciones de errores. Para ver una lista de las correcciones de errores más importantes, consulta la publicación relacionada en el blog de actualizaciones de versiones.

Complemento de Android para Gradle 4.2.0

La versión más reciente del complemento de Android para Gradle incluye muchas actualizaciones. Para obtener más información, consulta las notas de la versión del complemento de Android para Gradle.

Cambios en la compatibilidad y la configuración de Gradle

Cuando se ejecuta en Android Studio, la herramienta de compilación de Gradle usa el JDK incluído en el paquete de Studio. En las versiones anteriores, se empaquetaba el JDK 8 con Studio. Sin embargo, en 4.2, ahora se incluye el JDK 11. Cuando se ejecuta el nuevo JDK empaquetado con Gradle, es posible que se generen algunas incompatibilidades o se vea afectado el rendimiento de la JVM debido a los cambios en el recolector de elementos no utilizados. Estos errores se describen en las notas de la versión de AGP.

Opción para optimizar el tiempo de sincronización de Gradle

Con el objetivo de mejorar el rendimiento de la sincronización de Gradle, Android Studio omite la compilación de la lista de tareas durante la sincronización. De esta manera, la sincronización de Gradle se completa más rápido y mejora la respuesta de la IU en proyectos muy grandes. Esta opción está activada de forma predeterminada en Android Studio 4.2. Para desactivarla, ve a File > Settings > Experimental (Preferences > Experimental en Mac) y desmarca la opción Do not build Gradle task list during Gradle sync.

Inspector de bases de datos

Mejoras en el editor de consultas

El Inspector de bases de datos incluye algunas mejoras que te ayudarán a escribir y ejecutar tus instrucciones de SQL personalizadas. Cuando abras el inspector y una pestaña New query, deberías ver una versión redimensionable y más grande del editor, donde puedes crear y dar formato a tus consultas, como se muestra a continuación.

Editor del Inspector de bases de datos

Además, ahora proporcionamos un historial de las consultas anteriores. Cuando haces clic en el botón Show query history Botón para mostrar el historial de consultas{: .inline-icon}, deberías ver una lista de las consultas que ejecutaste antes en la base de datos seleccionada. Haz clic en una consulta de la lista para obtener una vista previa completa de ella en el editor y presiona Intro para copiarla en el editor. Luego, haz clic en Run para ejecutar la instrucción.

Comando de ejecución del editor de consultas

Modo sin conexión

En las versiones anteriores de Android Studio, si se desconectaba un proceso de la app mientras usabas el Inspector de bases de datos, se cerraban el inspector y sus datos. En Android Studio 4.2, agregamos la capacidad de seguir inspeccionando las bases de datos de tu app después de desconectarse un proceso, lo que facilita la depuración de la app tras una falla.

Cuando se produce una desconexión, el Inspector de bases de datos descarga tus bases de datos y las pone a tu disposición en el modo sin conexión. Cuando no tengas conexión, podrás acceder a las tablas y ejecutar consultas.

Ten en cuenta que, cuando te vuelvas a conectar a un proceso de la app activa, el Inspector de bases de datos regresará al modo en vivo y solo te mostrará los datos que estén en el dispositivo. Es decir, los datos que se muestran en el modo sin conexión no se conservan cuando vuelves a conectarte a un proceso de la app. Por este motivo, el Inspector de bases de datos no te permite editar ni ejecutar declaraciones de modificación en el modo sin conexión.

Asistente de actualización del AGP

Puedes usar el nuevo Asistente de actualización del complemento de Gradle para Android para actualizar la versión del AGP de tu proyecto.

Diálogo del Asistente de actualización del complemento de Gradle para Android

Esta herramienta, que se creó a partir de la funcionalidad de actualización de AGP previa, te ayudará a actualizar y refactorizar todo un proyecto y, además, incluye una vista previa de las actualizaciones para evitar posibles cambios rotundos antes de ejecutar la actualización del AGP.

Vista previa de los cambios que realizará el Asistente de actualización

Registro del sistema: métricas de memoria y gráficos mejoradas

En el Generador de perfiles de CPU, la función de Registro del sistema ahora incluye métricas nuevas para analizar el rendimiento de la app y, además, incluye lo siguiente:

  • Tabla de eventos. Enumera todos los eventos de seguimiento del subproceso que se encuentra seleccionado.

  • BufferQueue: En la sección Display, este seguimiento nuevo muestra el recuento de búferes de la BufferQueue de la superficie de la app (0, 1 o 2), que te permite comprender el estado de los búferes de imagen mientras se mueven entre los componentes gráficos de Android.

    BufferQueue del Registro del sistema

  • CPU Frequency: En la sección CPU cores, este seguimiento nuevo muestra la frecuencia de CPU de cada núcleo, lo que indica el grado de funcionamiento de cada núcleo.

    CPU Frequency del Registro del sistema

  • Process Memory (RSS): Esta ventana nueva muestra la cantidad de memoria física que la app usa en ese momento.

    Process Memory (RSS) del Registro del sistema

Para obtener más información, consulta Cómo inspeccionar la actividad de la CPU con el Generador de perfiles de CPU.

Nueva acción para actualizar el Inspector de diseño

El Inspector de diseño, presentado en Android Studio 4.0, se creó con el objetivo de inspeccionar en tiempo real la pila de IU de tu app en ejecución. Sin embargo, es posible que no siempre quieras que el Inspector de diseño refleje de inmediato lo que sucede, ya que tal vez quieras inspeccionar una instantánea del diseño de tu app en un determinado momento o minimizar el impacto que tienen las actualizaciones en tiempo real en el rendimiento de la app.

Para cargar manualmente una instantánea de los datos de la IU desde tu app, primero inhabilita la opción Live updates. Luego, haz clic en el botón Refresh {:.inline-icon} para tomar una nueva instantánea de la pila de IU que se inspeccionará. El Inspector de diseño ahora recordará si deseas mantener las actualizaciones en tiempo real habilitadas o inhabilitadas entre las sesiones.

Compatibilidad con Safe Args

Safe Args es un complemento de Gradle que genera clases simples de objetos y compiladores que permiten una navegación de tipo seguro y acceso a cualquier argumento asociado. Android Studio ahora ofrece una compatibilidad especial con Safe Args, como se describe a continuación:

  • Autocompletados para Directions, Args y las diferentes clases de compiladores
  • Compatibilidad con los complementos Safe Args de Java y Kotlin
  • Navegación de origen a XML

Retrace de R8 ahora está disponible en las herramientas de línea de comandos

Retrace de R8, que se encuentra disponible en la versión 4.0 de las herramientas de línea de comandos, es una herramienta independiente que te permite obtener el seguimiento de pila original a partir de uno ofuscado.

Puedes descargar este paquete con SDK Manager, el cual instala Retrace de R8 en android_sdk/cmdline-tools. También puedes descargar el paquete independiente de las herramientas de línea de comandos.

Para obtener información de uso, consulta la sección de Retrace de R8 de la guía del usuario.

Implementación en varios dispositivos

Para ayudar a agilizar las pruebas de la app en distintos dispositivos y niveles de API, ahora puedes implementar tu app en varios dispositivos o emuladores de forma simultánea. Para ello, sigue estos pasos:

  1. Elige Select Multiple Devices en el menú desplegable de dispositivos de destino (desde la parte superior central del IDE).

    Menú desplegable de dispositivos de destino

  2. Selecciona los dispositivos de destino y haz clic en OK.

    Diálogo Modify Device Set

  3. Ejecuta tu app.

Nuevo parámetro de configuración de removable para los módulos de funciones

El complemento de Android para Gradle 4.2 utiliza bundletool 1.0.0, que incluye el siguiente cambio de comportamiento para las apps que usan módulos de funciones: todos los módulos de funciones que se especifiquen como dist:install-time y que no estén marcados explícitamente como dist:removable pasarán a ser no removibles de forma predeterminada. Este nuevo parámetro de configuración optimiza la fusión de los módulos de tiempo de instalación con el módulo básico, lo que podría mejorar el rendimiento de algunas apps.

Si quieres mantener los módulos de funciones como removibles, configura dist:removable="true" en cualquier módulo que quieras desinstalar.

Para obtener más información sobre este nuevo parámetro de configuración, consulta la sección sobre la etiqueta dist:removable dentro de la documentación del manifiesto del módulo de funciones.

Apply Changes

Para ayudarte a aumentar la productividad a medida que iteras en tu app, realizamos las siguientes mejoras en Apply Changes en dispositivos que ejecutan Android 11 o versiones posteriores:

Compatibilidad con cambios adicionales del código

En el caso de los dispositivos que ejecutan Android 11 o versiones posteriores, ahora puedes agregar campos primitivos finales estáticos y, luego, implementar esos cambios en tu app en ejecución haciendo clic en Apply Code Changes Ícono de Apply Code Changes o Apply Changes and Restart Activity Ícono de Apply Changes and Restart Activity.

Ahora también puedes agregar recursos y, luego, implementarlos en tu app en ejecución en dispositivos con Android 11. Para ello, haz clic en Apply Changes and Restart Activity Ícono de Apply Changes and Restart Activity.

Actualización de los asistentes para crear nuevos módulos o proyectos

Se actualizaron los asistentes de New Project y New Module para que sea más fácil explorar, seleccionar una plantilla o ingresar información sobre el proyecto o módulo nuevo.

También se quitó la opción Import .JAR/.AAR Package del asistente de New Module. Para importar un archivo JAR o AAR a tu proyecto, ahora usa el diálogo Project Structure.

Kotlin 1.4.31

Android Studio 4.2 incluye Kotlin 1.4.31. Para revisar los cambios importantes, consulta el registro de cambios de Kotlin 1.4.0.

La variable de entorno ANDROID_SDK_HOME dejó de estar disponible

La variable de entorno ANDROID_SDK_HOME dejó de estar disponible y se reemplazó por ANDROID_PREFS_ROOT. Para obtener más información, consulta Variables de entorno del emulador.

Problemas conocidos con Android Studio 4.2

En esta sección, se describen los problemas conocidos relacionados con Android Studio 4.2. Para obtener la lista completa, ve a la página sobre problemas conocidos.

Android Studio 4.2.0 genera proyectos con una versión de Kotlin incorrecta: "1.5.0-release-764".

Si usas Android Studio 4.2.0 y actualizaste al complemento de Kotlin 1.5.0, los proyectos nuevos de Kotlin creados por Studio no se podrán compilar debido al siguiente error de sincronización de Gradle:

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

Como solución alternativa, reemplaza 1.5.0-release-764 por 1.5.0 en los archivos build.gradle del proyecto.

Se produce un error cuando las contraseñas de la clave y del almacén de claves son diferentes

A partir de la versión 4.2, Android Studio ejecuta JDK 11. Esta actualización provoca un cambio de comportamiento subyacente relacionado con las claves de firma.

Cuando navegas a Build > Generate Signed Bundle / APK e intentas configurar la firma de apps para un paquete de aplicación o un APK y, luego, ingresas distintas contraseñas para la clave y el almacén de claves, se genera el siguiente error:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Para evitar este problema, usa la misma contraseña para la clave y el almacén de claves.

Android Studio no se inicia luego de instalar la versión 4.2

Studio intenta importar .vmoptions anteriores y limpiarlas de manera que funcionen con el recolector de elementos no utilizados del JDK 11. Si ese proceso falla, es posible que, en algunos casos, el IDE no se inicie si el usuario estableció opciones de VM personalizadas en el archivo .vmoptions.

Para solucionar este problema, te recomendamos que marques como comentario las opciones personalizadas en .vmoptions (con el carácter #). Puedes encontrar el archivo .vmoptions en las siguientes ubicaciones:

Windows

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Si Studio no se inicia después de probar esta solución alternativa, consulta Studio no se inicia después de la actualización.