Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Nuevas funciones de la versión preliminar de Android Studio

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

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

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

Si encuentras un problema mientras usas una versión preliminar de Android Studio, avísanos. Tus informes de errores nos ayudan a mejorar Android Studio.

Android Studio 4.2

Las firmas v3 y v4 ahora son compatibles

El complemento de Gradle para Android 4.2 ahora es compatible con los formatos de firma de APK v3 y v4. Para habilitar uno o ambos formatos en tu compilación, agrega las siguientes propiedades a tu archivo build.gradle o build.gradle.kts a nivel de módulo:

Kotlin

// build.gradle.kts

android {
   ...
   signingConfigs {
      config {
          ...
          enableV3Signing(true)
          enableV4Signing(true)
      }
   }
}

Groovy

// build.gradle

android {
  ...
  signingConfigs {
    config {
        ...
        enableV3Signing true
        enableV4Signing true
    }
  }
}

Las firmas v3 y v4 ofrecen los siguientes beneficios:

  • La firma de APK v3 habilita la rotación de claves, lo que minimiza los efectos de una clave perdida.

  • La firma de APK v4 te permite implementar rápidamente APK grandes mediante la instalación de APK de adb incremental en Android 11. Esta nueva marca se encarga del paso de la firma del APK en el proceso de implementación.

Compatibilidad con Jetpack Compose

Jetpack Compose Toolkit brinda un enfoque moderno para crear la IU de tu app. El kit de herramientas también incluye todos los beneficios de Kotlin, como ayudarte a escribir código idiomático y conciso que sea completamente interoperable con Java.

Para obtener la mejor experiencia de desarrollo con Jetpack Compose, debes usar la versión más reciente de Android Studio 4.2. Esto se debe a que, cuando utilizas Android Studio para desarrollar una app con Jetpack Compose, puedes beneficiarte de las funciones del editor inteligente, como las plantillas para proyectos nuevos y la capacidad de obtener de inmediato una versión de vista previa de la IU de Compose.

Para obtener más información y comenzar, consulta la descripción general de Jetpack Compose.

Nueva compatibilidad con las herramientas de Jetpack Compose en 4.2

Ahora, Android Studio ofrece compatibilidad adicional para la vista previa y la prueba de apps que usan Jetpack Compose.

Vista previa de Compose

Los siguientes parámetros para los métodos @Preview ahora están disponibles:

  • showBackground: Activa y desactiva un fondo para tu vista previa.
  • backgroundColor: Establece un color que solo se use en la superficie de vista previa.
  • uiMode: Este nuevo parámetro puede tomar cualquiera de las constantes Configuration.UI_* y te permite cambiar el comportamiento de la vista previa, por ejemplo, para configurarlo en Modo nocturno a fin de ver cómo reacciona el tema.

Vista previa interactiva

En este modo, puedes interactuar con los componentes de la IU, hacer clic en ellos y ver cómo cambia el estado. Es una forma rápida de obtener comentarios sobre cómo reacciona tu IU y obtener una vista previa de las animaciones. Para habilitarla, haz clic en el ícono interactivo  y la vista previa cambiará de modo.

Para detenerla, haz clic en Stop Interactive Preview en la barra de herramientas superior.

Cómo implementar en el dispositivo

Usa esta función para implementar un fragmento de tu IU en un dispositivo. Eso ayudará a probar pequeñas partes de tu código en el dispositivo sin tener que iniciar la aplicación entera.

Haz clic en el ícono de implementación en el dispositivo  junto a la anotación @Preview o en la parte superior de la vista previa. Android Studio implementará @Preview en tu dispositivo o emulador conectado.

Vista previa de la API de Data Sources

La nueva API de Data Sources te permite generar vistas previas de tus datos. Si tienes una lista de datos existente o una lista de temas, esta API te permitirá incorporarla como un parámetro al método @Preview.

class HelloWorldProvider :
   CollectionPreviewParameterProvider<String>(
       listOf("Hello World", "Привет мир", "Olá Mundo", "Hola Mundo"))

@Preview
@Composable
fun HelloWorldPreview(
   @PreviewParameter(HelloWorldProvider::class) text: String
) {
   MaterialTheme {
       Text(text = text)
   }
}

