Register now for Android Dev Summit 2019!

Nuevas funciones de la versión de vista previa de Android Studio

Se lanzó Android Studio 3.1.4 para el canal estable. Descárgala aquí.

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

Android Studio 3.2 está en el canal Beta.

En esta página, se proporciona un resumen de las nuevas funciones y los cambios de estas versiones de vista previa.

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 de vista previa de Android Studio, avísanos. Tus informes de errores nos ayudan a mejorar Android Studio.

Android Studio 3.3

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

Mostrar diálogo de daemons de Gradle

En Android Studio, ahora puedes ver una lista de daemons de Gradle activos. Para ello, presiona dos veces la tecla mayúscula a fin de que aparezca el diálogo Búsqueda en cualquier sitio, escribe "Mostrar daemons de Gradle", y haz clic en el resultado de Mostrar daemons de Gradle que aparece.

R8 habilitada de forma predeterminada

R8 es una nueva herramienta habilitada de forma predeterminada que reemplaza a ProGuard en la ofuscación y reducción de código. Si tienes problemas con R8, informa un error. Para inhabilitar esta herramienta, agrega lo siguiente al archivo de gradle.properties de tu proyecto:

android.enableR8 = false

Sincronización de proyectos con una sola variante

Sincronizar tu proyecto con la configuración de compilación es un paso importante para que Android Studio pueda comprender la manera en que está estructurado tu proyecto. Sin embargo, en el caso de proyectos grandes, el proceso puede consumir mucho tiempo. Si tu proyecto usa múltiples variantes de compilación, ahora puedes optimizar las sincronizaciones limitándolas solo a la variante que hayas seleccionado.

Cuando sincronizas tu proyecto con Android Studio 3.3 Canary 6 o una versión posterior, el IDE te solicita habilitar esta optimización.

Para realizarlo manualmente, haz clic en Archivo > Configuración > Experimental > Gradle (Android Studio > Preferencias > Experimental > Gradle en Mac) y marca la opción Solo resolver variantes seleccionadas.

Actualización del diálogo de estructura del proyecto

Android Studio 3.3 Canary 4 introduce actualizaciones en el diálogo de estructura del proyecto. Cuando seleccionas Archivo > estructura del proyecto en la barra de menú para abrir el diálogo, puedes administrar la manera en que el proyecto está configurado con las siguientes funciones nuevas:

  • Visualiza la estructura real de un proyecto, según como lo haya resuelto Gradle para la sincronización. Por ejemplo, puedes visualizar el gráfico de dependencia de cada módulo.
  • Recibe notificaciones cuando haya versiones nuevas de tus dependencias de biblioteca.
  • Configura un proyecto mediante la IU de diálogo, sin editar manualmente los archivos build.gradle.

Proporciona comentarios rápidos

Si te suscribiste para compartir estadísticas de uso a fin de ayudar a mejorar Android Studio, verás estos dos íconos nuevos en la barra de estado, en la parte inferior de la ventana del IDE:

Haz clic en el ícono que mejor represente tu experiencia actual con el IDE. Cuando lo hagas, el IDE enviará estadísticas de uso que permiten al equipo de Android Studio comprender mejor lo que sientes. En algunos casos, por ejemplo, cuando indiques que tuviste una experiencia negativa con el IDE, podrás proporcionar más comentarios.

Si aún no lo hiciste, habilita las estadísticas de uso. Para ello, abre el diálogo Configuración (Preferencias en Mac), navega hasta la opción Apariencia y comportamiento > Configuración del sistema > Uso compartido de datos y marca Enviar estadísticas de uso a Google.

Eliminación de opciones para la personalización de C++

Se quitaron las siguientes opciones del diálogo de compatibilidad con la personalización de C++:

  • Compatibilidad con excepciones (-fexceptions)
  • Compatibilidad con información del tipo de tiempo de ejecución (-ftti)

Los comportamientos respectivos están habilitados para todos los proyectos que se crean con Android Studio.

Android Studio 3.2

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

Novedades del Asistente

