Publicado por Adarsh Fernando, gerente de producto
Logotipo de Android Studio
En estos tiempos de incertidumbre, nos sentimos honrados por los muchos desarrolladores de todo el mundo que están encontrando formas de seguir haciendo lo que mejor saben hacer: crear apps increíbles para Android. Ya sea que trabajes desde la mesa de la cocina en una laptop o desde una oficina en casa, necesitas herramientas que te acompañen. Android Studio 4.0 es el resultado de nuestro esfuerzo por ofrecerte herramientas innovadoras y mejoradas para codificar de forma más inteligente, compilar más rápido y diseñar las apps de las que dependen tus usuarios, y ahora está disponible en el canal estable.
Algunos de los aspectos más destacados de Android Studio 4.0 son la nueva versión de Motion Editor para ayudar a darles vida a tus aplicaciones, Build Analyzer para investigar las causas de los tiempos de compilación más lentos y API en lenguaje Java 8 que puedes utilizar independientemente del nivel mínimo de API de tu app. Basándonos en tus comentarios, también hemos optimizado la interfaz de usuario de CPU Profiler para proporcionar un flujo de trabajo más intuitivo y un análisis más fácil de la actividad de subprocesos. Y la versión mejorada de Layout Inspector ahora proporciona datos en vivo de la IU de tu app para que puedas depurar fácilmente lo que se muestra en el dispositivo.
Como siempre, este lanzamiento no sería posible sin los primeros comentarios de nuestros usuarios de la versión de vista previa; así que sigue leyendo o mira abajo para conocer más detalles y nuevas funciones disponibles en esta versión estable. Si prefieres ver todo esto por tu cuenta, dirígete a la página web oficial para descargar Android Studio 4.0 ahora.

Diseño

Motion Editor

La API de MotionLayout amplía las capacidades enriquecidas de ConstraintLayout para ayudar a los desarrolladores de Android a administrar movimientos complejos y la animación de widgets en sus apps. En Android Studio 4.0, se facilita el uso de esta API con Motion Editor: una nueva y potente interfaz que no solo permite crear y editar animaciones de MotionLayout, sino también obtener vistas previas de eso. Olvídate de crear y modificar archivos XML complejos, ya que Motion Editor los genera por ti, con compatibilidad para editar conjuntos de restricciones, transiciones, fotogramas clave y atributos de vista. Y, si quieres ver el código que crea el editor, eso está a un clic de distancia. Además, para los desarrolladores que ya usan ConstraintLayout, el ID puede convertir fácilmente esos objetos a MotionLayout, lo que es muy conveniente. Más información
Crea y edita animaciones, y obtén vistas previas, en Motion Editor
Crea y edita animaciones, y obtén vistas previas, en Motion Editor

Versión mejorada de Layout Inspector

¿Alguna vez has querido investigar dónde se originó el valor de un atributo específico? ¿O ver una representación 3D en vivo de las vistas anidadas para inspeccionar más fácilmente tu jerarquía de vistas? Con la nueva versión de Layout Inspector, la depuración de IU es mucho más intuitiva, ya que permite acceder a datos que se mantienen actualizados con la app en ejecución y proporciona información sobre cómo se resuelven los recursos.
Depura la IU de tu app en tiempo real con Live Layout Inspector
Depura la IU de tu app en tiempo real con Live Layout Inspector
Usa Live Layout Inspector seleccionando View > Tool Windows > Layout Inspector en el menú principal. Si quieres realizar una implementación en un dispositivo que ejecuta el nivel 29 de la API o una versión posterior, tienes acceso a funciones adicionales, como una jerarquía de diseño dinámica que se actualiza a medida que cambian las vistas, atributos de vista detallados que también te ayudan a determinar cómo se resuelven los valores de los recursos y un modelo 3D en vivo de la IU de tu app en ejecución. Navega, anima y realiza transiciones entre vistas en tu app en ejecución, mientras que siempre tienes la posibilidad de depurar tu IU a la perfección de los píxeles. Más información

