Nuevas funciones de la versión preliminar de Android Studio

Se lanzó Android Studio 4.1 para el canal estable. Descarga esa versión aquí.

Android Studio 4.2 está en los canales para desarrolladores y Canary.

Para conocer las novedades sobre versiones, incluida una lista de las correcciones destacadas de cada lanzamiento, también puedes consultar las Actualizaciones de versiones.

Si encuentras un problema mientras usas una versión preliminar de Android Studio, avísanos. Tus informes de errores nos ayudan a mejorar Android Studio.

Android Studio 4.2

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.

Tabla de eventos

La Events table es una nueva pestaña ubicada a la derecha del panel Analysis. En esta tabla, se enumeran todos los eventos de seguimiento del subproceso que se encuentra seleccionado.

Tabla de eventos del Registro del sistema

Nuevos seguimientos y grupos de seguimiento

Ahora el Registro del sistema brinda más información de los seguimientos de las apps implementadas en dispositivos que ejecutan Android 9 o versiones posteriores.

BufferQueue (en la sección Display)

Este nuevo seguimiento muestra el recuento de búferes de la superficie de la app BufferQueue (0, 1 o 2). Te permite comprender el estado de los búferes de imagen mientras se mueven entre los componentes gráficos de Android. Por ejemplo, si el valor es 2, significa que la app tiene búfer triple, lo que podría generar una mayor latencia de entrada.

Cola de búfer del Registro del sistema

Frecuencia de CPU (en la sección CPU cores)

Además de los datos de programación de CPU, también agregamos la frecuencia de CPU de cada núcleo. Esto muestra el grado de funcionamiento de cada núcleo y puede darte una idea de qué núcleos son "grandes" o "pequeños" en los procesadores móviles modernos.

Frecuencia de CPU del Registro del sistema

Memoria de proceso (RSS)

La nueva Memoria de proceso (RSS) muestra cuánta memoria física está usando la app en ese momento.

Memoria de proceso del Registro del sistema (RSS)

Total

Esta es la cantidad total de memoria física que está usando tu proceso en ese momento. En los sistemas basados en Unix, esto se conoce como "tamaño del conjunto residente". Es la suma de toda la memoria que usan las asignaciones anónimas (que están respaldadas por el archivo de intercambio), los mapeos de archivos (que se cargan en la memoria de a una página a la vez) y las asignaciones de memoria compartida (a las que acceden varios procesos y se asignan mediante diversos mecanismos).

Para los desarrolladores de Windows, el tamaño del conjunto residente es similar al tamaño del conjunto de trabajo.

Asignada

Este contador realiza un seguimiento de cuánta memoria física usan las asignaciones de memoria normal del proceso en el momento. Estas asignaciones son anónimas (no las respalda ningún archivo específico) y privadas (no se comparten).

Mapeos de archivos

Este contador realiza un seguimiento de cuánta memoria física usan los mapeos de archivos que pertenecen al proceso.

Compartida

Este contador realiza un seguimiento de cuánta memoria física se usa para compartir memoria entre este y otros procesos del sistema.

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 r8 de la guía del usuario.

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.

Pausa las actualizaciones en tiempo real y actualiza la captura de pantalla en el Inspector de diseño.

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 a fin de 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 del complemento de Gradle para Android con Jetpack Compose

A partir del complemento de Gradle para Android 4.2 Canary 13, solo se admitirá Jetpack Compose Compiler 1.0.0-alpha-04 o versiones posteriores.

Asistente de actualización del AGP

A partir de Android Studio 4.2 Canary 5, puedes usar un Asistente de actualización del complemento de Gradle para Android a fin de 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

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 4.2 Canary 9 y las versiones posteriores incluyen 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

Prueba de accesibilidad para el Editor de diseño

Android Studio ahora se integra con el framework de pruebas de accesibilidad de Android a fin de ayudarte a encontrar problemas de accesibilidad en tus diseños. En el Editor de diseño, haz clic en el botón Accessibility Scanner Botón de Prueba de accesibilidad para iniciar la prueba. Esta herramienta también brinda sugerencias de correcciones para algunos problemas comunes, como falta de descripción de contenido.

La Prueba de accesibilidad está disponible a partir de Canary 8.

