Google suaviza la ruta de Android para el soporte de aplicaciones ARM emuladas

Permiten la ejecución de archivos binarios ARM para pruebas sin la sobrecarga de rendimiento de requerir la emulación ARM completa, lo que debería acelerar la ruta de las pruebas.
Anteriormente, dice la compañía, los desarrolladores que dependían de las bibliotecas ARM y no podían construir una variante x86 de su aplicación tenían que usar imágenes del sistema con emulación ARM completa, que son mucho más lentas que las imágenes del sistema x86 cuando se ejecutan en computadoras basadas en x86, o recurrir a dispositivos físicos.
Específicamente, ahora hay soporte para ARMv7 y ARM64 ABI.
La imagen de arriba muestra la nueva imagen del sistema Android 11 x86 compatible con ARM ABI, que la imagen anterior del sistema Android "Oreo" no.
ABI
Debido a que diferentes dispositivos Android usan diferentes CPU, esto implica el soporte de diferentes conjuntos de instrucciones.
Cada combinación de CPU y conjunto de instrucciones tiene su propia interfaz binaria de aplicación (ABI), que incluye elementos como el conjunto de instrucciones de la CPU y las extensiones que se pueden usar, la capacidad de almacenamiento y carga de memoria en tiempo de ejecución, convenciones para pasar datos entre aplicaciones y el sistema y el formato de los programas ejecutables y las bibliotecas compartidas.
ARM-compatible
"Cualquier C ++ en su aplicación de Android se compila directamente en las instrucciones de la máquina", dice Michael Hazard, Gerente de Producto Asociado en Google. “Esto significa que debe compilarse de manera diferente según la arquitectura del dispositivo de destino. Los teléfonos móviles tienden a tener procesadores ARM; en consecuencia, muchas dependencias de C ++ que puede agregar a su aplicación, como una biblioteca de escáner de código de barras de cámara, solo son compatibles con los procesadores ARM. Este es un problema si se desarrolla en una computadora con un procesador basado en x86, ya que evitaría que ejecute su aplicación ".
“Las nuevas imágenes del sistema Android 11 compatibles con ARM permiten que todo el sistema corra x86 de forma nativa y aproveche las tecnologías de virtualización como de costumbre. Cuando el proceso de una aplicación requiere un binario ARM, el binario se traduce a x86 dentro de ese proceso exclusivamente. Esto permite que el resto del proceso continúe ejecutándose en x86, incluido Android Runtime (ART) y otras bibliotecas de rendimiento crítico como libGLES y libvulkan ".
El traductor también evitará la costosa instrumentación de acceso a la memoria y el rendimiento asociado al evitar la ejecución de bibliotecas específicas de hardware de bajo nivel, agrega.
Las nuevas imágenes del sistema emulador se pueden usar tanto localmente como en su propia infraestructura de integración continua.
Intente nuevamente con ARM emulado

La imagen de arriba muestra el Administrador de dispositivo virtual de Android que crea un AVD (Dispositivo virtual de Android) que ejecuta Android 11
Google insta a los desarrolladores que previamente han evitado su sistema de emulador debido a la falta de soporte ARM, que prueben las imágenes del sistema Android 11. Se pueden descargar en Android Studio a través del SDK Manager o el Android Virtual Device Manager, que se incluye con Android Studio, el IDE de Google.
Tenga en cuenta que Android 11 Developer Preview 2 se lanzó la semana pasada e incluye soporte para procesamiento 5G y pantallas plegables. Android 11 está programado para aparecer en "Q3".
Ver también: Google eyes 5G, pantallas plegables con Android 11 Developer Preview 2
