Imágenes genéricas del sistema (GSI)

Una imagen genérica del sistema (GSI) es una implementación de Android en estado puro que incluye código sin modificar del Proyecto de código abierto de Android (AOSP) y que se puede ejecutar en diversos dispositivos Android.

Los desarrolladores de apps pueden instalar y ejecutar las últimas GSIs de Android para realizar pruebas en una variedad de dispositivos Android existentes y usar las GSIs de diferentes etapas de lanzamiento del SO Android, incluidas las compilaciones de la Versión preliminar para desarrolladores y la versión beta. Agregar GSIs a tus procesos de verificación y prueba puede proporcionarte algunos beneficios adicionales:

  • Amplia cobertura de prueba en un conjunto más grande de dispositivos reales
  • Más tiempo para solucionar problemas de compatibilidad de apps
  • Más oportunidades para solucionar problemas de compatibilidad en Android que informan los desarrolladores de apps

El proyecto de GSI es de código abierto y ayuda a mejorar el ecosistema de Android, ya que proporciona más formas de optimizar la calidad de las apps y del SO antes de cada lanzamiento de Android.

Compatibilidad de GSIs en dispositivos
Figura 1: Las GSIs se pueden instalar en una amplia variedad de dispositivos y, a veces, incluso para versiones de Android para las que un fabricante de dispositivos no proporciona su propia imagen del sistema.

Las GSIs incluyen las mismas funciones principales del sistema para todos los dispositivos en los que están instaladas. En otras palabras, una GSI no incluye las personalizaciones del fabricante del dispositivo. Debido a esto, puedes encontrar diferencias de comportamiento en las siguientes situaciones:

  • Interacciones que involucran a la IU
  • Flujos de trabajo que requieren nuevas funciones de hardware

Cómo verificar el cumplimiento del dispositivo

Las GSIs solo pueden funcionar en dispositivos con las siguientes características:

  • Tienen el bootloader desbloqueado.
  • Son totalmente compatibles con Treble.
  • Se lanzaron con Android 9 (nivel de API 28) o versiones posteriores. Es posible que los dispositivos actualizados a Android 9 desde una versión anterior no sean compatibles con las GSIs.

Para verificar si tu dispositivo puede usar una GSI y para saber qué versión de SO de GSI debes instalar, sigue estos pasos:

  1. Ejecuta el siguiente comando para corroborar si es compatible con Treble:

    adb shell getprop ro.treble.enabled

    Si la respuesta es false, el dispositivo no es compatible con GSIs, y no debes continuar con la instalación. Si es true, ve al próximo paso.

  2. Ejecuta el siguiente comando para verificar si es compatible con varias versiones:

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    En el resultado, busca namespace.default.isolated en la sección [vendor].

    Si el valor de ese atributo es true, significa que el dispositivo es totalmente compatible con el kit de desarrollo nativo del proveedor (VNDK) y que se puede usar cualquier versión del sistema operativo (SO) de GSI posterior a la versión del SO del dispositivo. Siempre que sea posible, usa la versión más reciente del SO de GSI.

    Si el valor del atributo es false, significa que el dispositivo no cumple con todos los requisitos necesarios del VNDK y que solo se puede usar una versión de GSI que coincida con la del SO del dispositivo. Por ejemplo, un dispositivo con Android 10 (versión de la API 29) que no cumple con los requisitos del VNDK solo puede cargar una imagen de GSI de Android 10.

  3. El tipo de arquitectura de CPU de GSI debe coincidir con la del dispositivo. Ejecuta el siguiente comando para obtener la arquitectura de CPU correcta para la imagen de GSI:

    adb shell getprop ro.product.cpu.abi

    Utiliza el resultado para ver qué imagen de GSI debes instalar en el dispositivo. Por ejemplo, en un Pixel 5, el resultado indicaría que la arquitectura de CPU es arm64-v8a. Por lo tanto, deberías usar el tipo arm64 de GSI.

Cómo descargar GSIs

Hay algunas maneras de obtener GSIs según las necesidades de desarrollo:

Cómo instalar una GSI

La instalación de una GSI depende del dispositivo. Consulta al fabricante del dispositivo para conocer las herramientas y los procedimientos exactos. En los dispositivos Google Pixel, como Pixel 3 y modelos más nuevos, hay varias formas de instalación:

Cómo enviar comentarios

Las GSIs están diseñadas para ayudarte a validar tus apps en Android. Los comentarios sobre imágenes, herramientas y el proceso de uso de las GSIs en tus dispositivos son bienvenidos.

Para notificar errores o solicitudes de funciones, usa el componente exclusivo de la Herramienta de seguimiento de errores para GSIs.

Recursos adicionales