Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Notas de la versión de Android Studio

Android Studio es el IDE oficial para el desarrollo de Android e incluye todo lo necesario para compilar apps para Android.

Para obtener la última actualización, haz clic en Ayuda > Buscar actualizaciones (en macOS, Android Studio > Buscar actualizaciones).

También puedes descargar Android Studio aquí.

Si experimentas problemas en Android Studio, consulta las páginas Problemas conocidos o Solución de problemas.

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

Para conocer las novedades del complemento de Android para Gradle, consulta las notas de la versión.

3.6 (febrero de 2020)

Android Studio 3.6 es una actualización importante que incluye varias funciones y mejoras nuevas.

También queremos agradecer a todos los colaboradores de la comunidad que nos ayudaron en este lanzamiento.

3.6.3 (abril de 2020)

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

3.6.2 (marzo de 2020)

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

3.6.1 (febrero de 2020)

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

Herramientas de diseño

Esta versión de Android Studio incluye actualizaciones para diversas herramientas de diseño, como Layout Editor y Resource Manager.

Editores de diseño para acercar y dividir la vista

la vista dividida muestra las vistas de diseño y texto al mismo tiempo

En esta versión, se incluyen las siguientes actualizaciones de los editores de diseño visual:

  • Los editores de diseño, como Layout Editor y Navigation Editor, ahora ofrecen una vista dividida que te permite ver las vistas de diseño y código de la IU al mismo tiempo. En la esquina superior derecha de la ventana del editor, ahora verás tres botones ver íconos para activar o desactivar las opciones de visualización:

    • Para habilitar la vista dividida, haz clic en el ícono Dividir ícono de vista dividida.
    • Para habilitar la vista de fuente XML, haz clic en el ícono Fuente ícono de vista de fuente.
    • Para habilitar la vista de diseño, haz clic en el ícono Diseño ícono de vista de diseño.
  • Los controles para acercar o alejar y desplazarse lateralmente en los editores de diseño se movieron a un panel flotante en la esquina inferior derecha de la ventana del editor.

Para obtener más información, consulta Cómo compilar una IU con un editor de diseño.

Pestaña de recursos del selector de color

Para ayudarte a actualizar rápidamente los valores de recursos de color en tu app cuando usas el selector de color en tu XML o en las herramientas de diseño, el IDE ahora propaga los valores de recursos de color por ti.

Selector de color con valores de color propagados

Resource Manager

Resource Manager contiene las siguientes actualizaciones:

  • Ahora Resource Manager admite la mayoría de los tipos de recursos.
  • Cuando se busca un recurso, ahora Resource Manager muestra resultados de todos los módulos del proyecto. Anteriormente, las búsquedas solo mostraban resultados del módulo seleccionado.
  • El botón de filtro te permite ver recursos de módulos dependientes locales, bibliotecas externas y el marco de trabajo de Android. Además, puedes usar el filtro para mostrar los atributos de tema.
  • Ahora puedes cambiar el nombre de los recursos durante el proceso de importación. Para ello, haz clic en el cuadro de texto que se encuentra sobre el recurso.

Para obtener más información, consulta Cómo administrar los recursos de IU de tu app con Resource Manager.

Actualizaciones del complemento de Gradle para Android

La versión más reciente del complemento de Gradle para Android incluye muchas actualizaciones, como optimizaciones de la velocidad de compilación, compatibilidad con el complemento de publicación de Maven y compatibilidad con View Binding. Para obtener más información, consulta las notas de la versión completas.

Vinculación de vista

La vinculación de vista te permite escribir más fácilmente código que interactúa con las vistas mediante la generación de una clase de vinculación para cada archivo de diseño XML. Estas clases contienen referencias directas a todas las vistas que tienen un ID en el diseño correspondiente.

Debido a que reemplaza findViewById(), la vinculación de vista elimina el riesgo de excepciones de puntero nulo que resultan de un ID de vista no válido.

Para habilitar la vinculación de vista, debes usar el complemento de Gradle para Android 3.6.0 o una versión posterior e incluir lo siguiente en el archivo build.gradle de cada módulo:

android {
        viewBinding.enabled = true
    }
    

Apply Changes

Ahora puedes agregar una clase y, luego, implementar ese cambio de código en tu app en ejecución. Para ello, haz clic en Apply Code Changes Ícono de Apply Code Changes o en Apply Changes and Restart Activity Ícono de Apply Changes.

Para obtener más información sobre la diferencia entre estas dos acciones, consulta Apply Changes.

Opción de menú de refactorización para habilitar la compatibilidad con apps instantáneas

Ahora puedes habilitar instantáneamente tu módulo base en cualquier momento después de crear tu proyecto de app de la siguiente manera:

  1. Abre el panel Project seleccionando View > Tool Windows > Project en la barra de menú.
  2. Haz clic con el botón derecho en el módulo base, que suele llamarse "app", y selecciona Refactor > Enable Instant Apps Support.
  3. En el cuadro de diálogo que aparece, selecciona el módulo base del menú desplegable.
  4. Haz clic en OK.

Para obtener más información, lee la Descripción general de Google Play Instant.

Desofusca el código de bytes de clase y método en el Analizador de APK

Cuando usas el Analizador de APK para inspeccionar archivos DEX, puedes desofuscar el código de bytes del método y la clase de la siguiente manera:

  1. Selecciona Build > Analyze APK en la barra de menú.
  2. En el cuadro de diálogo que aparece, navega hasta el APK que deseas inspeccionar y selecciónalo.
  3. Haz clic en Open.
  4. En el Analizador de APK, selecciona el archivo DEX que deseas inspeccionar.
  5. En el visor de archivos DEX, carga el archivo de asignaciones de ProGuard para el APK que estás analizando.
  6. Haz clic con el botón derecho en la clase o el método que deseas inspeccionar y selecciona Show bytecode.

Herramientas nativas

Las siguientes actualizaciones admiten el desarrollo nativo (C/C++) en Android Studio.

Compatibilidad con Kotlin

Las siguientes funciones de NDK en Android Studio, anteriormente compatibles con Java, ahora también son compatibles con Kotlin:

  • Navega desde una declaración JNI hasta la función de implementación correspondiente en C/C++. Puedes ver esta asignación si te desplazas sobre el marcador del elemento C o C++ cerca del número de línea del archivo de código fuente administrado.
  • Crea automáticamente una función de implementación de stub para una declaración JNI. Primero define la declaración JNI y, luego, escribe "jni" o el nombre del método en el archivo C/C++ que quieres activar.

  • Las funciones de implementación nativas no utilizadas se destacan como advertencia en el código fuente. Las declaraciones JNI con implementaciones faltantes también se destacan como error.

  • Cuando renombras (refactorizas) una función de implementación nativa, se actualizan todas las declaraciones JNI correspondientes. Renombra una declaración JNI para actualizar la función de implementación nativa.

  • Se incluye comprobación de firma para implementaciones JNI vinculadas implícitamente.

Otras mejoras de JNI

El editor de código de Android Studio ahora admite un flujo de trabajo de desarrollo de JNI más integrado, que incluye sugerencias de tipo mejoradas, autocompletado, inspecciones y refactorización de código.

Volver a cargar APK para bibliotecas nativas

Ya no es necesario crear un proyecto nuevo cuando el APK de tu proyecto se actualiza fuera del IDE. Android Studio detecta cambios en el APK y te brinda la opción de volver a importarlos.

Adjuntar fuentes de APK solo de Kotlin

Ahora es posible adjuntar fuentes de APK externas solo de Kotlin cuando generas perfiles y depuras los APK compilados previamente. Para obtener más información, consulta Cómo adjuntar códigos fuente Kotlin/Java.

Detección de pérdidas en Memory Profiler

Cuando se analiza un volcado de montón en Memory Profiler, ahora puedes filtrar los datos de perfiles que Android Studio cree que pueden indicar pérdidas de memoria para instancias Activity y Fragment en tu app.

Los tipos de datos que muestra el filtro incluyen los siguientes:

  • Instancias Activity que se destruyeron, pero a las que todavía se hace referencia.
  • Instancias Fragment que no tienen un FragmentManager válido, pero a las que aún se hace referencia.

En ciertas situaciones, como las que se incluyen a continuación, el filtro puede generar falsos positivos:

  • Se creó un Fragment, pero todavía no se usó.
  • Se almacena en caché un Fragment, pero no como parte de un FragmentTransaction.

Para usar esta función, primero debes capturar un volcado de montón o importar un archivo de volcado de montón en Android Studio. Para mostrar los fragmentos y las actividades que pueden tener pérdidas de memoria, selecciona la casilla de verificación Activity/Fragment Leaks en el panel de volcado de montón de Memory Profiler.

Generador de perfiles: detección de pérdidas de memoria

Filtrado de un volcado de montón para las fugas de memoria.

Emuladores

Android Studio 3.6 te ayuda a aprovechar varias actualizaciones incluidas en Android Emulator 29.2.7 y versiones posteriores, como se describe a continuación.

Compatibilidad mejorada con las ubicaciones

Android Emulator 29.2.7 y las versiones posteriores ofrecen compatibilidad adicional para emular las coordenadas GPS y la información de ruta. Cuando abres los controles extendidos de los emuladores, las opciones de la pestaña de ubicación ahora se organizan en dos pestañas: Single points y Routes.

Single points

En la pestaña Single points, puedes usar la vista web de Google Maps para buscar puntos de interés, del mismo modo que lo harías con Google Maps en un teléfono o navegador. Cuando buscas una ubicación en el mapa o haces clic en ella, puedes guardarla. Para ello, selecciona la opción para guardar el punto, ubicada cerca de la parte inferior del mapa. Todas tus ubicaciones guardadas aparecen en el lado derecho de la ventana Extended controls.

Si deseas establecer la ubicación del emulador en la ubicación que seleccionaste en el mapa, haz clic en el botón Set location que se encuentra cerca de la parte inferior derecha de la ventana Extended controls.

Pestaña Single points en los controles extendidos del emulador..

Rutas

Al igual que la pestaña Single points, la pestaña Routes proporciona una vista web de Google Maps que puedes usar para crear una ruta entre dos o más ubicaciones. Para crear y guardar una ruta, sigue estos pasos:

  1. En la vista de mapa, usa el campo de texto para buscar el primer destino de tu ruta.
  2. Selecciona la ubicación en los resultados de la búsqueda.
  3. Selecciona el botón Navigate Botón Navigate en Google Maps..
  4. Selecciona el punto de partida de tu ruta en el mapa.
  5. (Opcional) Haz clic en Add destination para agregar más paradas a tu ruta.
  6. Para guardar la ruta, haz clic en Save route en la vista de mapa.
  7. Especifica un nombre para la ruta y haz clic en Save.

Para simular el emulador siguiendo la ruta que guardaste, selecciona la ruta en la lista de Saved routes y haz clic en Play route, cerca de la parte inferior derecha de la ventana Extended controls. Para detener la simulación, haz clic en Stop route.

Pestaña Routes en los controles extendidos del emulador..

Si quieres simular de forma continua el emulador siguiendo la ruta especificada, habilita el botón que se encuentra junto a Repeat playback. Para cambiar la velocidad con la que el emulador sigue la ruta especificada, selecciona una opción del menú desplegable Playback speed.

Compatibilidad con pantallas múltiples

Android Emulator ahora te permite implementar tu app en varias pantallas, que admiten dimensiones personalizables y pueden ayudarte a probar apps compatibles con multiventana y multipantalla. Mientras se ejecuta un dispositivo virtual, puedes agregar hasta dos pantallas adicionales de la siguiente manera:

  1. Abre Extended controls y ve a la pestaña Displays.
  2. Para agregar otra pantalla, haz clic en Add secondary display.
  3. En el menú desplegable Secondary displays, realiza una de las siguientes acciones:

    1. Selecciona una de las relaciones de aspecto predeterminadas.
    2. Selecciona custom y establece la altura (en height), el ancho (en width) y las dpi para tu pantalla personalizada.
  4. (Opcional) Haz clic en Add secondary display para agregar una tercera pantalla.

  5. Haz clic en Apply changes para agregar las pantallas especificadas al dispositivo virtual activo.

Agrega varias pantallas a la pestaña Emulator Extended Controls Display.

Plantillas de proyectos y dispositivos virtuales nuevos para el SO de Android Automotive

Cuando creas un proyecto nuevo con Android Studio, ahora puedes seleccionar entre tres plantillas de la pestaña Automotive en el asistente de Create New Project: No Activity, Media Service y Messaging Service. En el caso de los proyectos existentes, puedes agregar compatibilidad con los dispositivos Android Automotive. Para ello, selecciona File > New > New Module en la barra de menú y selecciona Automotive Module. Luego, el asistente de Create New Module te guía en la creación de un módulo nuevo con una de las plantillas de proyectos de Android Automotive.

Selecciona una plantilla de proyectos de Android Automotive..

Además, ahora puedes crear un dispositivo virtual de Android (AVD) para dispositivos con el SO de Android Automotive. Para ello, selecciona una de las siguientes opciones en la pestaña Automotive del asistente de Virtual Device Configuration.

  1. Polestar 2: Crea un AVD que emula la unidad principal de Polestar 2.
  2. Automotive (1024p horizontal): Crea un AVD para unidades principales de Android Automotive de 1024 x 768 px.