Prueba de accesibilidad de Android Studio

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, luego, 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, deberías ver una lista de las búsquedas que ejecutaste antes en la base de datos seleccionada. Haz clic en una búsqueda de la lista a fin de 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 Canary 8 y versiones posteriores, agregamos la capacidad de seguir inspeccionando las bases de datos de la app tras la desconexión de un proceso, lo que facilita que esta se depure después de 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.

Nueva configuración de removable para los módulos de funciones

El complemento Gradle para Android 4.2 utiliza bundletool 1.0.0, el cual 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. Esta nueva configuración optimiza la fusión de los módulos de tiempo de instalación con el módulo base, lo que podría mejorar el rendimiento de algunas apps.

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

En esta sección, se proporciona un resumen de las nuevas funciones y los cambios de Android Studio 4.2.

Complemento de Gradle para Android 4.2

Cambio de comportamiento de los archivos gradle.properties

A partir de AGP 4.2, ya no se pueden anular las propiedades de Gradle en los subproyectos. En otras palabras, se ignorarán las propiedades que declares en un archivo gradle.properties dentro de un subproyecto en lugar de hacerlo en el proyecto raíz.

Por ejemplo, en versiones anteriores, AGP leía los valores de projectDir/gradle.properties, projectDir/app/gradle.properties, projectDir/library/gradle.properties, etc. Para los módulos de apps, si la misma propiedad de Gradle se encontraba en projectDir/gradle.properties y projectDir/app/gradle.properties, el valor de projectDir/app/gradle.properties tenía prioridad.

En AGP 4.2, se modificó este comportamiento, de modo que AGP ya no cargará valores de gradle.properties que estén en subproyectos (p. ej., projectDir/app/gradle.properties). Este cambio refleja el nuevo comportamiento de Gradle y admite el almacenamiento en caché de configuración.

Si quieres obtener más información para establecer valores en archivos gradle.properties, consulta la documentación de Gradle.

Nuevo compilador de recursos JVM

Un nuevo compilador de recursos JVM del complemento de Gradle para Android 4.2 reemplaza parte del compilador de recursos AAPT2, lo que podría mejorar el rendimiento de compilación, especialmente en los equipos con Windows.

A partir de la versión Canary 7, el nuevo compilador de recursos JVM viene habilitado de forma predeterminada.

Las firmas v3 y v4 ahora son compatibles

El complemento de Gradle para Android 4.2 ahora es compatible con los formatos de firma APK v3 y APK v4. Para habilitar uno o ambos formatos en tu compilación, agrega las siguientes propiedades a tu archivo build.gradle o build.gradle.kts a nivel de módulo:

Kotlin

// build.gradle.kts

android {
   ...
   signingConfigs {
      config {
          ...
          enableV3Signing(true)
          enableV4Signing(true)
      }
   }
}

Groovy

// build.gradle

android {
  ...
  signingConfigs {
    config {
        ...
        enableV3Signing true
        enableV4Signing true
    }
  }
}

La firma de APK v4 te permite implementar rápidamente APK grandes mediante la instalación de APK de adb incremental en Android 11. Esta nueva marca se encarga del paso de la firma del APK en el proceso de implementación.

Compatibilidad con Jetpack Compose

Jetpack Compose Toolkit brinda un enfoque moderno para crear la IU de tu app. El kit de herramientas también incluye todos los beneficios de Kotlin, como ayudarte a escribir código idiomático y conciso que sea completamente interoperable con Java.

Para obtener la mejor experiencia de desarrollo con Jetpack Compose, debes usar la versión más reciente de Android Studio 4.2. Esto se debe a que, cuando utilizas Android Studio para desarrollar una app con Jetpack Compose, puedes beneficiarte de las funciones del editor inteligente, como las plantillas para proyectos nuevos y la capacidad de obtener de inmediato una versión de vista previa de la IU de Compose.

Para obtener más información y comenzar, consulta la descripción general de Jetpack Compose.

Nueva compatibilidad con las herramientas de Jetpack Compose en 4.2

Ahora, Android Studio ofrece compatibilidad adicional para la vista previa y la prueba de apps que usan Jetpack Compose.

Vista previa de Compose

Los siguientes parámetros para los métodos @Preview ahora están disponibles:

  • showBackground: Activa y desactiva un fondo para tu vista previa.
  • backgroundColor: Establece un color que solo se use en la superficie de vista previa.
  • uiMode: Este nuevo parámetro puede tomar cualquiera de las constantes Configuration.UI_* y te permite cambiar el comportamiento de la vista previa, por ejemplo, para configurarlo en Modo nocturno a fin de ver cómo reacciona el tema.