Para habilitar las funciones anteriores, el build.gradle de tu módulo debe contener la siguiente configuración:

  android {
  …
  buildFeatures {
    compose true
  }
  composeOptions {
     kotlinCompilerExtensionVersion = "0.1.0-dev13"
     kotlinCompilerVersion = "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
   }
}

Problemas conocidos de la vista previa de Compose

Actualmente, androidx.ui.foundation.Dialog no es compatible con la vista previa de Compose.

Prueba de instrumentación mejorada

A partir de Android Studio 4.2 Canary 1, las pruebas de instrumentación se pueden ejecutar en varios dispositivos en paralelo y se pueden investigar mediante un panel especializado de resultados de prueba de instrumentación. Con este panel, puedes determinar si las pruebas fallan debido al nivel de API o a las propiedades de hardware.

Panel de prueba de instrumentación

Probar tu app en una amplia variedad de niveles de API y factores de forma es una de las mejores maneras de garantizar que todos los usuarios tengan una excelente experiencia cuando usen tu app.

Para aprovechar esta función, realiza lo siguiente:

  1. Selecciona Modify Device Set en el menú desplegable de dispositivos de destino (en la parte superior central del IDE).

    Menú desplegable de dispositivos de destino

  2. Selecciona los dispositivos de destino y haz clic en OK.

    Diálogo Modify Device Set

  3. Selecciona Multiple Devices en el menú desplegable de dispositivos de destino y ejecuta las pruebas.

    Selección de Multiple Devices en el menú desplegable de dispositivos de destino

Para ver los resultados de la prueba en el panel Run, ve a View > Tool Windows > Run.

El nuevo panel de resultados de la prueba te permite filtrar los resultados por estado, dispositivo y nivel de API. Además, puedes ordenar cada columna haciendo clic en el encabezado. Si haces clic en una prueba individual, podrás ver los registros y la información del dispositivo de forma individual para cada dispositivo.

