Android Studio 4.1 (agosto de 2020)

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

4.1.3 (marzo de 2021)

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.

4.1.2 (enero de 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

Nuevo Inspector de bases de datos

Inspecciona, consulta y modifica tus bases de datos en tu app en ejecución con el nuevo Inspector de bases de datos. Para comenzar, implementa tu app en un dispositivo con nivel de API 26 o posterior, y selecciona View > Tool Windows > Database Inspector en la barra de menú.

Si deseas obtener más información, consulta Cómo depurar tu base de datos con el Inspector de bases de datos.

Cómo ejecutar Android Emulator directamente en Android Studio

Ahora puedes ejecutar Android Emulator directamente en Android Studio. Usa esta función para conservar el espacio de la pantalla, navegar con rapidez entre el emulador y la ventana del editor con las teclas de acceso rápido y para organizar tu flujo de trabajo del IDE y emulador en una sola ventana de aplicación.

El emulador se inicia en una ventana de herramientas en Android Studio.

Para obtener más información, consulta la documentación de Android Emulator.

Cómo usar modelos de TensorFlow Lite

La vinculación de modelos de AA facilita la importación directa de archivos de modelo .tflite y su uso en tus proyectos. Android Studio genera clases fáciles de usar para que puedas ejecutar tu modelo con menos código y mayor seguridad de tipos.

Modelos compatibles

La implementación actual de la vinculación de modelos de AA admite modelos de clasificación de imágenes y transferencia de estilo, siempre que estén mejorados con metadatos. Con el paso del tiempo, se agregará compatibilidad con otros dominios de problemas, como la detección de objetos, la segmentación de imágenes y la clasificación de texto.

TensorFlow Hub ofrece una amplia variedad de modelos previamente entrenados con metadatos. También puedes agregar metadatos a un modelo de TensorFlow Lite, como se describe en Cómo agregar metadatos a un modelo de TensorFlow Lite.

Cómo importar un archivo de modelo

Para importar un archivo de modelo compatible, sigue estos pasos:

  1. Abre el cuadro de diálogo de importación del modelo de TensorFlow Lite del menú de Archivo en File > New > Other > TensorFlow Lite Model.
  2. Selecciona el archivo de modelo .tflite que descargaste o creaste anteriormente.
  3. Haz clic en Finish.

Esta acción importará el archivo del modelo a tu proyecto y lo colocará en la carpeta ml/. Si no existe el directorio, Android Studio lo creará.

Cómo importar un modelo de TensorFlow Lite

Cómo ver los metadatos y el uso del modelo

Para ver los detalles de un modelo importado y obtener instrucciones sobre su uso en tu app, haz doble clic en el archivo del modelo de tu proyecto para abrir la página del visor del modelo, que muestra lo siguiente:

  • Model: Descripción de alto nivel del modelo
  • Tensors: Descripción de los tensores de entrada y salida
  • Sample code: Ejemplo de cómo interactuar con el modelo en tu app

A continuación, se muestra un ejemplo que usa mobilenet_v1_0.25_160_quantized.tflite:

Como se muestra en el ejemplo, Android Studio crea una clase llamada MobilenetV1025160Quantized para interactuar con el modelo.

Si el modelo no tiene metadatos, esta pantalla solo proporcionará información mínima.

Problemas conocidos y soluciones

  • Actualmente, la compatibilidad con los modelos de TensorFlow Lite para los dominios de problemas que no sean la clasificación de imágenes y la transferencia de estilo es limitada. Si bien la importación debería funcionar correctamente, algunas entradas o salidas de modelos están representadas por TensorBuffers en lugar de tipos compatibles. Para los modelos sin metadatos, todas las entradas y salidas del modelo serán TensorBuffers.
  • Los modelos que tienen tipos de datos de entrada y salida diferentes de DataType.UINT8 o DataType.FLOAT32 no son compatibles.

Esta función aún está en desarrollo, por lo que te pedimos que envíes comentarios o informes errores.

Generador de perfiles de memoria nativos

El Generador de perfiles de memoria de Android Studio ahora incluye la herramienta Generador de perfiles de memoria nativos para apps implementadas en dispositivos físicos que ejecutan Android 10 o versiones posteriores. Con el Generador de perfiles de memoria nativos, puedes registrar asignaciones de memoria y desasignaciones de código nativo, además de inspeccionar estadísticas acumulativas sobre objetos nativos.

Grabación en el Generador de perfiles de memoria nativos

Para obtener más información sobre el Generador de perfiles de memoria nativos, consulta Cómo inspeccionar el uso de memoria de tu app con el Generador de perfiles de memoria.

Problemas conocidos y soluciones

El Generador de perfiles de memoria nativos de Android Studio 4.1 no funciona en dispositivos con Android 11. La compatibilidad con la generación de perfiles de dispositivos con Android 11 actualmente está disponible en la versión preliminar 4.2.

En la versión inicial 4.1, se inhabilitó el perfil de inicio de la app. Esta opción se habilitará en una próxima versión.

Como solución alternativa, puedes usar el generador de perfiles de línea de comandos independiente de Perfetto para capturar perfiles de inicio.

IU de Registro del sistema: selección más simple, nueva pestaña de análisis y más datos de procesamiento de marcos

La IU de Registro del sistema en el generador de perfiles de Android Studio incluye las siguientes mejoras:

  • Selección de casillas: En la sección Threads, ahora puedes arrastrar el mouse para realizar una selección de casillas de un área que puedes acercar haciendo clic en el botón Zoom to Selection Botón Zoom to Selection del generador de perfiles ubicado en la parte superior derecha (o con la tecla M). Cuando arrastras y sueltas los subprocesos similares, puedes seleccionar varios subprocesos para inspeccionarlos todos a la vez. Por ejemplo, tal vez quieras realizar un análisis en varios subprocesos de trabajador.

  • Pestaña Summary: La nueva pestaña Summary del panel Analysis muestra lo siguiente:

    • Estadísticas agregadas de todos los casos de un evento específico, como un recuento de casos y la duración mínima o máxima

    • Estadísticas de eventos de seguimiento para el caso seleccionado.

    • Datos sobre la distribución del estado de los subprocesos

    • Los casos de mayor duración del evento de seguimiento seleccionado

    Para navegar a otro caso, selecciona otra fila de la tabla.

  • Datos de Display: En la sección Display, los nuevos cronogramas de SurfaceFlinger y VSYNC te ayudan a investigar los problemas de procesamiento de la IU de tu app.

Si quieres obtener instrucciones de uso básicas para documentar un registro del sistema, consulta la sección Cómo registrar seguimientos del apartado Cómo inspeccionar la actividad de la CPU con el Generador de perfiles de CPU.

Los generadores de perfiles independientes ahora están disponibles

Con los nuevos generadores de perfiles independientes, ahora es posible generar perfiles de tu app sin ejecutar la totalidad del IDE de Android Studio.

Para obtener instrucciones sobre el uso de los generadores de perfiles independientes, consulta Cómo ejecutar generadores de perfiles independientes.

Compatibilidad con navegación de Dagger

Acciones del margen del IDE para navegar a consumidores y proveedores de Dagger

Android Studio facilita la navegación entre tu código relacionado con Dagger, ya que proporciona nuevas acciones del margen y extiende la compatibilidad en la ventana Find Usages.

  • Nuevas acciones del margen: Para los proyectos que usan Dagger, el IDE proporciona acciones del margen que te ayudan a navegar entre tu código anotado en Dagger. Por ejemplo, si haces clic en la acción del margen junto a un método que consume un tipo determinado, navegas al proveedor de ese tipo. Por el contrario, si haces clic en la acción del margen , puedes navegar al lugar donde se usa un tipo como dependencia.

  • Nodo de Find Usages: Cuando invocas Find Usages en un proveedor de un tipo determinado, la ventana Find ahora incluye un nodo Dependency consumer(s) que muestra los consumidores de ese tipo. Por el contrario, cuando se invoca esta acción en un consumidor de una dependencia con Dagger insertado, la ventana Find muestra el proveedor de esa dependencia.

Componentes de Material Design: Temas y estilos actualizados en nuevas plantillas de proyecto

Animación: Cómo crear un proyecto en Android Studio con nuevas propiedades de Material Design.

Las plantillas de Android Studio en el diálogo Create New Project usan Componentes de Material Design (MDC) y cumplen con la guía actualizada para temas y estilos de forma predeterminada. Las actualizaciones te permiten hacer lo siguiente:

  • MDC: Los proyectos dependen de com.google.android.material:material en build.gradle. Los temas de la app de base usan elementos superiores de Theme.MaterialComponents.* y anulan el color actualizado de MDC y los atributos "on".

  • Recursos de color: Los recursos de color en colors.xml usan nombres literales (por ejemplo, purple_500 en lugar de colorPrimary).

  • Recursos de temas: Los recursos de temas se encuentran en themes.xml (en lugar de styles.xml) y usan nombres Theme.<var><var>.

  • Tema oscuro: Los temas base de la aplicación usan elementos superiores de DayNight y se dividen entre res/values y res/values-night.

  • Atributos de tema: Se hace referencia a los recursos de color como atributos de tema (por ejemplo, ?attr/colorPrimary) en diseños y estilos para evitar colores hard-coded.

IntelliJ IDEA 2020.1

En la versión 2020.1, se actualizó el IDE principal de Android Studio con mejoras de IntelliJ IDEA, incluida una nueva ventana Commit que permite operaciones de control de versión y un nuevo modo zen que se puede activar o desactivar seleccionando View > Appearance > Enter Distraction Free Mode.

Para obtener más información sobre las mejoras de la versión 2020.1, consulta IDEA 2020.1.

Cambios en el directorio de configuración del IDE

Las ubicaciones de los directorios de configuración del usuario se cambiaron por lo siguiente:

Windows

Sintaxis: %APPDATA%\Google&lt;product><version>

Ejemplo: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Sintaxis: ~/Library/Application Support/Google/<product><version>

Ejemplo: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Sintaxis: ~/.config/Google/<product><version>

Ejemplo: ~/.config/Google/AndroidStudio4.1

Estas nuevas ubicaciones de directorio son consistentes con las actualizaciones recientes de IntelliJ IDEA, el IDE en el que se basa Android Studio.

Nota: Si Studio no se reinicia después de una actualización, es posible que debas borrar el directorio de configuración de una versión anterior de Studio. Consulta la página sobre problemas conocidos para obtener más información.

Kotlin 1.3.72

Android Studio 4.1 agrupa Kotlin 1.3.72, que incluye varias correcciones para mejorar el resaltado de Kotlin, las inspecciones y la finalización de código. Consulta el registro de cambios de Kotlin 1.3.72 para obtener más detalles.

Vista previa de vista personalizada

Cuando crees una vista personalizada (por ejemplo, extendiendo la clase View o Button), Android Studio ahora te mostrará una vista previa de la vista personalizada. Usa el menú desplegable de la barra de herramientas para alternar entre varias vistas personalizadas o haz clic en los botones para unir el contenido en forma horizontal o vertical.

Cómo obtener vistas personalizadas en el IDE

Nota: Si no ves los cambios en la vista previa, selecciona Build > Make Project en la barra de menú.

Simbolización para informes de fallas por errores en código nativo

Cuando ocurre una falla o ANR en el código nativo, el sistema produce un seguimiento de pila, que es una instantánea de la secuencia de funciones anidadas que se llamaron en el programa hasta el momento en que se produjo la falla. Estas instantáneas pueden ayudar a identificar y solucionar cualquier problema en la fuente, pero primero deben simbolizarse para traducir las direcciones de la máquina en nombres de funciones legibles por humanos.

Si tu app o juego se desarrolla con código nativo, como C++, ahora puedes subir archivos de símbolos de depuración a Play Console para cada versión de tu app. Play Console usa estos archivos de símbolos de depuración para simbolizar los seguimientos de pila de tu app, lo que facilita el análisis de fallas y ANRs. Si quieres obtener información para subir archivos de símbolos de depuración, consulta Asistencia para fallas por error en código nativo.

Apply Changes

Para ayudarte a aumentar la productividad a medida que iteras en tu app, realizamos las siguientes mejoras en Apply Changes en dispositivos con la Versión preliminar para desarrolladores 3 de Android 11 o versiones posteriores:

Velocidades de implementación más rápidas

Invertimos mucho en optimizar la velocidad de iteración durante el desarrollo de un método para implementar y conservar cambios en un dispositivo sin instalar la aplicación. Después de una implementación inicial, las implementaciones posteriores en dispositivos Android 11 que usan Apply Code Changes Ícono de Apply Code Changes o Apply Changes and Restart Activity Ícono de Apply Changes and Restart Activity ahora son mucho más rápidas.

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

Compatibilidad con cambios adicionales del código

Para dispositivos que ejecutan la Vista previa para desarrolladores 3 o versiones posteriores de Android 11, ahora puedes agregar métodos y campos primitivos finales estáticos y, luego, implementar esos cambios en tu app en ejecución haciendo clic en Apply Code Changes Ícono de Apply Code Changes o en Apply Changes and Restart Activity Ícono de Apply Changes and Restart Activity.