Android Studio 3.5 (agosto de 2019)

Android Studio 3.5 es una actualización importante y el resultado de Project Marble. A partir del lanzamiento de Android Studio 3.3, la iniciativa Project Marble abarca varios lanzamientos que se centran en mejorar tres áreas principales del IDE: estado del sistema, pulido de funciones y corrección de errores.

Si deseas obtener más información sobre estas y otras actualizaciones de Project Marble, consulta la entrada del Blog para desarrolladores de Android o las secciones que se incluyen a continuación.

También queremos agradecerles a todos los colaboradores de la comunidad que nos ayudaron con esta versión.

3.5.3 (diciembre de 2019)

Esta actualización menor incluye diversas correcciones de errores y mejoras de rendimiento.

3.5.2 (noviembre de 2019)

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

3.5.1 (octubre de 2019)

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

Project Marble: Estado del sistema

En esta sección, se describen los cambios en Android Studio 3.5 que se centran en mejorar el estado del sistema.

Configuración de memoria recomendada

Android Studio ahora te notifica si detecta que puedes mejorar el rendimiento al aumentar la cantidad máxima de RAM que tu SO debe asignar a los procesos de Android Studio, como el IDE central, el daemon de Gradle y el daemon de Kotlin. Si quieres aceptar la configuración recomendada, haz clic en el vínculo de acción en la notificación o cambia los ajustes manualmente seleccionando File > Settings (o Android Studio > Preferences en macOS). Luego, busca la sección Memory Settings en Appearance & Behavior > System Settings. Para obtener más información, consulta Tamaño máximo de montón.

Una notificación sobre la configuración de memoria recomendada.

Una notificación sobre la configuración de memoria recomendada.

Informe de uso de memoria

Los problemas de memoria en Android Studio a veces son difíciles de informar y reproducir. Para resolver este problema, Android Studio te permite generar un informe de uso de memoria. Para ello, haz clic en Help > Analyze Memory Usage en la barra de menú. Cuando lo haces, el IDE corrige de forma local los datos de información personal antes de preguntar si deseas enviarlos al equipo de Android Studio para identificar los problemas de memoria. Si quieres obtener más información, consulta Cómo ejecutar un informe de uso de memoria.

Un informe de uso de memoria.

Un informe de uso de memoria.

Windows: Optimización de E/S de archivos antivirus

Ahora, Android Studio verifica automáticamente si ciertos directorios de proyectos se excluyen del análisis antivirus en tiempo real. Cuando se pueden realizar modificaciones a los efectos de mejorar el rendimiento de compilación, Android Studio te notifica y te proporciona instrucciones para optimizar la configuración del antivirus. Si deseas obtener más información, consulta Cómo minimizar el impacto del software antivirus en la velocidad de compilación.

Project Marble: Pulido de funciones

En esta sección, se describen los cambios en Android Studio 3.5 que se centran en mejorar las funciones existentes.

Apply Changes

Apply Changes te permite insertar cambios de código y recursos en tu app en ejecución sin reiniciarla y, en algunos casos, sin reiniciar la actividad actual. La función implementa un enfoque completamente nuevo para preservar el estado de tu app. A diferencia de Instant Run, que reescribe el código de bytes de tu APK, Apply Changes redefine las clases en el momento aprovechando la instrumentación de tiempo de ejecución compatible con Android 8.0 (nivel de API 26) o versiones posteriores.

Para obtener más información, consulta Apply Changes.

Los botones de la barra de herramientas de Apply Changes.

Los botones de la barra de herramientas de Apply Changes.

Flujo de implementación de apps

El IDE tiene un nuevo menú desplegable que te permite seleccionar rápidamente el dispositivo en el que deseas implementar la app. En este menú, también se incluye una opción nueva que te permite ejecutar la app en varios dispositivos a la vez.

Menú desplegable del dispositivo de destino.

Menú desplegable del dispositivo de destino.

Mejora de la detección de caché y la sincronización de Gradle

El IDE ahora detecta mejor si Gradle borra de manera periódica la caché de compilación para reducir el consumo de disco duro. En versiones anteriores, este estado hacía que el IDE informara dependencias faltantes y que fallara la sincronización de Gradle. Ahora, el IDE simplemente descarga dependencias según sea necesario a fin de garantizar que se complete de manera correcta la sincronización de Gradle.