Layout Validation

Compara tu UI en varias pantallas con Layout Validation
Compara tu UI en varias pantallas con Layout Validation
Cuando desarrollas contenido para varios factores de forma, tamaños de pantalla y resoluciones, es necesario verificar que los cambios que se hagan en la IU se vean correctamente en todas las pantallas admitidas. Con la ventana Layout Validation, puedes obtener simultáneamente una vista previa de los diseños en diferentes pantallas y configuraciones, de modo que puedas asegurarte con facilidad de que tu app se vea bien en una variedad de dispositivos. Para comenzar, haz clic en la pestaña Layout Validation, en la esquina superior derecha del IDE.

Desarrollo y perfil

Mejoras de IU en CPU Profiler

La IU mejorada de CPU Profiler
La IU mejorada de CPU Profiler
Se diseñó la herramienta CPU Profiler para proporcionar una gran cantidad de información sobre la actividad de los subprocesos y los registros de seguimiento de tu app. Por eso, escuchamos los comentarios que recibimos sobre cómo podemos hacer que la IU sea aún más intuitiva para navegar y que los datos sean más fáciles de entender. En Android Studio 4.0, los registros de la CPU ahora están separados del cronograma del generador de perfiles principal y se organizaron en grupos para que el análisis sea más sencillo. Puedes mover los grupos hacia arriba y hacia abajo, o bien arrastrar y soltar elementos individuales dentro de un grupo para una personalización adicional.
Es más fácil analizar en paralelo la actividad de los subprocesos
Es más fácil analizar en paralelo la actividad de los subprocesos
A fin de facilitar el análisis paralelo, ahora puedes ver toda la actividad de los subprocesos en el cronograma de su actividad (lo que incluye métodos, funciones y eventos) y probar nuevas combinaciones de teclas de navegación para moverte fácilmente por los datos, como usar las teclas W, A, S y D para mostrar un panorama general o hacer zoom de forma detallada. También hemos rediseñado la IU de System Trace a fin de que los eventos tengan un color único para una mejor distinción visual, se ordenen los subprocesos y se muestren primero los más ocupados, y puedas enfocarte en ver los datos de únicamente los subprocesos que elijas. Finalmente, invertimos en la calidad de CPU Profiler y, en consecuencia, hemos visto una disminución significativa en las tasas de error que informaron los usuarios de los registros desde Android Studio 3.6. Hay aún más mejoras que puedes probar, así que obtén más información al respecto.

Las funciones del editor inteligente cuando se escriben reglas para reducir código

La función de editor inteligente cuando se escriben reglas para R8
La función de editor inteligente cuando se escriben reglas para R8
Se introdujo R8 en el complemento de Android Gradle 3.4.0 para combinar la expansión de sintaxis, la reducción, la ofuscación, la optimización y el proceso de dexing en un solo paso, lo que generó notables mejoras en el rendimiento de compilación. Al crear archivos de reglas para R8, Android Studio ahora ofrece funciones de edición inteligentes, como el resaltado de sintaxis, la finalización y la comprobación de errores. El editor también se integra con tu proyecto de Android a fin de proporcionar una finalización completa de símbolos para todas las clases, métodos y campos, e incluye una rápida navegación y refactorización.

Actualización de la plataforma IntelliJ IDEA 2019.3

Se actualizó el IDE principal de Android Studio con mejoras de lanzamientos de IntelliJ IDEA 2019.3 y 2019.3.3. Esas mejoras se centran en gran medida en las optimizaciones de calidad y rendimiento en todo el IDE.

Plantillas en vivo de Android para Kotlin

