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.
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.
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.
Memoria de proceso (RSS)
La nueva Memoria de proceso (RSS) muestra cuánta memoria física está usando la app en ese momento.
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.
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.
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 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.
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.
Además, ahora proporcionamos un historial de las consultas anteriores. Cuando haces clic en el botón Show query history , 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.
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.
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:
Selecciona Modify Device Set en el menú desplegable de dispositivos de destino (en la parte superior central del IDE).
Selecciona los dispositivos de destino y haz clic en OK.
Selecciona Multiple Devices en el menú desplegable de dispositivos de destino y ejecuta las pruebas.
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