Android Studio 3.2 tiene un nuevo panel Asistente, que te informa acerca de los cambios más recientes en Android Studio.

Este elemento se abre cuando inicias Android Studio, si detecta que hay información nueva para mostrar. También puedes abrir el panel Asistente en Ayuda > Novedades de Android Studio.

Android Jetpack

Android Jetpack ayuda a acelerar el desarrollo en Android con componentes, herramientas y pautas que eliminan las tareas repetitivas y permiten compilar de manera más rápida y simple apps de alta calidad que pueden probarse. Android Studio incluye las siguientes actualizaciones para admitir Jetpack. Si deseas obtener más información, consulta la documentación de Jetpack.

El nuevo editor de navegación se integra con los componentes de navegación de Android Jetpack para proporcionar una vista gráfica que ayude a crear la estructura de navegación de tu app. El editor de navegación simplifica el diseño y la implementación de la navegación entre destinos dentro de la app.

En Android Studio 3.2, el editor de navegación es una función experimental. Para habilitarlo, haz clic en Archivo > Configuración (Android Studio > Preferencias en Mac), selecciona la categoría Experimental en el panel de la izquierda y marca el cuadro junto a la opción Habilitar el editor de navegación.

Para obtener más información, lee la documentación del editor de navegación.

Migración de AndroidX

Como parte de Jetpack, estamos migrando las bibliotecas de compatibilidad de Android a una nueva biblioteca de extensiones con el espacio de nombres androidx. Para obtener más información, lee el anuncio de AndroidX.

Android Studio 3.2 te ayuda en este proceso con una nueva función de migración.

Para migrar un proyecto existente a AndroidX, elige la opción de Refactor > Migrar a AndroidX. Si tienes dependencias Maven que no se migraron al espacio de nombres de AndroidX, el sistema de compilación de Android Studio también convertirá automáticamente esas dependencias de proyecto.

El complemento de Gradle de Android proporciona las siguientes marcas globales que puedes configurar en el archivo gradle.properties:

  • android.useAndroidX: Cuando se establece en true, esta marca indica que quieres comenzar a usar AndroidX desde ahora. Si no hay ninguna marca, Android Studio se comporta como si se hubiera establecido en false.
  • android.enableJetifier: Cuando se establece en true, esta marca indica que quieres tener compatibilidad de herramientas (desde el complemento de Gradle de Android) para convertir automáticamente las bibliotecas de terceros existentes como si estuvieran escritas para AndroidX. Si no hay ninguna marca, Android Studio se comporta como si se hubiera establecido en false.

Las dos marcas se establecen en true cuando usas el comando Migrar a AndroidX.

Si quieres comenzar a usar bibliotecas de AndroidX y no necesitas convertir las bibliotecas de terceros existentes, establece la marca android.useAndroidX en true y android.enableJetifier en false.

Android App Bundle

Android App Bundle es un nuevo formato de carga que incluye todos los recursos y el código compilado de tu app, pero delega la generación del APK y la firma a Google Play Store.

El nuevo modelo de publicación de apps de Google Play, llamado Dynamic Delivery, usa tu paquete de aplicación a fin de generar y publicar APK optimizados para cada configuración de dispositivos, de manera que los usuarios puedan descargar por su cuenta el código y los recursos necesarios para ejecutar tu app. Ya no tendrás que compilar, firmar y administrar varios APK, y los usuarios deberán realizar descargas más pequeñas y optimizadas.

Además, puedes agregar módulos de funciones dinámicas a tu proyecto de apps e incluirlos en el paquete de aplicación. Mediante "Dynamic Delivery", los usuarios pueden descargar e instalar las funciones dinámicas de tu app on demand.

Para crear un paquete, selecciona Compilar > Compilar paquetes o APK > Compilar paquetes.

Para obtener más información, incluidas las instrucciones para compilar y analizar un Android App Bundle, consulta Cómo comenzar a usar Android App Bundle.

Datos simples en el editor de diseño