Las plantillas en vivo son una función conveniente de IntelliJ que te permite insertar en tu código construcciones comunes escribiendo palabras clave simples. Android Studio ahora incluye plantillas en vivo específicas de Android para tu código de Kotlin. Por ejemplo, escribe toast y presiona la tecla Tab a fin de insertar rápidamente código estándar para un mensaje de aviso. Para ver la lista completa de las plantillas disponibles en vivo, navega a Editor > Live Templates en el diálogo Settings (o Preferences).

Compatibilidad con Clangd para C++

Para los desarrolladores que escriben en C++, hemos cambiado a clangd como motor de análisis principal del lenguaje para la navegación, finalización, inspección y visualización de errores y advertencias de código. Ahora también combinamos clang-tidy con Android Studio. Para configurar el comportamiento de Clangd o Clang-Tidy, ve al diálogo Settings (o Preferences) del IDE, navega a Languages & Frameworks > C/C++ > Clangd o Clang-Tidy, y configura las opciones.

Compilación

El complemento de Android Gradle 4.0.0 incluye compatibilidad para Build Analyzer de Android Studio mediante el uso de API en lenguaje Java 8 (sin importar el nivel mínimo de API de tu app) y la creación de dependencias en funciones entre módulos de Dynamic Feature. Para ver una lista completa de actualizaciones, lee las notas de la versión del complemento de Android Gradle 4.0.0.

Build Analyzer

Resuelve los cuellos de botella en el rendimiento de tu compilación con Build Analyzer
Resuelve los cuellos de botella en el rendimiento de tu compilación con Build Analyzer
Los desarrolladores de Android confían en una variedad de complementos de Gradle y en la lógica de compilación personalizada para adaptar el sistema de compilación a sus apps. Sin embargo, las tareas desactualizadas o mal configuradas pueden causar tiempos de compilación más largos, que generan frustración y pérdida de productividad. Build Analyzer te ayuda a entender y resolver los cuellos de botella de tu compilación; para ello, destaca los complementos y las tareas que más influyen en tu tiempo de compilación en general y sugiere pasos para mitigar las regresiones. Más información

Expansión de sintaxis de bibliotecas del lenguaje Java 8 en D8 y R8

Las versiones anteriores del complemento de Android Gradle admitían una variedad de funciones del lenguaje Java 8 para todos los niveles de la API, como expresiones lambda y referencias de métodos, a través de un proceso llamado expansión de sintaxis. En Android Studio 4.0, se extendió el motor de expansión de sintaxis para admitir API de lenguaje Java independientemente de la versión de minSdkVersion de tu app. Esto significa que ahora puedes usar las API de lenguaje estándar, que antes solo estaban disponibles en los últimos lanzamientos de Android (como java.util.stream, java.util.function y java.time). Más información

Dependencias en funciones

Dependencias en funciones
Dependencias en funciones
Cuando usas el complemento de Android Gradle 4.0.0 y versiones posteriores, ahora puedes especificar si un módulo de funciones dinámicas depende de otro módulo de funciones. El hecho de poder definir esa relación garantiza que tu app cuente con los módulos necesarios para desbloquear funcionalidades adicionales, lo que genera menos solicitudes y una modularización más sencilla. Por ejemplo, una función :video puede depender de :camera. Si un usuario quiere desbloquear la posibilidad de grabar videos, tu app descarga automáticamente el módulo :camera requerido cuando solicita :video. Más información

Nuevas opciones para habilitar o inhabilitar funciones de compilación

El complemento de Android Gradle admite bibliotecas modernas, como la vinculación de datos y vistas, y funciones de compilación, como las clases autogeneradas de BuildConfig. Sin embargo, puede que no necesites esas bibliotecas y funciones para cada proyecto. En la versión 4.0.0 del complemento, ahora puedes inhabilitar las funciones de compilación discretas, como se muestra a continuación, que pueden ayudar a optimizar el rendimiento de la compilación para proyectos más grandes. Para ver el DSL y la lista completa de funciones que puedes controlar, consulta las notas de la versión.
android {
    // The default value for each feature is shown below.
    // You can change the value to override the default behavior.
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = false
        // Determines whether to support Data Binding.
        // Note that the dataBinding.enabled property is now deprecated.
        dataBinding = false
        ...
    }
}
DSL de complemento de Android Gradle para habilitar o inhabilitar funciones de compilación

