Android Studio 3.6 (febrero de 2020)

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

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

3.6.3 (abril de 2020)

Esta actualización menor incluye diversas correcciones de errores. 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.6.2 (marzo de 2020)

Esta actualización menor incluye diversas correcciones de errores. 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.6.1 (febrero de 2020)

Esta actualización menor incluye diversas correcciones de errores. Para ver 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 el editor de diseño 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 el editor de diseño y el editor de navegación, 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 íconos de vistas 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 para 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 framework 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.

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

Actualizaciones del complemento de Android para Gradle

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

Vinculación de vistas

La vinculación de vistas te permite escribir más fácilmente código que interactúe con las vistas con 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 vistas elimina el riesgo de excepciones de puntero nulo que resultan de un ID de vista no válido.

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

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = 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  o en Apply Changes and Restart Activity .

Si deseas 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 básico 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.

Nota: Se quitó la opción para habilitar instantáneamente el módulo base de tu app desde el asistente Create New Project.

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

Cómo desofuscar 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, que antes eran 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 colocas el cursor 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; 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.

Recarga de APK para bibliotecas nativas {:#3.6-reload-apk}

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.

Acción de adjuntar fuentes de APK solo de Kotlin

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

Detección de pérdidas en el Generador de perfiles de memoria

Cuando se analiza un volcado de montón en el Generador de perfiles de memoria, 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

Acción de adjuntar fuentes de APK solo de Kotlin

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

Detección de pérdidas en el Generador de perfiles de memoria

Cuando se analiza un volcado de montón en el Generador de perfiles de memoria, 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. A fin de 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 del Generador de perfiles de memoria.

Generador de perfiles: detección de fuga 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 del emulador, 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 lugares 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 guardar la ubicación seleccionando Save point 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..

Routes

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

  4. Selecciona una de las relaciones de aspecto predeterminadas.

  5. Selecciona custom y establece la altura (en height), el ancho (en width) y los DPI para tu pantalla personalizada.

  6. (Opcional) Haz clic en Add secondary display para agregar una tercera pantalla.

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

Selección de una plantilla de proyectos de Android Automotive..

Además, ahora puedes crear un dispositivo virtual de Android (AVD) para dispositivos con el SO 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 consola central 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 del 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 del 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.

Si quieres 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 la sincronización de Gradle, 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 versió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