Muchos diseños de Android incluyen datos de tiempo de ejecución que pueden dificultar la visualización de la apariencia del diseño durante el desarrollo de apps. Ahora, puedes obtener fácilmente una vista previa en el editor de diseño junto con datos simples. Cuando agregas una vista, aparece el botón  debajo de ella, en la ventana Diseño. Haz clic en el botón para configurar los atributos de vista de diseño. Puedes elegir entre una variedad de plantillas de datos de ejemplo y especificar la cantidad de elementos de muestra para completar la vista.

Para intentar usar datos simples, agrega un elemento RecyclerView a un nuevo diseño, haz clic en el botón de los atributos de diseño  debajo de la vista y elige una selección en el carrusel de plantillas de datos de ejemplo.

Secciones

Las secciones proporcionan una nueva manera de incorporar porciones de la funcionalidad de tu app a otras superficies de interfaz de usuario en Android. Por ejemplo, estas pueden hacer que sea posible mostrar la funcionalidad y el contenido de la app en sugerencias de la Búsqueda de Google.

Android Studio 3.2 tiene una plantilla integrada que te ayudará a extender tu app con las nuevas API de Proveedor de secciones, además de la posibilidad de realizar comprobaciones de lint a fin de asegurarte de estar siguiendo las recomendaciones para construir secciones.

Para comenzar, haz clic con el botón derecho en la carpeta de un proyecto y selecciona Nuevo > Otro > Proveedor de fragmentos.

Para obtener más información, incluida la forma de probar las interacciones de tus fragmentos, consulta la Guía de introducción a las secciones.

IntelliJ IDEA 2018.1.1

Se actualizó el IDE principal de Android Studio con mejoras de IntelliJ IDEA mediante la versión 2018.1.1.

Generadores de perfiles de Android

Prueba las siguientes funciones nuevas del Generador de perfiles de Android en la versión más reciente de Android Studio 3.2.

Energy Profiler

Energy Profiler muestra una visualización del uso de energía estimado de tu app.

Esta herramienta aparece como una nueva fila en la parte inferior de la ventana Generador de perfiles cuando ejecutas tu app en un dispositivo conectado o en el Emulador de Android que ejecuta Android 8.0 (API 26) o una versión posterior.

Haz clic en la fila Energía para maximizar la vista de Energy Profiler. Coloca el cursor del mouse sobre una barra del cronograma para ver un desglose del uso de energía por parte de la CPU, la red y los recursos de ubicación (GPS), además de eventos del sistema como bloqueos de activación, alarmas y trabajos.

Sesiones

Ahora puedes guardar los datos del generador de perfiles como "sesiones" para volver a visitarlas y revisarlas en otro momento. Recuerda que el generador de perfiles conserva los datos de sesión hasta que reinicies el IDE.

Después de seleccionar Ejecutar > Perfil en el menú principal para implementar tu app, inicia una nueva sesión. Para ello, haz clic en  y selecciona un proceso de la app en el menú desplegable, como se muestra a continuación.

Cuando registras un método o capturas un volcado de pila, el IDE agrega datos (junto con la actividad de red de la app) como una entrada independiente a la sesión actual, y puedes ir y volver fácilmente entre registros para comparar datos. Para dejar de agregar datos en la sesión actual, haz clic en .

Seguimiento del sistema

En el generador de perfiles de la CPU, selecciona la nueva configuración de seguimiento del sistema para inspeccionar la CPU del sistema del dispositivo y la actividad de subprocesos. Esta actividad de seguimiento se crea en systrace y sirve para investigar los problemas al nivel del sistema, como los bloqueos de IU.

Cuando usas esta nueva configuración de seguimiento, puedes marcar visualmente rutinas de código importantes en el cronograma del generador de perfiles mediante la instrumentación del código con la clase Trace.

Inspecciona referencias de JNI en el generador de perfiles de memoria

Si implementas tu app en un dispositivo que ejecuta Android 8.0 (API nivel 26), o una versión posterior, ahora puedes inspeccionar asignaciones de memoria para el código JNI de la app mediante el generador de perfiles de memoria.