Vista previa interactiva

En este modo, puedes interactuar con los componentes de la IU, hacer clic en ellos y ver cómo cambia el estado. Es una forma rápida de obtener comentarios sobre cómo reacciona tu IU y obtener una vista previa de las animaciones. Para habilitarla, haz clic en el ícono interactivo  y la vista previa cambiará de modo.

Para detenerla, haz clic en Stop Interactive Preview en la barra de herramientas superior.

Cómo implementar en el dispositivo

Usa esta función para implementar un fragmento de tu IU en un dispositivo. Eso ayudará a probar pequeñas partes de tu código en el dispositivo sin tener que iniciar la aplicación entera.

Haz clic en el ícono de implementación en el dispositivo  junto a la anotación @Preview o en la parte superior de la vista previa. Android Studio implementará @Preview en tu dispositivo o emulador conectado.

Vista previa de la API de Data Sources

La nueva API de Data Sources te permite generar vistas previas de tus datos. Si tienes una lista de datos existente o una lista de temas, esta API te permitirá incorporarla como un parámetro al método @Preview.

class HelloWorldProvider :
   CollectionPreviewParameterProvider<String>(
       listOf("Hello World", "Привет мир", "Olá Mundo", "Hola Mundo"))

@Preview
@Composable
fun HelloWorldPreview(
   @PreviewParameter(HelloWorldProvider::class) text: String
) {
   MaterialTheme {
       Text(text = text)
   }
}

Para habilitar las funciones anteriores, el build.gradle de tu módulo debe contener la siguiente configuración:

  android {
  …
  buildFeatures {
    compose true
  }
  composeOptions {
     kotlinCompilerExtensionVersion = "0.1.0-dev13"
     kotlinCompilerVersion = "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
   }
}

Problemas conocidos de la vista previa de Compose

Actualmente, androidx.ui.foundation.Dialog no es compatible con la vista previa de Compose.

Prueba de instrumentación mejorada

A partir de Android Studio 4.2 Canary 1, las pruebas de instrumentación se pueden ejecutar en varios dispositivos en paralelo y se pueden investigar mediante un panel especializado de resultados de prueba de instrumentación. Con este panel, puedes determinar si las pruebas fallan debido al nivel de API o a las propiedades de hardware.

Panel de prueba de instrumentación

Probar tu app en una amplia variedad de niveles de API y factores de forma es una de las mejores maneras de garantizar que todos los usuarios tengan una excelente experiencia cuando usen tu app.

Para aprovechar esta función, realiza lo siguiente:

  1. Selecciona Modify Device Set en el menú desplegable de dispositivos de destino (en 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. Selecciona Multiple Devices en el menú desplegable de dispositivos de destino y ejecuta las pruebas.

    Selección de Multiple Devices en el menú desplegable de dispositivos de destino

Para ver los resultados de la prueba en el panel Run, ve a View > Tool Windows > Run.

El nuevo panel de resultados de la prueba te permite filtrar los resultados por estado, dispositivo y nivel de API. Además, puedes ordenar cada columna haciendo clic en el encabezado. Si haces clic en una prueba individual, podrás ver los registros y la información del dispositivo de forma individual para cada dispositivo.

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 métodos y campos primitivos finales estáticos y, luego, implementar esos cambios en tu app en ejecución haciendo clic en Apply Code Changes o 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 .

Problemas conocidos de la Versión de vista previa 4.2

En esta sección, se describen los problemas conocidos de Android Studio Versión de vista previa 4.2.

Generador de perfiles de memoria nativos: creación de perfiles inhabilitada durante el inicio de la app

Se inhabilitó la generación de perfiles de memoria nativos cuando se inicia la app. Esta opción se habilitará en una próxima versión.

Como solución alternativa, puedes usar el generador de perfiles independiente de la línea de comandos de Perfetto a fin de obtener perfiles al inicio.

Studio no se inicia luego de instalar Canary 8

Después de actualizar Android Studio a 4.2 Canary 8, es posible que, en algunos casos, el IDE no se inicie si el usuario estableció opciones de VM personalizadas en el archivo .vmoptions. A fin de solucionar este problema, te recomendamos que comentes las opciones personalizadas en .vmoptions (con el carácter "#"). Puedes encontrar el archivo .vmoptions en las siguientes ubicaciones:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudioPreview4.2\studio64.exe.vmoptions

macOS

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

Linux

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