Android Studio 4.1

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

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 en la parte superior derecha (o usando 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.

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

Los generadores de perfiles independientes ahora están disponibles

Ahora es posible acceder a los generadores de perfiles de Android Studio en una ventana separada de la ventana principal de Android Studio.

Para ejecutar los generadores de perfiles independientes, haz lo siguiente:

  1. Asegúrate de que Android Studio no se ejecute en tu sistema.
  2. Ve al directorio de instalación y navega hasta el directorio bin:

    Windows/Linux: <studio-installation-folder>/bin

    macOS: <studio-installation-folder>/Contents/bin

  3. Según tu SO, ejecuta profiler.exe o profiler.sh. Aparecerá la pantalla de presentación de Android Studio.

    Cuando la pantalla de presentación desaparece, se abre una ventana del generador de perfiles: 

  4. Inicia el Android Emulator o conecta un dispositivo Android y espera a que se cargue la pantalla principal. Para ejecutar el emulador desde la línea de comandos, consulta Cómo iniciar el emulador desde la línea de comandos. Si inicias el emulador desde Android Studio, cierra el entorno luego de abrir el emulador.

    En el menú del generador de perfiles independiente, haz clic en el botón  y aparecerán todos los emuladores y dispositivos conectados:

    Por ejemplo, abre Google Maps en el emulador. Para crear una nueva sesión de generación de perfiles, selecciona un emulador en el menú desplegable y, luego, selecciona com.google.android.apps.maps (...). Esta acción iniciará una sesión de generación de perfiles.

Cuando interactúas con el mapa, los eventos táctiles y el uso de CPU aparecen en el generador de perfiles. Haz clic en los grafos de CPU, Memory, Network o Energy para mostrar más detalles.

Haz clic en el botón  para finalizar la sesión de generación de perfiles.

Ahora puedes usar los generadores de perfiles para inspeccionar las características de rendimiento de tu app. Para obtener más información, consulta Perfila el rendimiento de tu app.

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 los colores actualizados 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.<ApplicationName>.
  • 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.

Cambios en el directorio de configuración del IDE en Canary 9

En la versión de Canary 9, las ubicaciones de los directorios de configuración de usuario se cambiaron a lo siguiente:

Windows

Sintaxis: %APPDATA%\Google\<product><version>

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

macOS

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

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

Linux

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

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

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

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, al invocar esta acción en un consumidor de una dependencia con Dagger insertado, la ventana Find muestra el proveedor de esa dependencia.

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 rápidamente 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 ejecutar el emulador en Android Studio, asegúrate de usar Android Studio 4.1 con la versión 30.0.10 o una versión posterior, y seguir estos pasos:

  1. Haz clic en File > Settings > Tools > Emulator (o Android Studio > Preferences > Tools > Emulator en macOS), selecciona Launch in a tool window y haz clic en OK.
  2. Si la ventana del emulador no aparece automáticamente, haz clic en View > Tool Windows > Emulator.
  3. Para iniciar el dispositivo virtual, utiliza el Administrador de AVD o establécelo como destino cuando ejecutes tu app.

Limitaciones

Actualmente, no puedes usar los controles extendidos del emulador cuando se ejecuta en una ventana de herramientas. Si tu flujo de trabajo de desarrollo depende en gran medida de los controles extendidos, sigue usando Android Emulator como una aplicación independiente. Además, algunos dispositivos virtuales, como Android TV y dispositivos plegables, no se pueden ejecutar en Android Studio porque tienen requisitos especializados de la IU o funciones importantes en los controles extendidos.

Inspector de bases de datos

Con Android Studio 4.1 Canary 6 y versiones posteriores, puedes inspeccionar, consultar y modificar las bases de datos de tu app con la nueva herramienta Inspector de bases de datos. Por ejemplo, puedes depurar tu app en ejecución modificando los valores de tu base de datos y probando esos cambios en el dispositivo.

Cómo modificar los valores de la tabla y consultar los cambios en tu app en ejecución

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 la ventana Database Inspector no selecciona automáticamente el proceso de tu app, elígelo en el menú desplegable.

Cómo inspeccionar y modificar tablas

En el panel Databases, puedes ver las bases de datos de tu app y expandir un nodo de base de datos para ver sus tablas. Cuando haces doble clic en una tabla, el inspector la abre en una pestaña separada a la derecha, como se muestra en la siguiente captura de pantalla, en la que puedes inspeccionar sus datos, ordenarlos por columnas o incluso modificar los valores mientras se ejecuta tu app en el dispositivo.

Para cambiar el valor de una celda de la tabla, simplemente haz doble clic en la celda, cambia su valor y presiona Intro. Si usas la biblioteca de persistencias Room y observas tus bases de datos (como con LiveData), esos cambios deberían estar visibles en la app en ejecución casi de inmediato. De lo contrario, es posible que debas actualizar la consulta de tu app de la base de datos para ver los cambios.

Cómo inspeccionar, consultar y modificar las bases de datos de tu app

Si tu app actualiza su base de datos y quieres ver esas actualizaciones automáticamente en la ventana del inspector, marca la casilla junto a Live updates. Ten en cuenta que, si bien esta opción está habilitada, la tabla del inspector será de solo lectura, y no podrás modificar sus valores.

De forma alternativa, puedes actualizar manualmente los datos del inspector haciendo clic en Refresh Table. De manera similar, si hay cambios en los esquemas de base de datos, haz clic en la opción Refresh Schema  del panel Databases.

Cómo consultar una base de datos

Para consultar una base de datos, haz clic en Open New Query tab  en el panel Databases. Se abrirá una pestaña New Query a la derecha. Si tu app incluye más de una base de datos, selecciona la que desees consultar mediante el menú desplegable ubicado en la ventana de la pestaña. En el campo de texto, puedes especificar tu consulta de SQLite y hacer clic en Run. El inspector consulta la base de datos de tu app y muestra el resultado, como se indica a continuación.

Cómo consultar una base de datos

Si usas la biblioteca de persistencias Room, Android Studio también proporciona acciones de canal para ayudarte a ejecutar rápidamente búsquedas en tus anotaciones @Query. Mientras se implementa tu app en un dispositivo compatible y el Inspector de bases de datos está abierto en el IDE, haz clic en el botón  que aparece junto a una anotación @Query, como se muestra a continuación.

Acción de anotación de consulta de Room

El Inspector de bases de datos abre una pestaña nueva, ejecuta la consulta y muestra los resultados. Si tu consulta incluye parámetros de vinculación con nombre, como :name, Android Studio solicita valores para cada parámetro antes de ejecutar la consulta.

Cómo evitar el cierre de bases de datos nuevas y existentes

Si tu app se conecta a las bases de datos y se desconecta de ellas con frecuencia, puede ser difícil inspeccionar esas bases de datos. Esto se debe a que inspeccionar, consultar y modificar una base de datos requiere que tu app mantenga una conexión activa. La ventana del Inspector de bases de datos usa íconos que te ayudan a identificar bases de datos abiertas () y cerradas ().

Para facilitar la inspección de esas bases de datos, puedes hacer clic en Keep database connections open  y evitar que se cierren las conexiones nuevas y existentes. Cuando este comportamiento está habilitado, el botón Keep database connections open cambia a .

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.

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

Cómo subir archivos de símbolos de depuración

Para poder subir archivos de símbolos de depuración, debes usar la versión 4.1 o versiones posteriores del complemento de Gradle para Android.

La forma de subir archivos de símbolos de depuración depende de si compilas tu app con un Android App Bundle o un APK:

  • Apps compiladas con un Android App Bundle: Si tu proyecto compila un Android App Bundle, puedes incluir automáticamente el archivo de símbolos de depuración para que no tengas que subirlo de forma manual. Para incluir este archivo, agrega lo siguiente al archivo build.gradle de tu app:

    android.defaultConfig.ndk.debugSymbolLevel = 'FULL'
    
  • Apps compiladas con un APK: Si tu proyecto compila un APK, el archivo de símbolos de depuración se compila por separado. Agrega lo siguiente al archivo build.gradle de tu app:

    android.defaultConfig.ndk.debugSymbolLevel = 'FULL'
    

    Como parte del proceso de compilación, el complemento de Android para Gradle genera el archivo de símbolos de depuración en la siguiente ubicación del proyecto:

    app/build/outputs/native-debug-symbols/variant-name/native-debug-symbols.zip
    

    Sube este archivo de símbolos de depuración a Play Console.

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 un tamaño de muestra de 32 bytes, el Generador de perfiles de memoria nativos realiza un seguimiento de las asignaciones o desasignaciones de objetos en código nativo para un período específico, y proporciona la siguiente información:

  • Allocations: Es un recuento de objetos asignados a través de malloc() o el operador new durante el período seleccionado.
  • Deallocations: Es un recuento de objetos desasignados mediante free() o el operador delete durante el período seleccionado.
  • Allocations Size: Es el tamaño total en bytes de todas las asignaciones durante el período seleccionado.
  • Deallocations Size: Es el tamaño agregado en bytes de toda la memoria liberada durante el período seleccionado.
  • Total Count: Es el valor de la columna Allocations menos el valor de la columna Deallocations.
  • Remaining Size: Es el valor de la columna Allocations Size menos el valor de Deallocations Size.

Generador de perfiles de memoria nativos

Para iniciar una grabación, haz clic en Record native allocations, en la parte superior de la ventana del Generador de perfiles de memoria:

Botón Record native allocations

Cuando esté todo listo para completar la grabación, haz clic en Stop recording.

Cómo establecer la ruta de acceso del NDK

Puedes configurar la ruta de acceso a la instalación del NDK local con la propiedad android.ndkPath en el archivo build.gradle de tu módulo.

android {
   ndkPath "your-custom-ndk-path"
}

Si usas esta propiedad junto con la propiedad android.ndkVersion, la ruta debe contener un directorio de NDK con la misma versión que android.ndkVersion.

Cómo usar modelos de TensorFlow Lite

Vincular 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 tú mismo, 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 cómo usarlo 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:

Captura de pantalla del visor de modelos de TensorFlow Lite

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.

Aserciones en compilaciones de depuración

Las aserciones de tu código Java ahora están habilitadas cuando implementas la versión de depuración de tu app. Debido a que el entorno de ejecución de Android no admite la habilitación de aserciones durante el tiempo de ejecución (es decir, pasar el equivalente de la marca -ea/-enableassertions a una VM de Java), anteriormente no tenían efecto.

Ahora, cuando compilas e implementas la versión de depuración de tu app con el complemento de Gradle para Android 4.1.0-alpha01 y versiones posteriores, el compilador integrado (D8) reescribe el código para habilitar las aserciones durante el tiempo de compilación, de modo que siempre tengas las comprobaciones activadas.

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 Vista previa para desarrolladores 3 o versiones posteriores de Android 11:

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  o Apply Changes and Restart Activity  ahora son mucho más rápidas.

Para 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  o Apply Changes and Restart Activity .

Ahora también puedes agregar recursos y, luego, implementarlos en tu app en ejecución en dispositivos con Android 11. Para ello, haz clic en Apply Changes and Restart Activity .

Cómo exportar dependencias C/C++ desde AAR

El complemento de Gradle para Android 4.0 agregó la capacidad de importar paquetes [Prefab] en dependencias de AAR, como se describe a continuación. A partir de la versión Canary 10, la versión 4.1 habilita la exportación de bibliotecas de tu compilación nativa externa en un AAR para un proyecto de biblioteca de Android.

Para exportar tus bibliotecas nativas, agrega lo siguiente al bloque android del archivo build.gradle de tu proyecto de biblioteca.

buildFeatures {
    prefabPublishing true
}

prefab {
    mylibrary {
      headers "src/main/cpp/mylibrary/include"
    }

    myotherlibrary {
        headers "src/main/cpp/myotherlibrary/include"
    }
}

En este ejemplo, las bibliotecas mylibrary y myotherlibrary de tu ndk-build o compilación nativa externa de CMake se empaquetarán en el AAR que generó tu compilación, y cada una exportará los encabezados del directorio especificado a sus dependientes.

Dependencias compiladas previamente que usa CMake

Para los usuarios del complemento de Gradle para Android 4.0 y versiones posteriores, cambió la configuración de importación bibliotecas nativas precompiladas. Para obtener más información, consulta las notas de la versión de AGP.

Problemas conocidos de la Versión de vista previa 4.1

En esta sección, se describen los problemas conocidos de Android Studio Versión de vista previa 4.1.

Parches que no funcionan en 4.1 Canary 10

Los parches para Android Studio 4.1 Canary 10 están rotos. Para actualizar a una versión más reciente de Android Studio 4.1, cierra Android Studio y, luego, descarga e instala el paquete más reciente.

Se solucionó este problema en la versión Beta 1 de Android Studio 4.1.

Solución para el complemento de Kotlin faltante en Canary 9

En Android Studio 4.1 Canary 9, es posible que veas el siguiente error cuando inicies Android Studio por primera vez después de la actualización:

missing essential plugin org.jetbrains.android

Esto puede suceder cuando importas tu configuración desde una versión anterior de Android Studio. Por lo general, esto significa que tienes un complemento de Kotlin instalado de forma local que no es compatible con el nuevo IDE.

Para solucionar este problema, quita el directorio de Kotlin de las siguientes ubicaciones:

Linux: ~/.local/share/Google/AndroidStudioPreview4.1

Windows: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudioPreview4.1

macOS: ~/Library/Application Support/Google/AndroidStudioPreview4.1

Debido a que no hay un complemento de Kotlin compatible con Canary 9 disponible de JetBrains, incluimos nuestro propio complemento de Kotlin con la actualización Canary 9, por lo que no necesitas instalar un complemento de Kotlin de forma manual.

Errores de tiempo de espera en el Generador de perfiles de CPU

Es posible que se generen errores del tipo "Recording failed to stop" en el Generador de perfiles de CPU de Android Studio cuando selecciones las opciones de configuración Sample Java Methods o Trace Java Methods. A menudo, son errores de tiempo de espera, especialmente si ves el siguiente mensaje de error en el archivo idea.log:

Wait for ART trace file timed out

Los errores de tiempo de espera tienden a afectar más a los métodos de seguimiento que a los métodos de muestreo, así como a las grabaciones más largas en comparación con las más cortas. Como solución temporal, puede ser útil probar grabaciones más cortas para ver si desaparece el error.

Si tienes problemas de tiempo de espera con el generador de perfiles, informa un error que incluya la marca o el modelo de tus dispositivos y cualquier entrada relevante de idea.log y logcat.

Errores de control de versión de Git en el IDE

Las operaciones que requieren autenticación en el control de versión de Git están dañadas en el IDE de Android Studio 4.1 Canary 1.

Para solucionar este problema, actualiza a Android Studio 4.1 Canary 2.