Las imágenes del sistema Android 11 x86 para el emulador de Android admiten ABI de ARM

Las imágenes del sistema Android 11 para hardware x86 ahora admiten la emulación ARM en el emulador de Android dentro de Android Studio para PC x86.

Google lanzó el Vista previa para desarrolladores de Android 11 2 a principios de este mes. Con esta versión, Google realizó un cambio clave para permitir una depuración de aplicaciones más eficiente en el emulador de Android dentro de Estudio Android. Las imágenes del sistema Android 11 para CPU x86 ahora permiten que las aplicaciones con dependencias de C o C++ se ejecuten más sin problemas sin emulación ARM completa y utilizando aceleración de hardware y virtualización de CPU de x86 hardware.

Las aplicaciones de Android escritas en código nativo (es decir, C o C++) deben compilarse teniendo en cuenta diferentes arquitecturas de CPU. Debe haber diferentes versiones de la aplicación destinadas a diferentes arquitecturas de CPU, como ARM, ARM64, x86 o x86-64. Esto se debe a que el código nativo se compila directamente en las instrucciones de la máquina para la arquitectura específica, a diferencia de las aplicaciones Kotlin o Java que se ejecutan en Android Runtime (ART).

Para probar su aplicación a través del emulador de Android ejecutándose en una computadora basada en x86, necesita una versión diferente para la CPU x86. La versión x86 de la aplicación no funcionará en teléfonos inteligentes, ya que normalmente se basan en CPU ARM o ARM64. Hasta ahora, el único La solución a este problema fue utilizar un dispositivo Android físico o instalar imágenes de emulador con emulación ARM completa para CPU x86. La última opción requiere mucho rendimiento y no puede aprovechar al máximo la aceleración de hardware y la virtualización de CPU que ofrece x86. Oferta de CPU.

Para solucionar este problema, Google ha lanzado ahora las nuevas imágenes del sistema Android 11 x86 con compatibilidad ARM. Estas imágenes del sistema utilizan ABI (interfaces binarias de aplicaciones) que intermedian entre aplicaciones escritas en diferentes idiomas o entre aplicaciones y el sistema operativo. Las instrucciones ARM dentro del binario ARM se traducen exclusivamente a x86, mientras que el resto del código continúa ejecutándose en x86. Debido a este aislamiento de los binarios ARM, el proceso requiere menos rendimiento y se ejecuta incluso en hardware de bajo nivel.

Además de permitir una depuración más sencilla de aplicaciones de Android que utilizan dependencias de C++, también permitirá a los desarrolladores simplemente publique la versión ARM de sus aplicaciones junto con ABI en lugar de una versión x86 para Chromebooks en el futuro. Esto estimulará la compatibilidad con más aplicaciones orientadas a Android 11 en una variedad de Chromebooks.

Las nuevas imágenes del sistema Android 11 compatibles con x86 se pueden descargar en Estudio Android utilizando el Administrador de dispositivos virtuales Android o el Administrador de SDK.