Mientras se esté ejecutando la app, selecciona una parte del cronograma que quieras inspeccionar y elige Pila de JNI en el menú desplegable de la parte superior de la lista, como se muestra más abajo. Podrás inspeccionar los objetos de la pila, como lo harías normalmente, y hacer doble clic en ellos, en la pestaña Pila de llamada de asignación, para ver dónde se asignan y publican las referencias de JNI en tu código.

Importa e inspecciona archivos de volcado de la pila

Ahora puedes importar e inspeccionar archivos de volcado de pila de .hprof creados con el Generador de perfiles de memoria.

Importa el archivo .hprof haciendo clic en la opción Iniciar una nueva sesión del generador de perfiles  del panel de sesiones y seleccionando Cargar desde el archivo. Luego, podrás inspeccionar sus datos en el generador de memoria, como lo hacías con cualquier otro volcado de pila.

Registra la actividad de la CPU durante el inicio de una app

Ahora puedes registrar la actividad de la CPU durante el inicio de tu app de la siguiente manera:

  1. Selecciona Ejecutar > Editar configuraciones en el menú principal.
  2. En la pestaña Perfilado de la configuración de ejecución deseada, marca el cuadro junto a la opción Comenzar a registrar un seguimiento de métodos en el inicio.
  3. Selecciona una configuración de registro de CPU para usarla en el menú desplegable.
  4. Implementa tu app en un dispositivo que ejecute Android 8.0 (API nivel 26) o una versión posterior seleccionando Ejecutar > Perfil.

Cómo exportar registros de CPU

Después de registrar la actividad de la CPU con el generador de perfiles correspondiente, puedes exportar los datos como archivo .trace para compartirlos con otras personas o inspeccionarlos más tarde.

Para exportar un seguimiento después de haber registrado la actividad de la CPU, sigue estos pasos:

  1. Haz clic con el botón derecho en el registro que quieras exportar del cronograma de la CPU.
  2. Selecciona la opción Exportar seguimiento del menú desplegable.
  3. Navega hasta donde quieras guardar el archivo y haz clic en Guardar.

Cómo importar e inspeccionar archivos de seguimiento de la CPU

Ahora puedes importar e inspeccionar archivos .trace creados con la API de Depuración o el Generador de perfiles de la CPU. Por el momento, no es posible importar registros del sistema.

Para importar el seguimiento, haz clic en Iniciar una nueva sesión del generador de perfiles del panel de sesiones y selecciona Cargar desde el archivo. Luego, podrás inspeccionar sus datos en el generador de perfiles de la CPU, como lo harías normalmente, aunque hay algunas excepciones:

  • La actividad de la CPU no está representada en el cronograma de la CPU.
  • El cronograma de actividades de subprocesos indica solo cuando hay datos de seguimiento disponibles para cada subproceso y no los estados reales de los subprocesos (como en ejecución, en espera o suspendido).

Cómo registrar la actividad de la CPU con la API de Depuración

Ahora puedes iniciar y detener el registro de la actividad de la CPU en el generador de perfiles correspondiente mediante la instrumentación de la app con la API de Depuración. Después de implementar tu app en un dispositivo, el generador de perfiles inicia el registro de actividad de la CPU automáticamente cuando la app realiza una llamada a startMethodTracing(String tracePath) y deja de registrar cuando la app llama a stopMethodTracing(). Mientras se registra la actividad de la CPU que se activa con esta API, el generador de perfiles correspondiente muestra a la API de Depuración como la configuración de registro de CPU seleccionada.

Comprobación de lint

Android Studio 3.2 incluye muchas funciones nuevas y mejoradas para la comprobación de lint.

Lint revisa la interoperabilidad de Java/Kotlin

Para asegurarte de que tu código Java interopere de manera correcta con el código Kotlin, las nuevas comprobaciones de lint aplican las recomendaciones que se describen en la Guía de interoperabilidad de Kotlin. Estas comprobaciones incluyen la búsqueda de la presencia de anotaciones de anulación, el uso de palabras clave fijas, la colocación de parámetros lambda en último lugar, etc.

Para habilitar estas comprobaciones, ve a Archivo > Preferencias > Editor > Inspecciones y marca las reglas que quieras habilitar en la sección Interoperabilidad de Kotlin, como se muestra a continuación: Luego, selecciona Analizar > Inspeccionar código en el menú principal para ejecutar comprobaciones.

A fin de habilitar estas comprobaciones para compilaciones de la línea de comandos, agrega lo siguiente a tu archivo build.gradle:

android {
    lintOptions {
        check 'Interoperability'
    }
}

Comprobaciones de lint para secciones

Con las nuevas comprobaciones de lint para secciones, podrás asegurarte de crear secciones correctamente. Por ejemplo, entre otros aspectos, te advierten si no asignaste una acción primaria a una sección.

Más comprobaciones nuevas de lint

Además de las comprobaciones de lint para secciones y la interoperabilidad de Kotlin que se describieron anteriormente, Android Studio 3.2 implementa 20 comprobaciones de lint nuevas para ayudarte a buscar y detectar problemas de código comunes. Estas comprobaciones nuevas varían desde advertencias acerca de posibles problemas de uso a errores de prioridad alta relacionados con posibles vulnerabilidades de seguridad.

Nueva orientación de Gradle

Usa la nueva tarea de Gradle lintFix para aplicar todas las correcciones seguras sugeridas mediante la comprobación de lint directamente en el código fuente. Un ejemplo de comprobación de lint que sugiere que se aplique una corrección segura es SyntheticAccessor.

Actualizaciones de metadatos

Se actualizaron diversos metadatos para las comprobaciones de lint, como las comprobaciones de transmisión de servicio, a fin de que funcionen con la vista previa de Android P para desarrolladores.

Advertencia si se ejecuta lint en una variante nueva

Lint ahora registra con qué variante y versión se registra un punto de referencia y te advierte si lo ejecutas en una variante diferente a la que se usó para crear el punto de referencia.

Mejoras en comprobaciones de lint existentes

Android Studio 3.2 incluye muchas mejoras a comprobaciones de lint existentes. Por ejemplo, las comprobaciones de ciclo de recursos ahora se aplican a tipos de recursos adicionales y el detector de traducción ahora puede encontrar traducciones faltantes inmediatamente en el editor.

ID de problemas más detectables

Los ID de problemas ahora se muestran en más lugares, incluida la ventana Resultados de la inspección, lo que te permite encontrar más fácilmente la información que necesitas para habilitar o inhabilitar comprobaciones específicas mediante lintOptions en build.gradle.

Para obtener más información, consulta Cómo configurar opciones de lint con Gradle.

Vinculación de datos V2

La Vinculación de datos V2 ahora está habilitada de forma predeterminada y es compatible con V1. Esto significa que si tienes dependencias de biblioteca que compilaste con V1, puedes usarlas con proyectos que usan la Vinculación de datos V2. Sin embargo, ten en cuenta que los proyectos que usan V1 no pueden consumir dependencias compiladas con V2.

Eliminación de accesos directos de D8

En Android Studio 3.1, integramos el paso de eliminación de accesos directos a la herramienta D8 como función experimental, lo que reduce el tiempo de compilación general. Ahora, en Android Studio 3.2, la eliminación de accesos directos con D8 está activada en forma predeterminada.

Nuevo reductor de código

R8 es una nueva herramienta que reemplaza a ProGuard en la ofuscación y reducción de código. Puedes comenzar a usar la versión de vista previa de R8 si incluyes lo siguiente en el archivo gradle.properties del proyecto:

android.enableR8 = true

Cambio en los ABI predeterminados para varios APK

Cuando compilas varios APK y orientas cada uno de ellos a un ABI diferente, el complemento ya no genera APK para los siguientes ABI de manera predeterminada: mips, mips64 y armeabi.

Para compilar un APK que se oriente a estos ABI, usa NDK r16b o una versión anterior y especifica los ABI en el archivo build.gradle, como se muestra a continuación:

splits {
    abi {
        include 'armeabi', 'mips', 'mips64'
        ...
    }
}

Funciones del editor mejoradas para archivos de compilación CMake

Si usas CMake para agregar código C y C++ a tu proyecto, Android Studio ahora incluye funciones del editor mejoradas que puedes usar para editar secuencias de comandos de compilación de CMake, entre las que se incluyen las siguientes:

  • Resaltado de sintaxis y sugerencias para completar código: El IDE ahora resalta y muestra sugerencias para completar el código de comandos comunes de CMake. Además, puedes navegar hasta un archivo haciendo clic en él mientras presionas la tecla Control (o Comando en MacOS).
  • Reformateo de código: Ahora puedes usar la opción para volver a formatear código de IntelliJ a fin de aplicar estilos de código a tus secuencias de comando de compilación de CMake.
  • Reestructuración segura: Las herramientas de reestructuración integradas del IDE también comprueban si cambias el nombre de archivos a los que haces referencia en las secuencias de comandos de compilación de CMake o los borras.

Cuando usabas la ventana Proyecto en versiones anteriores de Android Studio, podías explorar e inspeccionar solo los archivos de encabezados que pertenecían a bibliotecas que creabas desde un proyecto local. Con esta versión, también puedes ver e inspeccionar archivos de encabezados que se incluyen con dependencias de bibliotecas de C/C++ externas que puedes importar al proyecto de tu app.

Si ya incluyes código y bibliotecas de C/C++ en tu proyecto, abre la ventana Proyecto a la izquierda del IDE. Para ello, selecciona Ver > Ventanas de herramientas > Proyecto en el menú principal y elige Android en el menú desplegable. En el directorio cpp, todos los encabezados que están dentro del alcance de tu app se organizan en el nodo include para cada una de las dependencias de bibliotecas de C/C++, como se muestra a continuación:

Multidex nativo habilitado en forma predeterminada

Las versiones anteriores de Android Studio habilitaban multidex nativo cuando se implementaba la versión de depuración de una app en un dispositivo con la API de Android nivel 21 o posterior. Ahora, si ejecutas una implementación en un dispositivo o creas un APK que publicarás, el complemento de Android para Gradle habilita el multidex nativo correspondiente a todos los módulos configurados en minSdkVersion=21 o versiones posteriores.

Se transfirió AAPT2 al repositorio Maven de Google

A partir de Android Studio 3.2 Canary 11, la fuente de AAPT2 (Android Asset Packaging Tool 2) es el repositorio Maven de Google.

Para usar AAPT2, asegúrate de tener una dependencia de google() en tu archivo build.gradle, como se muestra a continuación.

  buildscript {
      repositories {
          google() // here
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
      }
  } allprojects {
      repositories {
          google() // and here
          jcenter()
  }

La nueva versión de AAPT2 corrige muchos problemas, entre los que se incluye la administración mejorada de caracteres no ASCII en Windows.

Eliminación de la configuración on-demand

Se quitó la preferencia Configuración on demand de Android Studio.

Android Studio ya no transmite el argumento --configure-on-demand a Gradle.

Asistente de conexión de ADB

El nuevo asistente de conexión de ADB proporciona instrucciones detalladas para ayudarte a configurar y usar un dispositivo en la conexión Android Debug Bridge (ADB).

Para iniciar el asistente, selecciona Herramientas > Asistente de conexión.

El asistente de conexión de ADB proporciona instrucciones, controles en contexto y una lista de dispositivos conectados en una serie de páginas del panel Asistente.

Mejoras del emulador

Ahora puedes guardar y cargar instantáneas de un AVD (dispositivo virtual Android) cuando quieras en el Emulador de Android, lo que permite mostrar de forma rápida y sencilla un dispositivo emulado en un estado conocido para pruebas. Cuando editas un AVD con el Administrador de AVD, puedes especificar qué instantánea quieres cargar cuando se inicia el dispositivo correspondiente.

Los controles para guardar, cargar y administrar instantáneas de AVD ahora se encuentran en la pestaña Instantáneas de la ventana Controles extendidos del emulador.

Para obtener más información, consulta las Notas de la versión del Emulador de Android 27.3.0 Canary.