Mejora del resultado del error de compilación

La ventana Build Ícono de ventana de compilación ahora proporciona mejores informes de errores, además de un vínculo al archivo y la línea del error informado, para los siguientes procesos de compilación:

  • Compilación y vinculación de AAPT
  • R8 y ProGuard
  • Dexing
  • Combinación de recursos
  • Análisis de archivos XML
  • Compilación de Java, Kotlinc y CMake

Actualizaciones del proyecto

Experiencia de actualización mejorada a fin de proporcionar más información y acciones que te ayudan a actualizar el IDE y el complemento de Android para Gradle. Por ejemplo, más errores de sincronización y compilación incluyen acciones que te ayudarán a mitigar errores durante la actualización.

Es importante tener en cuenta que puedes actualizar el IDE independientemente de otros componentes, como el complemento de Android para Gradle. Por lo tanto, puedes actualizar el IDE de forma segura tan pronto como esté disponible una versión más reciente y actualizar los otros componentes más adelante.

Editor de diseño

Android Studio 3.5 incluye varias mejoras en la visualización, administración e interacción del diseño.

Cuando usas ConstraintLayout, una sección Constraints nueva en el panel Attributes enumera las relaciones de restricciones del componente de IU seleccionado. Puedes seleccionar una restricción desde la plataforma de diseño o la lista de restricciones para destacar la restricción en ambas áreas.

Relaciones de restricción para un elemento de IU seleccionado.

Relaciones de restricción para un elemento de IU seleccionado.

Del mismo modo, ahora puedes quitar una restricción si la seleccionas y presionas la tecla Delete. También puedes quitar una restricción si mantienes presionada la tecla Control (Command en macOS) y haces clic en el anclaje de restricciones. Ten en cuenta que, cuando mantienes presionada la tecla Control o Command, y colocas el cursor sobre un ancla, las restricciones asociadas se tornan de color rojo para indicar que puedes hacer clic para borrarlas.

Cuando se selecciona una vista, puedes crear una restricción. A tal fin, haz clic en cualquiera de los íconos + en la sección Constraint Widget del panel Attributes, como se muestra en la imagen incluida a continuación. Cuando creas una restricción nueva, el editor de diseño ahora selecciona y destaca la restricción, lo que proporciona información visual inmediata sobre lo que acabas de agregar.

Una animación que muestra cómo usar el widget de restricciones para crear restricciones.

Uso del widget de restricción para crear restricciones.

Cuando se crea una restricción, el editor de diseño ahora solo muestra los puntos de anclaje aptos que puedes restringir. Antes, el editor de diseño destacaba todos los puntos de anclaje en todas las vistas, independientemente de si podía restringirlas o no. Además, una superposición azul ahora destaca el objetivo de la restricción. Este resaltado es útil cuando se intenta crear una restricción para un componente que se superpone con otro.

Una animación que muestra cómo crear una restricción para un componente superpuesto en Android Studio 3.4.

Creación de una restricción para un componente superpuesto en Android Studio 3.4.

Una animación que muestra cómo crear una restricción para un componente superpuesto en Android Studio 3.5.

Creación de una restricción para un componente superpuesto en Android Studio 3.5.

Además de las actualizaciones detalladas arriba, Android Studio 3.5 también incluye las siguientes mejoras del editor de diseño:

  • El menú desplegable Constraint Widget y de margen predeterminado ahora permite utilizar los recursos de dimensión para los márgenes.
  • En la barra de herramientas del editor de diseño, se actualizó la lista de dispositivos que determinan el tamaño de la superficie de diseño. Además, se mejoró el comportamiento de ajuste y cambio de tamaño, y los controladores de cambio de tamaño en la superficie de diseño ahora son visibles. Cuando se cambia el tamaño, aparecen superposiciones nuevas que muestran tamaños de dispositivos comunes.
  • El editor de diseño tiene un nuevo esquema de colores que mejora la coherencia y reduce el contraste entre los componentes, el texto y las restricciones.
  • El modo de plano técnico ahora incluye compatibilidad de texto para algunos componentes en los que no se mostraba el texto.

Para obtener más información sobre estos cambios, consulta Project Marble de Android Studio: Editor de diseño.

Vinculación de datos