Compatibilidad esencial para archivos de secuencia de comandos de DSL en Kotlin

Android Studio 4.0 ahora admite secuencias de comando de archivos de compilación DSL en Kotlin (*.kts), lo que significa que esas secuencias ofrecen un conjunto completo de soluciones rápidas y que son compatibles con el diálogo Project Structure. Si bien estamos entusiasmados con el potencial de usar Kotlin para configurar una compilación, seguiremos perfeccionando la API de DSL del complemento de Android Gradle durante el próximo año, lo que puede generar cambios de última hora en la API para los usuarios de secuencia de comandos de Kotlin. A largo plazo, esas correcciones harán que el DSL sea más idiomático y fácil de usar para los usuarios de secuencias de comandos de Kotlin.

Metadatos de dependencias

Cuando se compila una app con el complemento de Android Gradle 4.0.0 o una versión posterior, el complemento incluye metadatos que describen las dependencias de la biblioteca que se compilan en la app. Cuando subes tu app, Play Console inspecciona esos metadatos para proporcionar alertas de problemas conocidos con los SDK y las dependencias que utiliza tu app y, en algunos casos, brindar información práctica para resolver esos problemas.
Los datos se comprimen y se encriptan con una clave de firma de Google Play, y se almacenan en el bloque de firma de tu app de lanzamiento. Si prefieres no compartir esa información, puedes optar por no hacerlo. En ese caso, incluye lo siguiente en el archivo de tu módulo build.gradle:
android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}
Inhabilita los metadatos de dependencia de tus APK, conjunto de apps o ambos elementos
Para resumir, Android Studio 4.0 incluye estas nuevas mejoras y funciones:
Diseño
  • Motion Editor: una interfaz simple para crear y editar animaciones MotionLayout, además de obtener vistas previas
  • Versión mejorada de Layout Inspector: una experiencia de depuración más intuitiva en tiempo real
  • Layout Validation: compara tu IU en varias dimensiones de pantallas
Desarrollo y perfil
  • Actualización de CPU Profiler: mejoras que hacen que la IU sea más intuitiva para navegar y que los datos sean más fáciles de entender
  • Actualización de las reglas de R8: funciones del editor inteligente para tus reglas de reducción de código, como resaltado de sintaxis, finalización y comprobación de errores
  • Actualización de la plataforma IntelliJ IDEA 2019.3 con mejoras de rendimiento y calidad
  • Actualizaciones de plantillas en vivo: plantillas en vivo específicas de Android para tu código de Kotlin
  • Compatibilidad con Clangd: Clangd y Clang-Tidy desactivados de forma predeterminada
Compilación
  • Build Analyzer: entiende y resuelve los cuellos de botella de tu compilación
  • Actualización de compatibilidad con el lenguaje Java 8: API que puedes usar independientemente del nivel de API mínimo de tu app
  • Dependencias en funciones: define dependencias entre los módulos de Dynamic Feature
  • DSL de buildFeatures: habilita o inhabilita funciones de compilación discretas, como Data Binding
  • DSL de Kotlin: compatibilidad esencial para archivos de secuencia de comandos de DSL de Kotlin
Para ver una lista de cambios, lee las notas de la versión oficiales.

Primeros pasos

Descargar

Descarga Android Studio 4.0 desde la página de descargas. Si estás usando una versión anterior de Android Studio, basta con que la actualices a la versión más reciente.
Como siempre, agradeceremos cualquier comentario en el que se incluyan aspectos que te agraden, errores o funciones que desees que agreguemos. Si encuentras un problema o error, no dudes en notificarlo. Sigue al equipo de desarrollo de Android Studio en Twitter y Medium.