Seleccionar un dispositivo virtual de Android Automotive..

Descargas del SDK reanudables

Cuando descargas herramientas y componentes de SDK con SDK Manager, Android Studio te permite reanudar las descargas interrumpidas (por ejemplo, debido a un problema de red) en lugar de reiniciar la descarga desde el principio. Esta mejora es especialmente útil para las descargas grandes, como Android Emulator o las imágenes del sistema, cuando la conexión a Internet no es confiable.

Además, si tienes una tarea de descarga de SDK ejecutándose en segundo plano, puedes pausar o reanudar la descarga mediante los controles de la barra de estado.

Una tarea de descarga en segundo plano en la barra de estado con controles nuevos que te permiten pausar o reanudar la descarga.

Una tarea de descarga en segundo plano en la barra de estado con controles nuevos que te permiten pausar o reanudar la descarga.

Win32 dejó de estar disponible

La versión de 32 bits de Android Studio para Windows dejará de recibir actualizaciones después de diciembre de 2019 y dejará de ser compatible después de diciembre de 2020. Puedes seguir usando Android Studio. Sin embargo, para recibir actualizaciones adicionales, actualiza tu estación de trabajo a una versión de Windows de 64 bits.

Para obtener más información, lee el blog sobre la baja de la versión de 32 bits para Windows.

Nueva opción para optimizar el tiempo de sincronización de Gradle

En las versiones anteriores, Android Studio recuperaba la lista de todas las tareas de Gradle durante la sincronización de Gradle. Para proyectos grandes, la recuperación de la lista de tareas puede provocar tiempos de sincronización lentos.

Para mejorar el rendimiento de Gradle Sync, ve a File > Settings > Experimental y selecciona Do not build Gradle task list during Gradle sync.

Cuando habilitas esta opción, Android Studio omite compilar la lista de tareas durante la sincronización, lo que permite que se complete más rápido la sincronización de Gradle y mejore la capacidad de respuesta de la IU. Ten en cuenta que, cuando el IDE omite compilar la lista de tareas, las listas de tareas en el panel de Gradle están vacías y el autocompletado del nombre de la tarea en los archivos de compilación no funciona.

Nueva ubicación para activar o desactivar el modo sin conexión de Gradle

Para habilitar o inhabilitar el modo sin conexión de Gradle, primero selecciona View > Tool Windows > Gradle en la barra de menú. Luego, en la parte superior de la ventana de Gradle, haz clic en Toggle Offline Mode Botón de Gradle sin conexión en el panel de Gradle..

IntelliJ IDEA 2019.2

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

Para obtener más información sobre las mejoras de otras versiones de IntelliJ que se incluyen de forma acumulativa con la versión 2019.2, consulta las siguientes páginas:

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.6. En particular, queremos agradecer a las siguientes personas que informaron errores:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers
  • 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 este lanzamiento.

    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. Para obtener más información, consulta Ejecuta 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 para mejorar el rendimiento de compilación, Android Studio te notifica y te proporciona instrucciones sobre cómo optimizar la configuración del antivirus. Para 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. Apply Changes 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 mediante el aprovechamiento de la instrumentación de tiempo de ejecución compatible con Android 8.0 (API nivel 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 para garantizar que la sincronización de Gradle se complete de manera correcta.

    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 para proporcionar más información y acciones que te ayudan a actualizar el IDE y el complemento de Gradle para Android. 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 Gradle para Android. Por lo tanto, puedes actualizar el IDE de forma segura tan pronto como esté disponible una versión más reciente y 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 superficie 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 sitúas el cursor sobre un anclaje, las restricciones asociadas se tornan de color rojo a fin de indicar que puedes hacer clic para borrarlas.

    Cuando se selecciona una vista, puedes crear una restricción. Para ello, 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 particularmente útil cuando se intenta limitar a 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.

    Cómo crear 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.

    Cómo crear 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 anotación incremental 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.

    Se mejoró el rendimiento 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 la 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 de NDK y el complemento de Gradle para Android.

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

    Compatibilidad con el Sistema operativo Chrome

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

    Publicación condicional para módulos de funciones dinámicas

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

    Este mecanismo de publicación actualmente admite controlar la descarga de un módulo en el momento de 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, el módulo no se descarga en el momento de la instalación de la app. Sin embargo, tu app puede solicitar más tarde descargar el módulo a pedido mediante 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 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 Gradle para Android

    Para obtener información sobre las novedades del complemento de Gradle para Android 3.5.0, como la compatibilidad mejorada del procesamiento de anotaciones incrementales y las pruebas de unidad 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:

    3.4 (abril de 2019)

    Android Studio 3.4 es una actualización importante que incluye una variedad de nuevas características y mejoras.

    3.4.2 (julio de 2019)

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

    3.4.1 (mayo de 2019)

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

    3.4.0 Problemas conocidos

    • Se inhabilita la creación de perfiles cuando se implementa la app en un dispositivo con Android Q Beta.

    • Cuando se usa la biblioteca de vinculación de datos, LiveDataListener.onChanged() puede fallar con una NPE. Se incluirá una corrección para este problema en Android Studio 3.4.1 y ya está disponible en la versión preliminar más reciente de Android Studio 3.5 (consulta el problema 122066788).

    IntelliJ IDEA 2018.3.4

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

    Actualizaciones del complemento Gradle 3.4.0 para Android

    Para obtener información sobre las novedades del complemento Gradle 3.4.0 para Android, consulta las notas de la versión.

    Nuevo diálogo de estructura del proyecto

    El nuevo diálogo Estructura del proyecto (PSD) facilita la actualización de dependencias y la configuración de diferentes aspectos del proyecto, como los módulos, las variantes de compilación, las configuraciones de firma y las variables de compilación.

    Puedes abrir el PSD seleccionando File > Project Structure en la barra de menú. También puedes abrir el PSD presionando Ctrl+Shift+Alt+S en Windows y Linux, o Command+; (punto y coma) en macOS. A continuación, encontrarás descripciones de algunas de las secciones nuevas y actualizadas del PSD.

    Variables

    La nueva sección de variables del PSD permite crear y administrar variables de compilación, como aquellas que posibilitan mantener la uniformidad de los números de versión de las dependencias en todo el proyecto.

    • Consulta y edita de manera rápida las variables de compilación que ya existen en las secuencias de comandos de compilación de Gradle de tu proyecto.
    • Agrega nuevas variables de compilación en el nivel del proyecto o módulo directamente desde el PSD.

    Módulos

    Configura las propiedades que se aplican a todas las variantes de compilación en un módulo existente o agrega nuevos módulos al proyecto desde la sección Modules. Por ejemplo, aquí puedes configurar las propiedades de defaultConfig o administrar las configuraciones de firma.

    Dependencias

    Sigue estos pasos para inspeccionar y visualizar cada dependencia en el gráfico de dependencias del proyecto, tal como lo resolvió Gradle durante la sincronización del proyecto:

    1. En el panel izquierdo del PSD, selecciona Dependencies.
    2. En el panel Modules, selecciona el módulo que contenga las dependencias resueltas que quieras inspeccionar.
    3. A la derecha del PSD, abre el panel Resolved Dependencies (que se muestra a continuación).

    También puedes buscar y agregar rápidamente dependencias a un proyecto. Para hacerlo, selecciona primero un módulo en la sección Dependencies del PSD, haz clic en el botón (+) en la sección Declared Dependencies y selecciona el tipo de dependencia que quieras agregar.

    Según el tipo de dependencia que selecciones, debería aparecer un cuadro de diálogo similar al siguiente para que puedas agregar la dependencia al módulo.

    Build Variants

    En esta sección del PSD, puedes crear y configurar variantes de compilación y clases de productos para cada módulo del proyecto. Puedes agregar marcadores de posición de manifiesto y archivos ProGuard, asignar claves de firma y mucho más.

    Suggestions

    En la sección Suggestions que se muestra a continuación, puedes consultar actualizaciones recomendadas para las dependencias del proyecto y las variables de compilación.

    Nuevo administrador de recursos

    El administrador de recursos es una nueva ventana de herramientas para importar, crear, administrar y usar recursos en tu app. Para abrir la ventana de la herramienta, selecciona View > Tool Windows > Resource Manager en la barra de menú. El administrador de recursos permite hacer lo siguiente:

    • Visualizar recursos: puedes obtener una vista previa de elementos de diseño, colores y diseños para encontrar rápidamente los recursos que necesitas.
    • Importar de forma masiva: puedes importar varios activos de elementos de diseño a la vez arrastrándolos y soltándolos en la ventana de herramientas del administrador de recursos o utilizando el asistente Import Drawables. Para acceder al asistente, selecciona el botón (+) en la esquina superior izquierda de la ventana de herramientas y elige Import Drawables en el menú desplegable.
    • Convertir SVG en objetos VectorDrawable: puedes usar el asistente Import Drawables para convertir las imágenes SVG en objetos VectorDrawable.
    • Arrastrar y soltar activos: desde la ventana de herramientas del administrador de recursos, puedes arrastrar y soltar elementos de diseño en las vistas de diseño y XML del editor de diseño.
    • Ver versiones alternativas: ahora, puedes ver versiones alternativas de los recursos haciendo doble clic en un recurso dentro de la ventana Tool. Esta vista permite ver las diferentes versiones que creaste y los calificadores que se incluyeron.
    • Vistas de mosaico y de lista: puedes cambiar la vista dentro de la ventana de herramientas para visualizar los recursos de manera distinta.

    Para obtener más información, consulta la guía sobre cómo administrar los recursos de la app.

    Cómo comprobar los ID de compilación cuando creas perfiles y depuras APK

    Cuando incluyes en tu APK archivos de símbolos de depuración para las bibliotecas compartidas .so, Android Studio comprueba que el ID de compilación de dichos archivos coincida con el ID de compilación de las bibliotecas .so dentro del APK.

    Si compilas las bibliotecas nativas de tu APK con un ID de compilación, Android Studio comprueba que dicho ID en los archivos de símbolos coincida con el ID de compilación de las bibliotecas nativas y rechaza los archivos de símbolos que no coincidan. Si no usas un ID de compilación en el proceso, es posible que ocurran problemas de depuración si proporcionas archivos de símbolos incorrectos.

    R8 habilitada de forma predeterminada

    R8 integra en un solo paso los procesos de desugaring, reducción, ofuscación, optimización y compilación a DEX, lo que mejora notablemente el desarrollo de compilaciones. R8 se presentó en el complemento Gradle 3.3.0 para Android y ahora está habilitada de forma predeterminada para proyectos de bibliotecas de apps y Android que utilicen el complemento 3.4.0 y versiones posteriores.

    En la siguiente imagen, se proporciona una descripción general del proceso de compilación antes de la incorporación de R8.

    Antes de R8, ProGuard era un paso de compilación independiente de la conversión a dex y desugaring.

    Con R8, ahora los procesos de desugaring, reducción, ofuscación, optimización y conversión a dex (D8) se completan en un único paso, como se muestra a continuación.

    Con R8, desugaring, la reducción, la ofuscación, la optimización y la conversión a dex se llevan a cabo en un único paso de compilación.

    Ten en cuenta que R8 está diseñado para trabajar con las reglas de ProGuard existentes, de modo que es probable que R8 funcione correctamente sin necesidad de que realices ninguna acción. Sin embargo, dado que se trata de una tecnología diferente a la de ProGuard, diseñada específicamente para proyectos de Android, es posible que durante la reducción y la optimización se quite código que ProGuard no quitaría. Por lo tanto, en esta situación poco probable, es posible que sea necesario agregar reglas adicionales para mantener ese código en la compilación de salida.

    Si tienes inconvenientes con el uso de R8, consulta las Preguntas frecuentes sobre compatibilidad de R8 para comprobar si hay una solución a tu problema. Si no la hay, informa el error. Para inhabilitar R8, agrega una de las siguientes líneas al archivo gradle.properties de tu proyecto:

    # Disables R8 for Android Library modules only.
        android.enableR8.libraries = false
        # Disables R8 for all modules.
        android.enableR8 = false
        

    Todos los tipos de argumentos que admite el componente de navegación ahora se admiten en el editor de navegación. Para obtener más información sobre qué tipos se admiten, consulta Pasar datos entre destinos.

    Mejoras en el editor de diseño

    El panel Attributes en el editor de diseño se simplificó en una sola página con secciones que se expanden para ver los atributos que puedes configurar. El panel Attributes también incluye las siguientes actualizaciones:

    • Una nueva sección llamada Declared Attributes que incluye los atributos que especifica el archivo de diseño y permite agregar rápidamente otros nuevos.
    • El panel Attributes ahora también presenta indicadores junto a cada atributo que están rellenos cuando el valor del atributo es una referencia de recursos y vacíos en los demás casos.
    • Los atributos con errores o advertencias ahora están resaltados en rojo si tienen errores (por ejemplo, cuando usas valores de diseño no válidos) y en naranja si hay advertencias (por ejemplo, cuando usas valores codificados).

    Nueva acción de intención para importar dependencias rápidamente

    Si comienzas a usar ciertas clases de Jetpack y Firebase en tu código, una nueva acción de intención sugiere agregar la dependencia de la biblioteca Gradle requerida a tu proyecto si todavía no lo hiciste. Por ejemplo, si incluyes una referencia a la clase WorkManager sin primero importar la dependencia android.arch.work:work-runtime requerida, una acción de intención te permite hacerlo fácilmente con un solo clic, tal como se muestra a continuación.

    Más específicamente, debido a que Jetpack volvió a empaquetar la biblioteca de compatibilidad en paquetes discretos que son más fáciles de administrar y actualizar, esta acción de intención te ayuda a agregar de manera rápida solo las dependencias que necesitas para los componentes de Jetpack que quieres usar.

    3.3 (enero de 2019)

    Android Studio 3.3 es una actualización importante que incluye una variedad de funciones y mejoras nuevas.

    3.3.2 (marzo de 2019)

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

    3.3.1 (febrero de 2019)

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

    IntelliJ IDEA 2018.2.2

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

    Actualizaciones del complemento de Gradle para Android

    Para obtener información sobre las novedades del complemento de Gradle para Android, consulta las notas de la versión.

    El editor de navegación permite visualizar y crear navegación rápidamente en tu app mediante el componente de arquitectura de navegación.

    Para obtener más información, consulta Cómo implementar la navegación con el componente de arquitectura de navegación.

    Cómo borrar directorios de Android Studio sin usar

    Cuando ejecutas una versión principal de Android Studio por primera vez, busca directorios que contengan cachés, configuraciones, índices y registros de versiones de Android Studio de las que no se pueda encontrar la instalación correspondiente. En el cuadro de diálogo Delete Unused Android Studio Directories, se muestran ubicaciones, tamaños y horas de última modificación de estos directorios sin usar y, además, se ofrece la opción de borrarlos.

    Los directorios que Android Studio tiene en cuenta para su eliminación son los siguientes:

    • Linux: ~/.AndroidStudio[Preview]_X.Y_
    • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]_X.Y_
    • Windows: %USER%\.AndroidStudio[Preview]_X.Y_

    Mejoras de lint

    Cuando se invoca lint desde Gradle, funciona mucho más rápido. Se prevé un rendimiento cuatro veces superior de lint en los proyectos más grandes.

    Asistente para crear nuevo proyecto

    El asistente Create New Project tiene un nuevo aspecto y tiene actualizaciones que ayudan a simplificar la creación de proyectos de Android Studio nuevos.

    Para obtener más información, consulta Cómo crear un proyecto.

    Actualizaciones del generador de perfiles

    Android Studio 3.3 incluye actualizaciones para varios de los generadores de perfiles individuales.

    Mejor rendimiento

    Sobre la base de los comentarios de los usuarios, se mejoró ampliamente el rendimiento de procesamiento cuando se usan los generadores de perfiles. Sigue enviando comentarios, en especial, si observas problemas de rendimiento.

    Opciones de seguimiento de la asignación de memoria del generador de perfiles

    Para mejorar el rendimiento de la app durante la generación de perfiles, la herramienta Memory Profiler permite ver las asignaciones de memoria de forma predeterminada y periódicamente. Si lo deseas, puedes cambiar este comportamiento utilizando el menú desplegable Allocation Tracking cuando realices pruebas en dispositivos con Android 8.0 (API nivel 26) o versiones posteriores.

    En el menú desplegable Allocation Tracking, puedes elegir uno de los siguientes modos:

    • Full: captura todas las asignaciones de memoria de objetos. Ten en cuenta que, si tu app asigna una gran cantidad de objetos, es posible que se produzcan importantes problemas de rendimiento durante la generación de perfiles.
    • Sampled: captura una muestra periódica de las asignaciones de memoria de objetos. Este es el comportamiento predeterminado y tiene menos impacto en el rendimiento de la app durante la generación de perfiles. Puedes observar algunos problemas de rendimiento con apps que asignen muchos objetos en poco tiempo.
    • Off: desactiva la asignación de memoria. Si aún no está seleccionado, este modo se habilita automáticamente mientras se registra la actividad de una CPU y vuelve a la configuración anterior cuando finaliza el registro. Puedes cambiar este comportamiento en el diálogo de configuración de registro de la CPU.

      El seguimiento afecta a los objetos Java y a las referencias JNI.

    Cómo inspeccionar datos de procesamiento de marcos

    En el generador de perfiles de CPU, puedes inspeccionar cuánto tiempo le toma a tu app de Java procesar cada marco del procesamiento de IU y de RenderThread. Estos datos pueden resultar útiles para investigar los cuellos de botella que causan el bloqueo de la IU y una baja velocidad de marcos. Por ejemplo, cada marco que tarda más de los 16 ms necesarios para mantener una velocidad de fotogramas fluida se muestra en rojo.

    Para ver los datos de procesamiento de marcos, registra un seguimiento utilizando la configuración Trace System Calls. Después de registrar el seguimiento, busca información sobre cada marco debajo de la sección FRAMES, como se muestra a continuación.

    Para obtener más información sobre cómo investigar y solucionar problemas de velocidad de fotogramas, consulta Procesamiento lento.

    Fragmentos en el cronograma del evento

    El cronograma del evento ahora muestra cuándo se adjuntan y separan fragmentos. Además, cuando te desplazas sobre un fragmento, un cuadro con información sobre la herramienta permite ver el estado del fragmento.

    Cómo visualizar texto con formato en las cargas útiles de conexión del generador de perfiles de red

    Anteriormente, en el generador de perfiles de red, solo era posible ver texto sin formato de las cargas útiles de conexión. Ahora, Android Studio 3.3 formatea ciertos tipos de texto de forma predeterminada, como JSON, XML y HTML. En las pestañas Response y Request, haz clic en el vínculo View Parsed para mostrar el texto con formato y en View Source para mostrar el que no lo tiene.

    Para obtener más información, consulta Cómo inspeccionar el tráfico de red con el generador de perfiles de red.

    Descarga automática de componentes del SDK

    Cuando necesites un componente del SDK de las plataformas SDK, NDK o CMake para tu proyecto, Gradle ahora intenta descargar de forma automática los paquetes necesarios, siempre y cuando hayas aceptado previamente los acuerdos de licencia relacionados utilizando el administrador de SDK.

    Para obtener más información, consulta Cómo descargar automáticamente los paquetes que faltan con Gradle.

    Compatibilidad con Clang-Tidy

    Android Studio ahora es compatible con análisis de código estático mediante Clang-Tidy para proyectos que incluyan código nativo. Para habilitar la compatibilidad con Clang-Tidy, actualiza tu NDK a la versión r18 o una versión posterior.

    Luego, puedes habilitar o volver a habilitar las inspecciones abriendo el diálogo Settings o Preferences y navegando a Editor > Inspections > C/C++ > General > Clang-Tidy. Cuando se selecciona esta inspección en el cuadro de diálogo Settings o Preferences, también puedes ver la lista de verificaciones de Clang-Tidy que están habilitadas e inhabilitadas en la sección Option del panel de la derecha. Para habilitar verificaciones adicionales, agrégalas a la lista y haz clic en Apply.

    Para configurar Clang-Tidy con opciones adicionales, haz clic en Configure Clang-Tidy Checks Options y agrégalas al diálogo que aparezca.

    Cómo quitar opciones para la personalización de C++

    Se quitaron las siguientes opciones del diálogo Customize C++ Support:

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

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

    CMake versión 3.10.2

    La versión 3.10.2 de CMake ahora se incluye con el administrador de SDK. Ten en cuenta que Gradle todavía usa la versión 3.6.0 de forma predeterminada.

    Si quieres especificar una versión de CMake para que use Gradle, agrega lo siguiente al archivo build.gradle de tu módulo:

    android {
            ...
            externalNativeBuild {
                cmake {
                    ...
                    version "3.10.2"
                }
            }
        }
        

    Para obtener más información sobre cómo configurar CMake en build.gradle, consulta Cómo configurar Gradle manualmente.

    Nueva sintaxis "+" para especificar versiones mínimas de CMake

    Cuando se especifica una versión de CMake en el archivo build.gradle de tu módulo principal, ahora puedes agregar un "+" para que coincida con el comportamiento del comando cmake_minimum_required() de CMake.

    Los paquetes Android App Bundle ahora son compatibles con apps instantáneas

    Ahora, Android Studio permite crear paquetes Android App Bundle totalmente compatibles con Google Play Instant. En otras palabras, ahora puedes compilar e implementar apps instaladas y experiencias instantáneas desde un solo proyecto de Android Studio e incluirlas en un solo paquete Android App Bundle.

    Si estás creando un nuevo proyecto de Android Studio mediante el diálogo Create New Project, asegúrate de marcar la casilla junto a Configure your project > This project will support instant apps. Luego, Android Studio crea un nuevo proyecto de app como lo haría normalmente, pero incluye las siguientes propiedades en el manifiesto para agregar compatibilidad con apps instantáneas al módulo base de la app:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
            <dist:module dist:instant="true" />
            ...
        </manifest>
        

    Después, puedes crear un módulo de funciones dinámicas compatible con apps instantáneas seleccionando File > New > New Module en la barra de menú y eligiendo Instant Dynamic Feature Module en el diálogo Create New Module. Ten en cuenta que crear este módulo también habilita la compatibilidad con apps instantáneas del módulo base de la app.

    Para implementar tu app en un dispositivo local como experiencia instantánea, edita la configuración de ejecución y marca la casilla junto a General > Deploy as instant app.

    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 demorar mucho. Si tu proyecto usa múltiples variantes de compilación, ahora puedes optimizar las sincronizaciones limitándolas solo a la variante que hayas seleccionado.

    Para habilitar esta optimización, debes usar Android Studio 3.3 o una versión posterior con el complemento Gradle para Android 3.3.0 o una versión posterior. Cuando cumples con estos requisitos, el IDE te pide que habilites esta optimización en el momento de sincronizar el proyecto. La optimización también está habilitada de forma predeterminada en proyectos nuevos.

    Para habilitarla manualmente, haz clic en File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle en Mac) y selecciona la casilla de verificación Only sync the active variant.

    Para obtener más información, consulta Habilita la sincronización de proyectos con una sola variante.

    Cómo enviar 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 piensas. 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 Settings (Preferences en Mac), navega hasta la opción Appearance & Behavior > System Settings > Data Sharing y marca Send usage statistics to Google.

    3.2 (septiembre de 2018)

    Android Studio 3.2 es una actualización importante que incluye varias funciones y mejoras nuevas.

    3.2.1 (octubre de 2018)

    Esta actualización de Android Studio 3.2 incluye los cambios y las correcciones que figuran a continuación:

    • La versión de Kotlin del paquete ahora es 1.2.71.
    • La versión predeterminada de las herramientas de compilación ahora es 28.0.3.
    • En la biblioteca de navegación, se cambiaron los nombres de los tipos de argumentos de type a argType.
    • Se corrigieron los siguientes errores:
      • Cuando se usaba la biblioteca de vinculación de datos, los nombres de variables con guiones bajos causaban errores de compilación.
      • CMake causaba errores en IntelliSense y otras funciones de CLion.
      • Agregar un SliceProvider causaba errores de compilación en proyectos que no usaban bibliotecas androidx.*.
      • Algunas pruebas de unidades Kotlin no se ejecutaban.
      • Un problema con la vinculación de datos causaba una PsiInvalidElementAccessException.
      • Los elementos <merge> causaban fallas ocasionales en el editor de diseño.

    Problemas conocidos de la versión 3.2.0

    Nota: Estos problemas se resolvieron en Android Studio 3.2.1

    • Recomendamos encarecidamente no usar la versión 1.2.70 de Kotlin.

      La versión 1.2.61 corrige un error que puede hacer que Android Studio se bloquee, pero Kotlin 1.2.70 no incluye esta solución.

      Sin embargo, las versiones de Kotlin 1.2.71 y posteriores incluyen esta solución.

    • Aunque normalmente no necesitas especificar la versión de las herramientas de compilación, cuando usas el complemento de Gradle para Android 3.2.0 con renderscriptSupportModeEnabled establecido en true, debes incluir lo siguiente en el archivo build.gradle de cada módulo:

      android.buildToolsVersion "28.0.3"

    Novedades del Asistente

    Un nuevo asistente te informa los cambios más recientes en Android Studio.

    El asistente se abre cuando inicias Android Studio o después de una instalación reciente si detecta que hay información nueva para mostrar. También puedes abrir el asistente en Help > What's new in 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 sencilla 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 permita 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 File > Settings (Android Studio > Preferences en Mac), selecciona la categoría Experimental en el panel de la izquierda, marca el cuadro junto a la opción Enable Navigation Editor y reinicia Android Studio.

    Para obtener más información, consulta 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, consulta la descripción general 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 Refactor > Migrate to 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 convierte automáticamente esas dependencias de proyecto.

    El complemento de Gradle para 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 deseas comenzar a usar AndroidX a partir de este momento. 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 deseas tener compatibilidad con herramientas (desde el complemento de Gradle para 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 están configuradas en true cuando se usa el comando Migrate to AndroidX.

    Si quieres comenzar a usar las bibliotecas de AndroidX inmediatamente y no necesitas convertir bibliotecas de terceros existentes, puedes establecer la marca android.useAndroidX en true y la marca 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 entrega de apps de Google Play, llamado Dynamic Delivery, usa tu paquete de aplicación a fin de generar y entregar APK optimizados para la configuración del dispositivo de cada usuario. Por lo tanto, los usuarios solo descargan el código y los recursos necesarios para ejecutar tu app. Ya no es necesario compilar, firmar y administrar múltiples APK, y los usuarios obtienen 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 app. Mediante Dynamic Delivery, los usuarios pueden descargar e instalar las funciones dinámicas de tu app on demand.

    Para crear un paquete, selecciona Build > Build Bundle(s) / APK(s) > Build Bundle(s).

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

    Datos de muestra 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 de muestra. Cuando agregas una vista, aparece el botón debajo de ella en la ventana de diseño. Haz clic en este botón para configurar los atributos de vista de diseño. Puedes elegir entre una variedad de plantillas de datos de muestra y especificar la cantidad de elementos de muestra para completar la vista.

    Para intentar usar datos de muestra, 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 muestra.

    Secciones

    Las secciones proporcionan una nueva manera de incorporar partes de la funcionalidad de tu app a otras superficies de interfaz de usuario en Android. Por ejemplo, las secciones 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 prácticas recomendadas para construir secciones.

    Para comenzar, haz clic con el botón derecho en la carpeta de un proyecto y selecciona New > Other > Slice Provider.

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

    Kotlin 1.2.61

    Android Studio 3.2 incluye Kotlin 1.2.61, y el nuevo SDK de Android se integra mejor con Kotlin. Para obtener más información, consulta el blog para desarrolladores de Android.

    IntelliJ IDEA 2018.1.6

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

    Generadores de perfiles de Android

    Prueba las siguientes funciones nuevas de Android Profiler en Android Studio 3.2.

    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 reinicias el IDE.

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

    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 del sistema, como los bloqueos de IU.

    Cuando usas esta 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 C/C++ con la API nativa de seguimiento o del código Java 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 del 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 JNI heap 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 Allocation Call Stack para ver dónde se asignan y publican las referencias de JNI en tu código.

    Cómo importar, exportar e inspeccionar archivos de volcado de montón de la memoria

    Ahora, puedes importar, inspeccionar y exportar archivos .hprof de volcado de montón de la memoria creados con el generador de perfiles de memoria.

    Para importar el archivo .hprof, haz clic en Start new profiler session en el panel Sessions y selecciona Load from file. Luego, podrás inspeccionar los datos en el generador de perfiles de la memoria, como lo harías con cualquier otro volcado de montón.

    Si quieres guardar los datos de volcado de montón para revisarlos posteriormente, usa el botón Export Heap Dump a la derecha de la entrada Heap Dump en el panel Sessions. En el cuadro de diálogo Export As, guarda el archivo con la extensión de nombre de archivo .hprof.

    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 Run > Edit Configurations en el menú principal.
    2. En la pestaña Profiling de la configuración de ejecución deseada, marca la casilla junto a la opción Start recording a method trace on startup.
    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 (nivel de API 26) o una versión posterior seleccionando Run > Profile.

    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 un 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 de seguimiento del sistema.

    Para importar el seguimiento, haz clic en Start new profiler session en el panel Sessions y selecciona Load from file. Luego, podrás inspeccionar los datos en el generador de perfiles de la CPU como lo harías normalmente, con las siguientes 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 la grabación de la actividad de la CPU en el generador de perfiles de CPU mediante la instrumentación de tu app con la API de depuración. Después de implementar tu app en un dispositivo, el generador de perfiles comienza a registrar automáticamente la actividad de la CPU startMethodTracing(String tracePath) y el generador de perfiles deja de grabar cuando la app realiza llamadas stopMethodTracing(). Mientras se registra la actividad de la CPU que se activa con esta API, el generador de perfiles correspondiente muestra Debug API como la configuración de registro de CPU seleccionada.

    Generador de perfiles de energía

    En el generador de perfiles de energía, se visualiza el uso de energía estimado de tu app y los eventos del sistema que afectan dicho uso, como los bloqueos de activación, las alarmas y los trabajos.

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

    Haz clic en la fila Energy para maximizar la vista del generador de perfiles de energía. Coloca el cursor del mouse sobre una barra del cronograma para ver un desglose del uso de energía de la CPU, la red y los recursos de ubicación (GPS), además de eventos del sistema relevantes.

    Los eventos del sistema que afectan el uso de energía se indican en el cronograma System debajo del cronograma Energy. Los detalles de los eventos del sistema dentro del intervalo de tiempo especificado aparecen en el panel de eventos cuando seleccionas un intervalo de tiempo en el cronograma Energy.

    Selecciona un evento del sistema (por ejemplo, un bloqueo de activación) en el panel de eventos para ver la pila de llamadas y otros detalles. Para dirigirte al código responsable de un evento del sistema, haz doble clic en la entrada correspondiente de la pila de llamadas.

    Comprobación de lint

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

    Las nuevas comprobaciones de lint te ayudan a encontrar e identificar problemas comunes de código, que van desde advertencias sobre posibles problemas de usabilidad hasta errores de prioridad alta relativos a vulnerabilidades de seguridad potenciales.

    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 prácticas recomendadas que se describen en la Guía de interoperabilidad de Kotlin. Ejemplos de estas comprobaciones incluyen la búsqueda de la presencia de anotaciones de anulación, el uso de palabras clave fijas de Kotlin y la colocación de parámetros lambda.

    Para habilitar estas comprobaciones, haz clic en File > Settings (Android Studio > Preferences en Mac) para abrir el diálogo Settings, ve a la sección Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability y selecciona las reglas que quieras habilitar.

    Para habilitar estas verificaciones desde las compilaciones de líneas de comandos, agrega lo siguiente en 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.

    Nueva orientación de Gradle

    Usa la nueva tarea lintFix de Gradle para aplicar todas las correcciones seguras sugeridas mediante la comprobación de lint directamente en el código de origen. 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 Android 9 (nivel de API 28).

    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 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 Inspection Results. Esto 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 las 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 utilizarlas con proyectos que usen la vinculación de datos V2. Sin embargo, ten en cuenta que los proyectos que usan V1 no pueden consumir dependencias compiladas con V2.

    Desugaring en D8

    En Android Studio 3.1, integramos el paso de desugaring a la herramienta D8 como una función experimental, lo que reduce el tiempo de compilación general. En Android Studio 3.2, la función de desugaring con D8 está activada de 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 preliminar de R8 si incluyes lo siguiente en el archivo gradle.properties del proyecto:

    android.enableR8 = true
        

    Cambio en las ABI predeterminadas para varios APK

    Cuando compilas varios APK orientados a una ABI diferente, el complemento ya no genera APK para las siguientes ABI de forma predeterminada: mips, mips64 y armeabi.

    Para compilar un APK que se oriente a estas ABI, usa NDK r16b o una versión anterior y especifica las 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 Mac).
    • 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 Project 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 actualización, también puedes inspeccionar y ver 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 Project a la izquierda del IDE. Para ello, selecciona View > Tool Windows > Project en el menú principal y elige Android en el menú desplegable. En el directorio cpp, todos los encabezados que están dentro del alcance del proyecto 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 de 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 API de Android nivel 21 o posterior. Ahora, si ejecutas una implementación en un dispositivo o creas un APK para publicar, el complemento Gradle para Android 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, el origen 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'
              }
          } 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 Tools > Connection Assistant.

    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 Assistant.

    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 Snapshots de la ventana Extended controls del emulador.

    Para obtener más información, consulta Instantáneas.

    Para obtener información adicional sobre las novedades y los cambios en el emulador, consulta las notas de la versión del emulador.

    3.1 (marzo de 2018)

    Android Studio 3.1.0 es una actualización importante que incluye una variedad de funciones y mejoras nuevas.

    3.1.4 (agosto de 2018)

    Esta actualización de Android Studio 3.1 incluye los cambios y las correcciones que figuran a continuación:

    • La versión de Kotlin del paquete ahora es 1.2.50.
    • Los proyectos nuevos se crean con los kotlin-stdlib-jdk* artifacts, en lugar de los artefactos kotlin-stdlib-jre*, que ya no están disponibles.
    • Se mejoró el análisis de R8 de las reglas de ProGuard.
    • Se corrigieron los siguientes errores:
      • Cuando se intentaba ejecutar la clase principal de Kotlin, el proceso se interrumpía con el error "Error: Could not find or load main class..."
      • R8 ingresaba en un bucle infinito cuando se realizaban determinadas optimizaciones.
      • El uso del comando Rerun failed tests en la ventana Run mostraba de forma incorrecta el mensaje "No tests were found" en algunas ocasiones.
      • D8 no administraba correctamente instancias invoke-virtual, lo que provocaba una falla con el error VerifyError: invoke-super/virtual can't be used on private method
      • El compilador de vinculación de datos dependía de una versión anterior de com.android.tools:annotations. Ahora, usa anotaciones de herramientas del proyecto base cuando están disponibles.
      • Android Studio fallaba durante las transiciones de fragmentos cuando usaba generadores de perfiles.
      • El depurador fallaba cuando se depuraba un diseño con un cuadro de texto.
      • D8 no leía algunos archivos ZIP con caracteres especiales.

    3.1.3 (junio de 2018)

    Esta actualización de Android Studio 3.1 incluye correcciones para los siguientes errores:

    • Las fugas de memoria que hacían que Android Studio se volviera lento y no respondiera después de haber utilizado el editor de diseño. Esta actualización incluye soluciones para la mayoría de estos problemas. Tenemos previsto publicar otra actualización pronto para abordar las demás fugas de memoria.
    • Algunas apps creadas con D8 fallaban en algunas tablets Verizon Ellipsis.
    • La instalación de apps creadas con D8 fallaba con el error INSTALL_FAILED_DEXOPT en dispositivos con Android 5.0 o 5.1 (nivel de API 21 o 22).
    • Algunas apps que utilizaban la biblioteca OkHttp y se habían creado con D8 se bloqueaban en dispositivos con Android 4.4 (API nivel 19).
    • A veces, Android Studio no se iniciaba y ocurría una ProcessCanceledException durante la inicialización de la clase de com.intellij.psi.jsp.JspElementType.

    3.1.2 (abril de 2018)

    Esta actualización de Android Studio 3.1 incluye correcciones para los siguientes errores:

    • En algunos casos, Android Studio se bloqueaba indefinidamente al salir.
    • Las compilaciones configuradas con conjuntos de fuentes fallaban y aparecía el siguiente mensaje cuando estaba habilitado Instant Run:

      "The SourceSet name is not recognized by the Android Gradle Plugin."

    • Cuando Instant Run estaba habilitado, las compilaciones de nuevos proyectos de Kotlin fallaban cuando se activaban con el comando Run.
    • Durante la edición del archivo build.gradle, a veces ocurría un retraso notable entre el momento de escribir un carácter y el momento en que aparecía en la pantalla.
    • Ocurrían fallas de compilación durante la conversión a DEX en algunos proyectos con un gran número de módulos o dependencias externas, y aparecía el siguiente mensaje de error:

      "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

    • El cálculo de la lista de DEX principal de D8 no tenía en cuenta algunas invocaciones reflexivas.

    Esta actualización también incluye cambios que aceleran notablemente la ejecución de comprobaciones de lint desde Gradle en determinadas situaciones.

    3.1.1 (abril de 2018)

    Esta actualización de Android Studio 3.1 incluye correcciones para los siguientes errores:

    • En algunos casos, cuando un proyecto creado en Android Studio 3.0 se abría por primera vez en Android Studio 3.1, la tarea de creación compatible con Gradle se eliminaba del área Before launch en Run/Debug Configurations. Como resultado, los proyectos no se compilaban cuando se hacía clic en los botones Run o Debug, y esto, a su vez, provocaba fallas como la implementación de APK incorrectos y la aparición de errores cuando se usaba Instant Run.

      Para resolver este problema, Android Studio 3.1.1 agrega la tarea de creación compatible con Gradle a la configuración de ejecución de proyectos a los que les falte esta entrada. Esta modificación se produce después de la primera sincronización de Gradle cuando se carga el proyecto.

    • El depurador fallaba cuando se depuraba un diseño con un cuadro de texto si estaba habilitada la generación de perfiles avanzada.
    • Android Studio dejaba de funcionar después de hacer clic en Build Variants.
    • Los archivos AAR (archivo de Android) se extraían dos veces, una durante el proceso de sincronización de Gradle y otra durante el proceso de compilación de Gradle.
    • Faltaban partes de algunos elementos de diseño vectoriales importados de archivos SVG.
    • Se actualizó la advertencia que indica que dejará de estar disponible la configuración de dependencia compile para incluir pautas más específicas sobre las configuraciones de implementation y api. Para obtener información sobre cómo migrar sin usar la configuración compile, consulta la documentación de las nuevas configuraciones de dependencias.

    Codificación/IDE

    IntelliJ 2017.3.3

    Se actualizó el IDE principal de Android Studio con mejoras de IntelliJ IDEA mediante la actualización 2017.3.3. Las mejoras incluyen un análisis optimizado del proceso de control para colecciones y cadenas, mejor inferencia de nulidad, nuevas soluciones rápidas y mucho más.

    Para obtener más información, consulta las notas de la versión de JetBrains correspondientes a las versiones 2017.2 y 2017.3 de IntelliJ IDEA, así como las notas de la versión de JetBrains relativas a las actualizaciones sobre corrección de errores.

    Mejoras de edición de SQL con Room

    Cuando usas la biblioteca de base de datos de Room, puedes aprovechar varias mejoras para la edición de SQL:

    • La finalización del código dentro de una Query entiende las tablas (entidades), las columnas, los parámetros de búsqueda, los alias, las uniones y las subconsultas de SQL, y las cláusulas WITH.
    • El resaltado de sintaxis SQL ahora funciona.
    • Puedes hacer clic con el botón derecho en el nombre de una tabla en SQL y cambiarle el nombre, lo que también vuelve a escribir el código Java o Kotlin correspondiente (incluido, por ejemplo, el tipo de retorno de la consulta). El cambio de nombre también funciona en la dirección opuesta, por lo que cuando cambia el nombre de una clase o un campo Java vuelve a escribir el código SQL correspondiente.
    • Los usos de SQL se muestran cuando se utiliza Find usages (haz clic con el botón derecho y elige Find usages en el menú contextual).
    • Para ir a la declaración de una entidad SQL en el código Java o Kotlin, puedes mantener presionada la tecla Control (Comando en Mac) mientras haces clic en la entidad.

    Para obtener información sobre el uso de SQL con Room, consulta Cómo guardar contenido en una base de datos local con Room.

    Actualizaciones de la vinculación de datos

    Esta actualización incluye varias mejoras relativas a la vinculación de datos:

    • Ahora, puedes usar un objeto LiveData como un campo observable en expresiones de vinculación de datos. La clase ViewDataBinding ahora incluye un método setLifecycle() nuevo que se usa para observar objetos LiveData.

    • La clase ObservableField ahora puede aceptar otros objetos Observable en su constructor.

    • Puedes obtener una vista previa de un nuevo compilador incremental para las clases de vinculación de datos. Para obtener información sobre este nuevo compilador e instrucciones para habilitarlo, consulta Compilador de vinculación de datos V2.

      Los beneficios del nuevo compilador incluyen lo siguiente:

      • Las clases ViewBinding se generan mediante el complemento de Gradle para Android antes del compilador de Java.

      • Las bibliotecas mantienen las clases de vinculación que se generan cuando se compila la app, en lugar de regenerarlas cada vez. Esto puede mejorar mucho el rendimiento de proyectos con varios módulos.

    Compilador y Gradle

    D8 es el compilador de DEX predeterminado

    El compilador D8 ahora se usa de forma predeterminada para generar código de bytes DEX.

    Este nuevo compilador de DEX incluye varios beneficios, incluidos los siguientes:

    • Compilación a DEX más veloz
    • Menos uso de memoria
    • Generación de código mejorada (mejor asignación de registros y tablas de cadenas más inteligentes)
    • Mejor experiencia de depuración al recorrer el código

    No es necesario realizar ningún cambio en el código o el flujo de trabajo de desarrollo para obtener estos beneficios, a menos que hayas inhabilitado previamente el compilador D8 de forma manual. Si configuras android.enableD8 en false en gradle.properties, borra esa marca o configúrala en true:

    android.enableD8=true
        

    Para obtener más información, consulta Nuevo compilador de DEX.

    Desugaring incremental

    Para proyectos que usan características de lenguaje Java 8, la función de desugaring incremental está habilitada de forma predeterminada, lo que puede mejorar los tiempos de compilación.

    Esta función convierte la sintaxis en una forma que el compilador puede procesar de manera más eficiente.

    Puedes inhabilitar la función de desugaring incremental mediante la especificación de lo siguiente en el archivo gradle.properties de tu proyecto:

    android.enableIncrementalDesugaring=false
        

    Ventana de resultados simplificada

    Se reemplazó la consola Gradle con la ventana Build, que tiene las pestañas Sync y Build.

    Para obtener información sobre cómo usar la nueva ventana Build simplificada, consulta Cómo controlar el proceso de compilación.

    Actualizaciones por lotes y simultaneidad de indexación

    Los procesos de indexación de IDE y de sincronización de Gradle ahora son mucho más eficientes y reducen el tiempo perdido en numerosas operaciones de indexación redundantes.

    C++ y LLDB

    Realizamos muchas mejoras de calidad y rendimiento en las fases de codificación, sincronización, compilación y depuración del desarrollo de C++. Por ejemplo:

    • Si trabajas con proyectos de C++ grandes, deberías notar una mejora significativa en la reducción del tiempo dedicado a compilar símbolos. El tiempo de sincronización también se reduce enormemente en proyectos grandes.

    • Se mejoró el rendimiento de compilación y sincronización con CMake mediante una reutilización más intensa de los resultados almacenados en caché.

    • La incorporación de formateadores ("pretty printers") a más estructuras de datos C++ facilita la lectura de los resultados de LLDB.

    • LLDB ahora funciona solo con Android 4.1 (API nivel 16) y versiones posteriores.

    Kotlin

    Se actualizó Kotlin a la versión 1.2.30

    Android Studio 3.1 incluye la versión 1.2.30 de Kotlin.

    El código de Kotlin ahora se analiza con la comprobación de lint de la línea de comandos

    Ahora, cuando se ejecuta lint desde la línea de comandos, se analizan las clases de Kotlin.

    En cada proyecto en el que quieras ejecutar lint, el repositorio Maven de Google debe incluirse en el archivo build.gradle del nivel principal. El repositorio de Maven ya se incluye en proyectos creados en Android Studio 3.0 y versiones posteriores.

    Herramientas de rendimiento

    Cómo realizar muestras de procesos nativos de C++ con el generador de perfiles de CPU

    El generador de perfiles de CPU ahora incluye una configuración predeterminada para registrar seguimientos de muestra de los subprocesos nativos de tu app. Puedes usar esta configuración si implementas la app en un dispositivo con Android 8.0 (API nivel 26) o una versión posterior y seleccionas Sampled (Native) en el menú desplegable de configuraciones de registro del generador de perfiles de CPU. Después de eso, inspecciona y registra el seguimiento como lo harías normalmente.

    Puedes cambiar la configuración predeterminada (por ejemplo, el intervalo de muestreo) si creas una configuración de registro.

    Para volver a hacer el seguimiento de los subprocesos de Java, selecciona una configuración Sampled (Java) o una Instrumented (Java).

    Cómo filtrar registros de CPU, resultados de asignación de memoria y volcados de montón

    El generador de perfiles de CPU y el generador de perfiles de la memoria incluyen una función de búsqueda que permite filtrar los resultados del registro de un seguimiento de método, las asignaciones de memoria o el volcado de montón.

    Para buscar, haz clic en Filter  en la esquina superior derecha del panel, escribe la consulta y presiona Intro.

    Sugerencia: También puedes abrir el campo de búsqueda presionando Control + F (Comando + F en Mac).

    En la pestaña Flame Chart del generador de perfiles de CPU, las pilas de llamadas que incluyen métodos relacionados con la consulta de búsqueda se resaltan y se mueven a la izquierda del gráfico.

    Para obtener más información sobre cómo filtrar por método, clase o nombre de paquete, consulta Cómo registrar e inspeccionar seguimientos de métodos.

    Pestaña "Request" en el generador de perfiles de red

    El generador de perfiles de red ahora incluye una pestaña Request que proporciona detalles sobre las solicitudes de red durante el cronograma seleccionado. En versiones anteriores, el generador de perfiles de red solo proporcionaba información sobre las respuestas de la red.

    Vista de subprocesos en el generador de perfiles de red

    Después de seleccionar una parte del cronograma en el generador de perfiles de red, puedes elegir una de las siguientes pestañas para ver más detalles sobre la actividad de la red durante ese período:

    • Connection View: proporciona la misma información que las versiones anteriores de Android Studio, es decir, enumera los archivos que se enviaron o recibieron durante la parte seleccionada del cronograma en todos los subprocesos de la CPU de la app. En cada solicitud, puedes inspeccionar el tamaño, el tipo, el estado y la duración de la transmisión.
    • Thread View: muestra la actividad de red de cada uno de los subprocesos de CPU de la app. Esta vista te permite inspeccionar qué subprocesos de la app son responsables de cada solicitud de red.

    Inspector de diseño

    El Inspector de diseño adquirió nuevas funciones, incluidas algunas que antes proporcionaban las herramientas "Hierarchy Viewer" y "Pixel Perfect", que dejaron de estar disponibles:

    • Botones de zoom y combinaciones de teclas para navegar por los diseños e inspeccionarlos
    • Superposición de la cuadrícula de referencia
    • Capacidad para cargar una imagen de referencia y usarla como una superposición (útil para comparar tu diseño con un modelo de IU)
    • La opción Render subtree preview para aislar una vista en un diseño complejo

    Editor de diseño

    Se implementaron muchas mejoras en la opción Palette del editor de diseño:

    • Reorganización de categorías de vistas y diseños.
    • Nueva categoría Common de vistas y diseños que puedes agregar mediante un comando Favorite.
    • Mejoras en la búsqueda de vistas y diseños.
    • Nuevos comandos para abrir documentación de un elemento específico de una vista o un diseño.

    Puedes usar el nuevo comando Convert view en Component tree o en el editor de diseño para convertir una vista o un diseño en otro tipo de vista o diseño.

    Ahora, puedes crear fácilmente restricciones para los elementos cerca de la vista seleccionada usando el nuevo botón Create a connection  en el inspector de vistas, situado en la parte superior de la ventana Attributes.

    Instant Run y Run

    Se logró un comportamiento más uniforme de la opción Use same selection for future launches en el diálogo Select deployment target. Si se habilita la opción Use same selection, el diálogo Select deployment target se abrirá solamente la primera vez que uses el comando Run hasta que el dispositivo seleccionado ya no esté conectado.

    Cuando se dirige a un dispositivo con Android 8.0 (API nivel 26) o una versión posterior, Instant Run puede implementar cambios en los recursos sin reiniciar la aplicación. Esto es posible porque un APK dividido contiene los recursos.

    Emulador

    Para obtener información sobre las novedades y los cambios en el emulador desde Android Studio 3.0, consulta las notas de la versión de Android Emulator desde la versión 27.0.2 hasta la versión 27.1.12.

    Estas son algunas de las mejoras más importantes:

    • Instantáneas de inicio rápido para guardar el estado del emulador y lograr inicios más rápidos, con la capacidad de usar el comando Save now para guardar un estado de inicio personalizado.
    • Pantalla del emulador sin ventanas.
    • Imágenes del sistema para Android 8.0 (nivel de API 26), Android 8.1 (nivel de API 27) y la vista previa de Android P para desarrolladores.

    Mejoras en la interfaz y la experiencia del usuario

    Información sobre herramientas, combinaciones de teclas y mensajes útiles adicionales

    Agregamos información sobre herramientas y mensajes superpuestos útiles en muchos lugares de Android Studio.

    Para ver combinaciones de teclas de muchos de los comandos, mantén el puntero del mouse sobre un botón hasta que aparezca la información sobre la herramienta.

    Se eliminó el menú Tools > Android

    Se eliminó el menú Tools > Android. Los comandos que estaban en este menú se movieron.

    • Muchos comandos ahora están en el menú Tools.
    • El comando Sync project with gradle files se movió al menú File.
    • Se eliminó el comando Device Monitor, tal como se describe a continuación.

    El monitor de dispositivos está disponible en la línea de comandos

    En Android Studio 3.1, el monitor de dispositivos cumple una función menor de la que tenía anteriormente. En muchos casos, la funcionalidad disponible a través del monitor de dispositivos ahora se proporciona con herramientas nuevas y mejoradas.

    Consulta la documentación del monitor de dispositivos para obtener instrucciones sobre cómo invocar dicho monitor desde la línea de comandos y conocer detalles sobre las herramientas disponibles mediante el monitor de dispositivos.

    3.0 (octubre de 2017)

    Android Studio 3.0.0 es una actualización importante que incluye una variedad de funciones y mejoras nuevas.

    Usuarios de macOS: Si actualizan una versión anterior de Android Studio, es posible que aparezca un diálogo de error de actualización con el mensaje "Some conflicts were found in the installation area". Ignoren el error y hagan clic en Cancel para reanudar la instalación.

    3.0.1 (noviembre de 2017)

    Esta es una actualización menor de Android Studio 3.0 que incluye correcciones de errores generales y mejoras de rendimiento.

    Complemento de Android para Gradle 3.0.0

    El nuevo complemento de Android para Gradle incluye una variedad de mejoras y funciones nuevas, pero su objetivo principal es optimizar el rendimiento de compilación de los proyectos que tienen muchos módulos. Cuando uses el complemento nuevo con este tipo de proyectos, notarás lo siguiente:

    • Menor tiempo de configuración de compilación debido a la resolución de dependencias retrasadas.
    • Resolución de dependencias con detección de variantes solo para los proyectos y las variantes que compilas.
    • Menor tiempo de compilación incremental cuando se aplican cambios simples en el código o los recursos.

    Esta actualización también incluye lo siguiente:

    Para obtener más información sobre los cambios, consulta las notas de la versión del complemento de Android para Gradle.

    Si tienes todo listo para realizar la actualización al nuevo complemento, consulta Cómo realizar la migración al complemento de Android para Gradle 3.0.0.

    Compatibilidad con Kotlin

    Como se anunció en Google I/O 2017, el lenguaje de programación de Kotlin ahora es compatible oficialmente con Android. Entonces, con esta actualización, Android Studio incluye compatibilidad con el lenguaje Kotlin para el desarrollo de Android.

    Puedes incorporar Kotlin en tu proyecto si conviertes un archivo Java a Kotlin (haz clic en Code > Convert Java File to Kotlin File) o si creas un proyecto nuevo compatible con Kotlin mediante el asistente de proyecto nuevo.

    Para comenzar, aprende a agregar Kotlin a tu proyecto.

    Compatibilidad con funciones del lenguaje Java 8

    Ahora, puedes aprovechar ciertas funciones del lenguaje Java 8 y usar bibliotecas compiladas con Java 8. Ya no se requiere Jack y, primero, debes inhabilitarlo para poder usar la compatibilidad mejorada con Java 8 que está integrada en la cadena de herramientas predeterminadas.

    Para actualizar tu proyecto a fin de que admita la nueva cadena de herramientas del lenguaje Java 8, actualiza Source Compatibility y Target Compatibility a 1.8 en el diálogo Project Structure (haz clic en File > Project Structure). Para obtener más información, consulta cómo usar las funciones del lenguaje Java 8.

    Android Profiler

    El nuevo Android Profiler reemplaza la herramienta Android Monitor y proporciona un nuevo conjunto de herramientas para medir el uso de la CPU, la memoria y la red de tu app en tiempo real. Puedes llevar a cabo un seguimiento de métodos basado en muestras para cronometrar la ejecución de tu código, capturar volcados de montón, ver asignaciones de memoria e inspeccionar la información de archivos transmitidos por red.

    Para abrir, haz clic en View > Tool Windows > Android Profiler (o haz clic en Android Profiler  en la barra de herramientas).

    El cronograma del evento en la parte superior de la ventana muestra eventos táctiles, pulsaciones de teclas y cambios de actividad para que tengas más contexto que te permita comprender otros eventos de rendimiento en el cronograma.

    Desde el cronograma de resumen de Android Profiler, haz clic en los cronogramas CPU, MEMORY o NETWORK para acceder a las herramientas correspondientes del generador de perfiles.

    CPU Profiler

    CPU Profiler permite analizar el uso de subprocesos de CPU de tu app activando un registro de CPU instrumentado o de muestra. Después, es posible solucionar problemas de rendimiento de la CPU utilizando una variedad de vistas y filtros de datos.

    Para obtener más información, consulta la guía de CPU Profiler.

    Memory Profiler

    Memory Profiler te permite identificar fugas y pérdidas de memoria que pueden provocar inestabilidades, fallas e incluso bloqueos de apps. Muestra un gráfico en tiempo real del uso de memoria de tu app y te permite capturar un volcado de montón, forzar la recolección de elementos no utilizados y realizar el seguimiento de asignaciones de memoria.

    Para obtener más información, consulta la guía de Memory Profiler.

    Network Profiler

    Network Profiler te permite controlar la actividad de red de tu app, inspeccionar la carga útil de cada una de tus solicitudes de red y establecer vínculos de regreso a las líneas de código de origen que generen dichas solicitudes.

    Para obtener más información, consulta la guía de Network Profiler.

    Generación de perfiles y depuración de APK

    Android Studio ahora permite generar perfiles de cualquier APK y depurarlo sin tener que compilarlo desde un proyecto de Android Studio, siempre y cuando el APK esté compilado para habilitar la depuración y tengas acceso a los símbolos de depuración y los archivos de origen.

    Para comenzar, haz clic en Profile or debug APK en la pantalla de bienvenida de Android Studio. O bien, si ya tienes un proyecto abierto, haz clic en File > Profile or debug APK en la barra de menú. Con esto, se desempacan los archivos del APK, pero no se descompila el código. Por lo tanto, para agregar correctamente interrupciones y ver seguimientos de pila, debes adjuntar archivos de origen de Java y símbolos de depuración nativos.

    Para obtener más información, consulta Cómo generar perfiles y depurar APK previamente compilados.

    Explorador de archivos de dispositivos

    El nuevo explorador de archivos del dispositivo te permite inspeccionar el sistema de archivos del dispositivo conectado y transferir archivos entre dicho dispositivo y la computadora. Esto reemplaza la herramienta de sistema de archivos disponible en DDMS.

    Para abrir, haz clic en View > Tool Windows > Device File Explorer.

    Para obtener más información, consulta la guía del explorador de archivos del dispositivo.

    Compatibilidad con apps instantáneas

    La nueva compatibilidad con Apps instantáneas Android te permite crear apps instantáneas en tu proyecto mediante dos nuevos tipos de módulos: los módulos "Instant App" y los módulos "Features" (se requiere que instales el SDK de desarrollo de apps instantáneas).

    Android Studio también incluye una nueva acción de refactorización modular para ayudarte a agregar compatibilidad con apps instantáneas en un proyecto existente. Por ejemplo, si deseas refactorizar tu proyecto para colocar algunas clases en un módulo de funciones de una app instantánea, selecciona las clases en la ventana Project y haz clic en Refactor > Modularize. En el cuadro de diálogo que aparece, selecciona el módulo donde deben ir las clases y haz clic en OK.

    Cuando todo esté listo para probar tu app instantánea, podrás compilar y ejecutar tu módulo de Apps instantáneas en un dispositivo conectado especificando la URL de la app instantánea dentro de las opciones de inicio de configuración de ejecución: selecciona Run > Edit Configurations, elige el módulo de Apps instantáneas y luego configura la URL en Launch Options.

    Para obtener más información, consulta Apps instantáneas Android.

    Módulos de Android Things

    Las nuevas plantillas de Android Things en los asistentes "New Project" y "New Module" te ayudan a empezar a desarrollar para dispositivos IOT con Android.

    Para obtener más información, consulta cómo crear un proyecto de Android Things.

    Asistente de íconos adaptables

    Image Asset Studio ahora es compatible con interfaces dibujables en vector y permite crear íconos de selector adaptables para Android 8.0 e íconos tradicionales (íconos "heredados") en dispositivos más antiguos.

    Para comenzar, haz clic con el botón derecho en la carpeta res de tu proyecto y selecciona New > Image Asset. En la ventana Asset Studio, selecciona el tipo de ícono Launcher Icons (Adaptive and Legacy).

    Para obtener más información, consulta la sección sobre íconos adaptables.

    Compatibilidad con recursos de fuentes

    Para admitir los nuevos recursos de fuentes en Android 8.0, Android Studio incluye un selector de recursos de fuentes que ayuda a agrupar las fuentes en tu app o configurar tu proyecto para descargar las fuentes en el dispositivo (cuando estén disponibles). El editor de diseño también permite obtener una vista previa de las fuentes de tu diseño.

    Para probar las fuentes descargables, asegúrate de que tu dispositivo o emulador cuente con los Servicios de Google Play 11.2.63 o versiones posteriores. Para obtener más información, consulta la sección sobre fuentes descargables.

    Asistente de Firebase App Indexing

    Firebase Assistant se actualizó con un nuevo tutorial para probar la indexación de aplicaciones. Para abrir el asistente, selecciona Tools > Firebase. Luego, selecciona App Indexing > Test App Indexing.

    El tutorial incluye nuevos botones para probar la indexación de contenido público y personal:

    • En el paso 2, haz clic en Preview search results para verificar que tus URL aparezcan en los resultados de la Búsqueda de Google.
    • En el paso 3, haz clic en Check for errors para verificar que los objetos indexables de tu app se hayan agregado al índice de contenido personal.

    El Asistente de Android App Links se actualizó con las siguientes capacidades nuevas:

    • Agregar pruebas de URL para cada asignación de URL a fin de asegurarte de que los filtros de intent manejen URL reales.

      También puedes definir estas pruebas de URL de forma manual mediante la etiqueta <tools:validation> que se describe a continuación.

    • Crear un archivo de Digital Asset Links con la entrada del objeto apropiada para admitir Google Smart Lock y agregar la etiqueta asset_statements <meta-data> correspondiente a tu archivo de manifiesto.

    Validador de URL de filtros de intent

    Android Studio ahora admite una etiqueta especial en el archivo de manifiesto que te permite probar URL de filtro de intent. Estas son las mismas etiquetas que App Links Assistant puede crear por ti.

    Para declarar una URL de prueba de un filtro de intent, agrega un elemento <tools:validation> junto con el elemento <intent-filter> correspondiente. Por ejemplo:

    <activity ...>
            <intent-filter>
                ...
            </intent-filter>
            <tools:validation testUrl="https://www.example.com/recipe/1138" />
        </activity>
        

    Asegúrate de incluir también xmlns:tools="http://schemas.android.com/tools" en la etiqueta <manifest>.

    Si alguna de las URL de prueba no supera la definición del filtro de intent, aparecerá un error de lint. Este error no evita que compiles variantes de depuración, pero sí interrumpe tus compilaciones de versiones.

    Editor de diseño

    El editor de diseño se actualizó con una serie de mejoras, incluidas las siguientes:

    • Nuevo diseño de barra de herramientas e íconos.
    • Diseño actualizado en el árbol de componentes.
    • Inserciones mejoradas en la vista de arrastrar y soltar.
    • Nuevo panel de errores debajo del editor, que muestra todos los problemas y las sugerencias para solucionarlos (si las hay).
    • Diversas mejoras en la IU para compilar con ConstraintLayout, entre ellas:
      • Nueva compatibilidad con la creación de barreras.
      • Nueva compatibilidad con la creación de grupos: en la barra de herramientas, selecciona Guidelines > Add Group (requiere ConstraintLayout 1.1.0 beta 2 o versiones posteriores).
      • Nueva interfaz de usuario para crear cadenas: selecciona varias vistas y, después, haz clic con el botón derecho y elige Chain.

    Inspector de diseño

    El Inspector de diseño incluye mejoras para facilitar la depuración de problemas con los diseños de tu app, como la agrupación de propiedades en categorías comunes y una nueva funcionalidad de búsqueda en los paneles View Tree y Properties.

    Analizador de APK

    Ahora, puedes usar el analizador de APK desde la línea de comandos con la herramienta apkanalyzer.

    El analizador de APK también se actualizó con las siguientes mejoras:

    • Para los APK compilados con ProGuard, puedes cargar archivos de asignación de ProGuard que agreguen capacidades al visor de DEX, que incluyen:
      • Nodos en negrita para indicar que no se deben eliminar los nodos cuando se reduce el código.
      • Un botón para mostrar los nodos que se eliminaron durante el proceso de reducción.
      • Un botón que restaura los nombres originales de los nodos en la vista de árbol que ProGuard ofuscó.
    • El visor de DEX ahora muestra el impacto de tamaño estimado de cada paquete, clase y método.
    • Nuevas opciones de filtrado en la parte superior para mostrar y ocultar campos y métodos.
    • En la vista de árbol, los nodos que son referencias no definidas en el archivo DEX aparecen en cursiva.

    Para obtener más información, consulta Cómo analizar tu compilación con el Analizador de APK.

    Vista previa de D8, el compilador de DEX

    Android Studio 3.0 incluye un nuevo compilador de DEX opcional llamado D8. Con el tiempo, reemplazará al compilador DX, pero puedes elegir usar el nuevo compilador D8 hoy mismo.

    La compilación a DEX afecta directamente el tiempo de compilación de tu app, el tamaño del archivo .dex y el rendimiento del tiempo de ejecución. Además, cuando se compara el nuevo compilador D8 con el compilador DX actual, D8 compila más rápido, genera archivos .dex más pequeños y ofrece un rendimiento igual o mejor del tiempo de ejecución de la app.

    Para probarlo, establece lo siguiente en el archivo gradle.properties de tu proyecto:

    android.enableD8=true
        

    Para obtener más información, consulta la entrada del blog sobre el compilador D8.

    El repositorio de Maven de Google

    Android Studio ahora usa el repositorio Maven de Google de forma predeterminada en lugar de depender del administrador de SDK de Android para obtener actualizaciones de la Biblioteca de compatibilidad de Android, los Servicios de Google Play, Firebase y otras dependencias. Esto hace que sea más fácil mantener tus bibliotecas actualizadas, especialmente cuando se utiliza un sistema de integración continua.

    Todos los proyectos nuevos ahora incluyen el repositorio de Maven para Google forma predeterminada. Para actualizar un proyecto existente, agrega google() al bloque repositories del archivo build.gradle de nivel superior:

    allprojects {
            repositories {
                google()
            }
        }
        

    Obtén más información sobre el repositorio de Maven para Google aquí.

    Otros cambios

    • La depuración nativa con Android Studio ya no es compatible con Windows de 32 bits. Elegimos centrarnos en otras plataformas porque muy pocos desarrolladores están utilizando esta. Si usas Windows de 32 bits y tienes previsto depurar código nativo, debes seguir usando Android Studio 2.3.
    • Se actualizó el IDE base a IntelliJ 2017.1.2, que agrega una serie de funciones nuevas de 2016.3 y 2017.1, como la refactorización del lenguaje Java 8, las sugerencias de parámetros, el resaltado semántico, las interrupciones que se pueden arrastrar, los resultados instantáneos en la búsqueda y mucho más.
    • Se agregaron muchas comprobaciones de lint nuevas.
    • Consulta también las últimas actualizaciones de Android Emulator.

    2.3 (marzo de 2017)

    Android Studio 2.3.0 es, principalmente, una corrección de errores y una actualización para ofrecer estabilidad, pero también incluye una serie de funciones nuevas.

    2.3.3 (junio de 2017)

    Esta es una actualización menor para agregar compatibilidad con Android O (nivel de API 26).

    2.3.2 (abril de 2017)

    Esta es una actualización menor de Android Studio 2.3 para implementar los siguientes cambios:

    • AVD Manager se actualizó para ser compatible con Google Play en las imágenes del sistema.
    • Se corrigieron errores de las compilaciones de NDK cuando se usa R14+ del NDK.

    Consulta también las actualizaciones correspondientes de Android Emulator 26.0.3.

    2.3.1 (abril de 2017)

    Esta es una actualización menor de Android Studio 2.3 que soluciona un problema en el que algunos dispositivos Android físicos no funcionaban correctamente con Instant Run (consulta el problema 235879).

    Nuevo

    • Ahora, Android Studio puede convertir archivos PNG, BMP, JPG y archivos GIF estáticos al formato WebP. WebP es un formato de archivo de imagen que proporciona compresión con pérdida de información (como JPEG) y transparencia (como PNG), pero puede ofrecer mejor compresión que estos otros dos formatos. Para obtener más información, consulta Convierte imágenes a WebP en Android Studio.
    • El nuevo App Links Assistant ofrece un asistente paso a paso que simplifica el proceso de agregar vínculos de apps para Android a tu app. Los Android App Links son URL de HTTP que acercan a los usuarios a contenido específico en tu app para Android.
    • El editor de diseño ahora incluye compatibilidad con dos nuevas funciones de ConstraintLayout:
      • Definir un tamaño de vista según una relación de aspecto.
      • Crear grupos lineales empaquetados, extendidos y ponderados con cadenas de restricción.
      Para obtener más información, consulta Cómo compilar una IU receptiva con ConstraintLayout.
    • El editor de diseño ahora también permite crear una lista de atributos favoritos para que no tengas que hacer clic en View all attributes si quieres acceder a los atributos que más usas.
    • Cuando se agrega un ícono de material con el diálogo de importación de vectores (File > New > Vector Asset), ahora puedes filtrar la lista de íconos disponibles por categoría o por nombre de ícono. Para obtener más información, consulta Agrega un ícono de material.
    • Anotaciones nuevas y actualizadas. La nueva anotación @RestrictTo para métodos, clases y paquetes te permite restringir una API. La anotación @VisibleForTesting actualizada ahora tiene un argumento otherwise opcional que permite designar cuál debería ser la visibilidad de un método si no fuera necesario hacerlo visible para la prueba. Lint usa la opción otherwise para imponer la visibilidad prevista del método.
    • La nueva compatibilidad con el modelo de referencia de lint permite usar una instantánea del conjunto actual de advertencias de tu proyecto como modelo de referencia para futuras ejecuciones de inspección, de modo que solo se informen problemas nuevos. La instantánea de referencia te permite comenzar a usar lint para detener la compilación de nuevos problemas sin tener que regresar y abordar primero todos los problemas existentes.
    • Nuevas comprobaciones de lint, incluidas las siguientes:
      • Comprobaciones obsoletas de SDK_INT: Android Studio quita el código obsoleto que comprueba las versiones de SDK.
      • Validación de Object Animator: Lint analiza el código para asegurarse de que tus llamadas a ObjectAnimator hagan referencia a métodos válidos con las firmas correctas y comprueba que esos métodos se anoten con @Keep para evitar que ProGuard les cambie el nombre o los borre durante la compilación de las versiones.
      • Copia innecesaria del decorador de elementos: Las versiones anteriores de la biblioteca RecyclerView no incluían una clase de decorador divisor, pero se proporcionaba una como muestra en las demostraciones de compatibilidad. Las versiones recientes de la biblioteca sí tienen una clase de decorador divisor. Lint busca la muestra anterior y sugiere reemplazarla por la nueva.
      • Fuga de WifiManager: En versiones anteriores a Android 7.0 (API nivel 24), inicializar WifiManager con Context.getSystemService() puede causar una pérdida de memoria si el contexto no es el de la app. Lint busca estas inicializaciones y, si no puede determinar que el contexto es el de la app, sugiere usar Context.getApplicationContext() para obtener el contexto adecuado de la inicialización.
      • Prefijo de recursos mejorado: La comprobación de lint resourcePrefix existente tenía muchas limitaciones. Ahora, es posible configurar un proyecto con un prefijo (como android { resourcePrefix 'my_lib' }) y lint se asegura de que todos los recursos lo usen. Puedes usar variaciones del nombre para diferentes estilos y temas. Por ejemplo, para el prefijo my_lib, puedes tener temas llamados MyLibTheme, myLibAttr, my_lib_layout, etc.
      • Cambiar a WebP: Esta comprobación identifica imágenes de tu proyecto que se puedan convertir al formato WebP en función de la configuración minSdkVersion del proyecto. Una corrección rápida asociada puede convertir automáticamente las imágenes o puedes convertir imágenes a WebP de forma manual.
      • WebP inseguro: Si tu proyecto ya incluye imágenes WebP, esta comprobación analiza el proyecto para asegurarse de que la configuración minSdkVersion sea lo suficientemente alta como para admitir las imágenes incluidas. Para obtener más información sobre la compatibilidad con WebP en Android y Android Studio, consulta ¿Qué navegadores tienen compatibilidad nativa con WebP? y Crea imágenes WebP con Android Studio.

    Cambios

    • Botón independiente para aplicar los cambios realizados con Instant Run: después de implementar tu app, ahora puedes hacer clic en Apply Changes  para aplicar rápidamente cambios incrementales en tu app en ejecución usando Instant Run. Los botones Run  y Debug  siempre están disponibles para cuando quieras aplicar los cambios de manera confiable y forzar el reinicio de la app.
      • Instant Run solo es compatible cuando se implementa la app en un dispositivo de destino con Android 5.0 (API nivel 21) o versiones posteriores.
      • Instant Run ya no está inhabilitado para proyectos que se vinculen a proyectos nativos externos mediante CMake o ndk-build. Sin embargo, solo puedes usar Instant Run para aplicar cambios incrementales en tu código Java, no en el código nativo.
      • Los intercambios indirectos (que puedes forzar en una app en ejecución si haces clic en Run ) ahora son más confiables. Forzar un intercambio indirecto también corrige el problema que no permitía la actualización de los cambios en las IU de las notificaciones y del widget en el dispositivo de destino.
      • Incluye optimizaciones que aceleran mucho el inicio de la app. Estas optimizaciones pueden afectar la generación de perfiles, por lo que es necesario inhabilitar Instant Run temporalmente cada vez que generes un perfil de tu app.
    • Los botones AVD Manager  y SDK Manager  ahora se incluyen en la barra de navegación ajustada y en la barra de herramientas completa. Para usar la barra de navegación ajustada, haz clic en View para abrir el menú de vista y asegúrate de que esté seleccionada la opción Navigation Bar y de que Toolbar no esté seleccionada.

    • El depurador "Hybrid" cambió su nombre a depurador "Dual".
    • En el diálogo Run/Debug Configurations, en la opción "Defaults" del panel izquierdo, se cambiaron los siguientes nombres de configuración de ejecución sin afectar el comportamiento:
      • El nombre "JUnit" se cambió a "Android JUnit". Si tienes un proyecto que usa configuraciones de ejecución JUnit, esas configuraciones se transforman en configuraciones de ejecución Android JUnit la primera vez que abre el proyecto con Android Studio. Aparecerá un diálogo para informarte sobre este cambio.
      • El nombre "Android Tests" se cambió a "Android Instrumented Tests".
    • El depurador de GPU se eliminó de Android Studio a partir de la versión 2.3. Ahora está disponible una versión independiente de código abierto de la herramienta en GitHub.
    • La opción "Run/Debug" ya no está disponible cuando haces clic con el botón derecho en una secuencia de comandos *.gradle build.
    • Todas las plantillas ahora usan ConstraintLayout como diseño predeterminado.
    • Se cambió el diseño de la paleta de widgets en el editor de diseño.

    Esta actualización también incluye una serie de correcciones de errores. Consulta todas las correcciones de errores de la versión 2.3.0.

    Problema conocido: Algunos fabricantes de dispositivos impiden que las apps se inicien automáticamente después de instalarlas en el dispositivo. Cuando implementas tu app en un dispositivo físico con Android Studio 2.3, esta restricción interrumpe el comportamiento previsto de Instant Run y provoca el siguiente error: Error: Not found; no service started. Para evitar este problema, usa el emulador o habilita el inicio automático de tu app en la configuración del dispositivo. El procedimiento para hacerlo es diferente en cada dispositivo, así que debes consultar las instrucciones del fabricante. Por ejemplo, algunos dispositivos Asus afectados deben incluir apps en la lista blanca mediante el administrador de inicio automático. Para obtener más información sobre este problema, consulta el problema 235879.

    2.2 (septiembre de 2016)

    2.2.3 (diciembre de 2016)

    Esta es una actualización menor de Android Studio 2.2. Incluye correcciones de errores centradas en Gradle, el IDE principal y lint.

    Cambios de compilación destacados:

    • Reversión de ProGuard. Debido a un problema de corrección descubierto en ProGuard 5.3.1, regresamos a ProGuard 5.2.1. Trabajamos con el equipo de ProGuard para obtener una solución rápidamente y esperamos avanzar a ProGuard 5.3.2 en Android Studio 2.3 y Canary 3.
    • La corrección de errores de aaptOptions IgnoreAssetsPattern no funciona correctamente (problema 224167)
    • Corrección de errores en la descarga automática de Gradle relativa a la biblioteca de diseño de restricciones (problema 212128).
    • Corrección de errores de un problema del compilador JDK8/Kotlin y de dx (problema 227729).

    Consulta todas las correcciones de errores de la versión 2.2.3.

    2.2.2 (octubre de 2016)

    Esta es una actualización menor de Android Studio 2.2. Incluye una serie de pequeños cambios y correcciones de errores, entre ellos:

    • Cuando se informan problemas de Instant Run mediante el IDE, el informe ahora incluye también el resultado de logcat de eventos InstantRun. Para ayudarnos a mejorar Instant Run, habilita el registro adicional e informa cualquier problema.
    • Una serie de pequeñas correcciones de errores de Gradle.
    • Una solución para problemas con la generación de varios APK.

    2.2.1 (octubre de 2016)

    Esta es una actualización menor de Android Studio 2.2. Incluye varias correcciones de errores y una nueva función para habilitar el registro adicional a fin de ayudarnos a solucionar problemas de Instant Run. Para ayudarnos a mejorar Instant Run, habilita el registro adicional e informa cualquier problema.

    Nuevo

    • Nuevo editor de diseño con herramientas personalizadas para admitir ConstraintLayout.
    • Nuevo Inspector de diseño que permite examinar instantáneas de la jerarquía de tu diseño mientras la app se ejecuta en el emulador o en un dispositivo.
    • Nueva ventana Assistant para ayudarte a integrar los servicios de Firebase en tu app.
    • Nueva herramienta APK Analyzer para que puedas inspeccionar el contenido de tu app empaquetada.
    • Nueva herramienta Espresso Test Recorder (actualmente en versión beta) para ayudarte a crear pruebas de IU registrando tus propias interacciones.
    • Nueva caché de compilación (actualmente en versión experimental) para acelerar el rendimiento de la compilación.
    • Nueva integración de compilación de C/C++ con CMake y ndk-build. Compila y crea código nativo nuevo o existente en bibliotecas empaquetadas en tu APK, y depúralo usando lldb. En el caso de proyectos nuevos, Android Studio usa CMake de manera predeterminada, pero también admite ndk-build en proyectos existentes. Si quieres aprender a incluir código nativo en tu app para Android, consulta Cómo agregar código C y C++ a tu proyecto. Si quieres aprender a depurar código nativo con lldb, consulta Cómo depurar código nativo.
    • Nuevo navegador de muestras que permite buscar fácilmente el código de muestra de Google Android desde Android Studio para iniciar el desarrollo de la app.
    • Nuevo visor de manifiestos combinados que ayuda a diagnosticar cómo se fusiona un archivo de manifiesto con las dependencias de la app en las variantes de compilación del proyecto.
    • La ventana Run ahora incluye mensajes de registro para la app que se ejecuta actualmente. Ten en cuenta que puedes configurar la visualización del monitor de logcat, pero no la ventana Run.
    • Nuevas funciones de Android Emulator:
      • Se agregaron nuevos sensores virtuales y controles Cellular > Signal Strength.
      • Se agregó una opción LTE al control Cellular > Network type.
      • Se agregaron deslizadores verticales simulados para desplazarse por los menús verticales con la rueda del mouse.
    • Nuevas funciones de configuración de ejecución y depuración:
      • La pestaña Debugger de las plantillas de apps para Android y pruebas de Android ahora contienen varias opciones nuevas para la depuración con LLDB.
      • La pestaña Profiling de las plantillas de apps para Android y pruebas de Android ahora contienen una opción Capture GPU Commands para habilitar el seguimiento de GPU. Puedes mostrar registros de GPU en el depurador de GPU (función actualmente en versión beta).
      • La plantilla de pruebas de Android ahora tiene una opción Firebase Test Lab Device Matrix para el destino de implementación.
      • La plantilla de la app nativa ya no está disponible. Si usas esta plantilla en un proyecto, Android Studio la convierte automáticamente en la plantilla de la app para Android.
      • La plantilla "Android Application" cambió su nombre a "Android App".
    • Funciones mejoradas de instalación, configuración y rendimiento de la IU en el depurador de GPU (actualmente en versión beta).
    • Android Studio ahora viene incluido con OpenJDK 8. Los proyectos existentes todavía usan el JDK especificado en File > Project Structure > SDK Location. Puedes optar por usar el nuevo JDK incluido haciendo clic en File > Project Structure > SDK Location y marcando la casilla de verificación Use embedded JDK.
    • Se agregaron nuevos menús y botones de ayuda en la IU para que puedas encontrar más fácilmente la documentación en línea.

    Cambios

    • Se actualizó la base de código del IDE de IntelliJ 15 a IntelliJ 2016.1.
    • Instant Run ahora requiere que se instale el SDK de la plataforma correspondiente al nivel de API del dispositivo de destino.
    • Instant Run se inhabilitará automáticamente si el usuario está ejecutando la app con un perfil de trabajo o como un usuario secundario.
    • Se corrigieron muchos problemas de confiabilidad de Instant Run que provocaban que los cambios no se implementaran o la app fallara:
      • Algunos elementos de la app no se implementaron en la app en ejecución. (Error 213454)
      • La app falla cuando el usuario realiza la transición entre las sesiones de Instant Run y que no son de Instant Run en las que una clase serializable no tiene definido el valor serialVersionUID. (Error 209006)
      • Los cambios de estilo no se reflejan con Instant Run. (Error 210851)
      • La sesión de Instant Run no es confiable y causa FileNotFoundException. (Error 213083)
      • Los cambios en los elementos de diseño no se reflejan hasta que se realiza una nueva compilación completa de KitKat. (Error 21530)
      • Los cambios de recursos no se reflejan con Instant Run cuando los conjuntos de orígenes personalizados contienen rutas anidadas. (Error 219145)
      • El intercambio directo y el intercambio con reinicio no funcionan si la clase modificada contiene una anotación con un valor enum. (Error 209047)
      • Cambios en los datos de anotación que no se reflejan con Instant Run. (Error 210089)
      • Instant Run no registra los cambios de código si se realizan fuera del IDE. (Error 213205)
      • La sesión de Instant Run no es confiable debido a un token de seguridad que no coincide. (Error 211989)
      • El intercambio indirecto falla en dispositivos que no admiten correctamente "ejecutar como". (Error 210875)
      • La app falla después de reiniciar Instant Run. (Error 219744)
      • Se observó ClassNotFoundException cuando se cambiaba de Instant Run a Instant Debug. (Error 215805)
    • Mejoras en el rendimiento de Gradle sync dentro del IDE, especialmente para proyectos grandes.
    • Tiempos de compilación mejorados para compilaciones completas e incrementales con el nuevo código de empaquetado de apps.
    • Mejoras en el rendimiento y las funciones del compilador Jack, incluida la compatibilidad con procesadores de anotaciones y la compilación a DEX en el proceso. Para obtener más información, consulta las notas de la versión del complemento de Android para Gradle 2.2.0.
    • Se quitó la propiedad Scale de AVD del administrador de AVD.
    • Las opciones de línea de comandos -port y -ports de Android Emulator ahora informan qué puertos y qué número de serie usa la instancia del emulador y advierten si hay algún problema con los valores que proporcionaste.
    • Se mejoró el diálogo Create New Class y las plantillas de archivo correspondientes. Nota: Si personalizaste previamente las plantillas de archivo AnnotationType, Class, Enum, Interface o Singleton, debes modificarlas para que se ajusten a las plantillas nuevas. De lo contrario, no podrás usar los campos nuevos del diálogo Create New Class.
    • Se mejoró la interfaz de usuario de Vector Asset Studio y se agregó compatibilidad con archivos de Adobe Photoshop (PSD).
    • Se mejoró la interfaz de usuario de Image Asset Studio.
    • Se mejoró el selector de recursos de Theme Editor.
    • Se corrigieron fugas de memoria y se redujo el uso general de la memoria en Android Studio.
    • Se agregó un botón Background en el SDK Manager para que puedas seguir trabajando mientras se instalan los paquetes en segundo plano.
    • Se mejoraron las funciones de accesibilidad, como la compatibilidad con los lectores de pantalla y la navegación con el teclado.
    • Se mejoró el análisis de código, que ahora incluye controles de calidad de código para el uso del lenguaje Java 8 y más análisis entre archivos.
    • Se cambiaron varios íconos de la barra de herramientas.

    2.1 (abril de 2016)

    Los cambios principales en esta actualización ofrecen compatibilidad para el desarrollo con la vista previa de Android N.

    2.1.3 (agosto de 2016)

    Esta actualización agrega compatibilidad con Gradle 2.14.1, que incluye mejoras de rendimiento, funciones nuevas y una importante corrección de seguridad. Para obtener más información, consulta las notas de la versión de Gradle.

    De forma predeterminada, los proyectos nuevos en Android Studio 2.1.3 usan Gradle 2.14.1. En el caso de proyectos existentes, el IDE te pide que realices una actualización a Gradle 2.14.1 y al complemento Gradle para Android 2.1.3, que se requieren cuando se utiliza Gradle 2.14.1 y versiones posteriores.

    2.1.2 (junio de 2016)

    Esta actualización incluye una serie de pequeños cambios y correcciones de errores:

    • Actualizaciones y correcciones de errores de Instant Run.
    • Mejoras en el rendimiento y las notificaciones de fallas de LLDB.
    • Se corrigió una regresión en la actualización de seguridad de Android Studio 2.1.1 que causaba que git rebase fallara.

    2.1.1 (mayo de 2016)

    Actualización de seguridad.

    La plataforma de Android N agrega compatibilidad para funciones del lenguaje Java 8, que requieren un nuevo compilador experimental llamado Jack. Por el momento, la última versión de Jack solo es compatible con Android Studio 2.1. Por lo tanto, si quieres usar funciones del lenguaje Java 8, debes usar Android Studio 2.1 para compilar tu app.

    Nota: Instant Run se inhabilita cuando habilitas el compilador Jack, dado que no son compatibles por el momento.

    Aunque Android Studio 2.1 ahora es estable, el compilador Jack todavía está en fase experimental y debes habilitarlo con la propiedad jackOptions en tu archivo build.gradle.

    Además de los cambios para admitir la vista previa de N, Android Studio 2.1 incluye correcciones de errores menores y las siguientes mejoras:

    • El depurador C++ compatible con Java ahora está habilitado de forma predeterminada cuando usas un emulador o dispositivo N y seleccionas el modo de depuración Native (en la pestaña Debugger para la configuración de ejecución y depuración).

    Para acceder a otras mejoras de compilación, como la compilación incremental de Java y la actualización del dex en el proceso, actualiza tu complemento de Android para Gradle a la versión 2.1.0.

    2.0 (abril de 2016)

    Nota: Si lo que desarrollas está destinado a la vista previa de N para desarrolladores, debes usar Android Studio 2.1. Android Studio 2.0 no es compatible con todas las funciones necesarias para utilizar la vista previa de N. Si deseas obtener más información, consulta cómo configurar correctamente tu entorno de desarrollador para la vista previa de N.

    Instant Run:

    • Android Studio ahora implementa compilaciones limpias más rápido que nunca. Además, aplicar cambios de código incrementales en el emulador o en un dispositivo físico ahora es un proceso casi inmediato. Revisa las actualizaciones sin volver a implementar una compilación de depuración nueva o, en muchos casos, sin reiniciar la app.
    • Instant Run permite aplicar los siguientes cambios en una app en ejecución:
      • Cambios en la implementación de un método de instancia o estático existente.
      • Cambios en un recurso existente de la app.
      • Cambios en el código estructural, como una firma de método o un campo estático (requiere un dispositivo de destino que ejecute API nivel 21 o versiones posteriores).
    • Consulta la documentación para obtener más información sobre Instant Run.

      Nota: Instant Run solo es compatible cuando implementas la variante de compilación de depuración, usas el complemento de Android para Gradle 2.0.0 o una versión posterior, y configuras el archivo build.gradle en el nivel de módulo de tu app para que funcione con minSdkVersion 15 o versiones posteriores. Para obtener el mejor rendimiento, configura tu app para minSdkVersion 21 o una versión posterior.

    Nuevas incorporaciones a lint:

    • Inspección de las declaraciones switch utilizando valores enteros @IntDef anotados para garantizar que se manejen todas las constantes. Para agregar rápidamente cualquier declaración faltante, usa el menú desplegable de acción de intent y selecciona Add Missing @IntDef Constants.
    • Marcas para indicar intentos incorrectos de usar la interpolación de cadenas para insertar números de versión en el archivo build.gradle.
    • Marcas para indicar clases anónimas que extienden la clase Fragment.
    • Marcas para indicar código nativo en ubicaciones inseguras, como las carpetas res/ y asset/. Esta marca estimula el almacenamiento de código nativo en la carpeta libs/, que se empaqueta posteriormente y de forma segura en la carpeta data/app-lib/ de la app en el momento de la instalación. AOSP: 169950
    • Marcas que indican llamadas inseguras a Runtime.load() y System.load(). AOSP: 179980
    • Es posible buscar y quitar recursos no utilizados seleccionando Refactor > Remove Unused Resources en la barra de menú. Ahora, la detección de recursos no utilizados admite recursos a los que solo hacen referencia recursos no utilizados, referencias en archivos sin procesar (como referencias de imagen .html) y atributos tools:keep y tools:discard que utiliza el reductor de recursos de Gradle. Al mismo tiempo, tiene en cuenta conjuntos de orígenes inactivos (como los recursos utilizados en otras variantes de compilación) y maneja adecuadamente las importaciones de campos estáticos.
    • Comprobación de la compatibilidad de referencias implícitas de la API con todas las plataformas a las que se orienta minSdkVersion.
    • Marca el uso inadecuado de RecyclerView y Parcelable.
    • Las inspecciones @IntDef, @IntRange y @Size ahora también se comprueban para varargs y arreglos int.

    Otras mejoras:

    • Optimización de Android Emulator 2.0, que es más rápido que nunca, admite una gama más amplia de dispositivos virtuales y presenta una IU ampliamente mejorada. Para obtener más información sobre el nuevo emulador, consulta las notas de la versión de las herramientas del SDK.
    • Mejoras en el Administrador de dispositivo virtual de Android:
      • Las imágenes del sistema ahora se clasifican en las siguientes pestañas: Recommended, x86 y Other.
      • En la configuración avanzada, puedes habilitar la compatibilidad con varios núcleos y especificar la cantidad de núcleos que puede usar el emulador.
      • En la configuración avanzada, puedes determinar cómo se procesan los gráficos en el emulador mediante una de las siguientes opciones:
        • Hardware: usa la tarjeta gráfica de tu computadora para lograr un procesamiento más rápido.
        • Software: usa procesamiento basado en software.
        • Auto: deja que el emulador decida cuál es la mejor opción. Esta es la configuración predeterminada.
    • Se redujeron los tiempos de empaquetado de AAPT mediante la especificación del destino de la implementación antes de compilar la app. Esto permite que Android Studio empaquete de manera eficiente solo los recursos que necesita el dispositivo especificado.
    • Se agregó la integración de Cloud Test Lab para proporcionar pruebas de apps on demand con la practicidad y escalabilidad de un servicio en la nube. Obtén más información sobre cómo puedes usar Cloud Test Lab con Android Studio.
    • Se agregó una vista previa del nuevo depurador de GPU. En apps con mucha demanda gráfica, ahora puedes recorrer visualmente tu código de OpenGL ES para optimizar tu app o juego.
    • Se agregó la prueba de indexación de apps de Google. Agrega a tus apps compatibilidad con URL, indexación de apps y la funcionalidad de búsqueda para ayudar a aumentar el tráfico hacia tu app, descubrir qué contenido de la app se usa más y atraer usuarios nuevos. Prueba y valida las URL en tu app, todo en Android Studio. Consulta Compatibilidad con URL e indexación de apps en Android Studio.
    • Actualizaciones de la última versión de IntelliJ 15, que incluye mejoras en el análisis de código y el rendimiento. Consulta las novedades de IntelliJ para leer una descripción completa de las funciones y mejoras nuevas.
    • El autocompletado del editor XML ahora agrega comillas cuando completa los atributos. Para comprobar si esta opción está habilitada, abre el diálogo Setting o Preferences, ve a Editor > General > Smart Keys y marca la casilla de verificación junto a Add quotes for attribute value on attribute completion. Problema 195113
    • El editor XML ahora admite la función para completar el código en las expresiones de vinculación de datos.

    Actualizaciones anteriores