Además de agregar compatibilidad de procesamiento de anotaciones incrementales para la vinculación de datos, el IDE mejora las funciones y el rendimiento del editor inteligente al crear expresiones de vinculación de datos en XML.

Una animación que muestra el rendimiento del editor de código en Android Studio 3.4.

Rendimiento del editor de código en Android Studio 3.4.

Una animación que muestra el rendimiento del editor de código en Android Studio 3.5.

Rendimiento mejorado de edición de código en Android Studio 3.5.

Compatibilidad mejorada en proyectos con C/C++

Android Studio 3.5 incluye varios cambios que mejoran la compatibilidad con proyectos de C/C++.

Mejoras en el panel Build Variants para la sincronización de variantes únicas

Ahora, puedes especificar tanto la variante de compilación activa como la ABI activa en el panel Build Variants. Esta función simplifica la configuración de compilación por módulo y también puede mejorar el rendimiento de la sincronización de Gradle.

Para obtener más información, consulta Cómo cambiar la variante de compilación.

Panel Build Variants que muestra la selección de variantes individuales por ABI.

Panel Build Variants con selección de variante única por ABI.

Versiones en paralelo del NDK

Ahora, puedes usar varias versiones del NDK en paralelo. Esta función te brinda más flexibilidad cuando configuras tus proyectos, por ejemplo, si tienes proyectos que usan versiones diferentes del NDK en la misma máquina.

Si tu proyecto usa el complemento de Gradle para Android 3.5.0 o versiones posteriores, también puedes especificar la versión del NDK que debe usar cada módulo de tu proyecto. Puedes usar esta función para crear compilaciones reproducibles y mitigar las incompatibilidades entre las versiones del NDK y el complemento de Android para Gradle.

Si quieres obtener más información, consulta Cómo instalar y configurar el NDK, CMake y LLDB.

Compatibilidad con ChromeOS

Android Studio ahora es compatible con los dispositivos ChromeOS, como la HP Chromebook x360 14, la Acer Chromebook 13/Spin 13 y otros equipos sobre los que puedes consultar en los requisitos del sistema. Para comenzar, descarga Android Studio en tu dispositivo compatible ChromeOS y sigue las instrucciones de instalación.

Nota: Actualmente, Android Studio en ChromeOS permite implementar tu app solo en un dispositivo de hardware conectado. Si deseas obtener más información, lee Cómo ejecutar apps en un dispositivo de hardware.

Entrega condicional para módulos de funciones

La entrega condicional te permite establecer ciertos requisitos de configuración del dispositivo para que los módulos de funciones se descarguen automáticamente durante la instalación de la app. Por ejemplo, puedes configurar un módulo de funciones que incluya la funcionalidad de realidad aumentada (RA) para que esté disponible desde la instalación de la app solo en los dispositivos compatibles con RA.

En la actualidad, este mecanismo de publicación admite controlar la descarga de un módulo en el momento de la instalación de la app en función de las siguientes configuraciones del dispositivo:

  • Funciones de hardware y software del dispositivo, incluida la versión de OpenGL ES
  • País del usuario
  • Nivel de API

Si un dispositivo no cumple con todos los requisitos que especificaste, no se descargará el módulo durante la instalación de la app. Sin embargo, tu app puede solicitar más tarde que se descargue el módulo a pedido con la biblioteca de Play Core. Para obtener más información, consulta Cómo configurar la entrega condicional.

IntelliJ IDEA 2019.1

En la versión 2019.1, el IDE principal de Android Studio se actualizó con mejoras de IntelliJ IDEA, como la personalización del tema.

La última versión de IntelliJ que se incluyó con Android Studio fue la 2018.3.4. Para obtener más información sobre las mejoras de otras versiones de IntelliJ que se incluyen de manera acumulativa con esta versión de Android Studio, consulta las siguientes actualizaciones de corrección de errores:

Actualizaciones del complemento de Android para Gradle 3.5.0

Para obtener información sobre las novedades del complemento de Android para Gradle 3.5.0, como la compatibilidad mejorada del procesamiento de anotaciones incrementales y las pruebas de unidades que se pueden almacenar en la memoria caché, consulta las notas de la versión.

Colaboradores de la comunidad

Gracias a todos los colaboradores de la comunidad que nos ayudaron a descubrir errores y otras formas de mejorar Android Studio 3.5. En particular, queremos agradecerles a las siguientes personas que informaron errores P0 y P1: