Cómo instalar Android Q Beta GSI en tu dispositivo para que puedas probar tus aplicaciones

Google lanzó GSI de la segunda versión beta de Android Q. Estas imágenes del sistema se pueden instalar en dispositivos compatibles con Project Treble para probar aplicaciones. Así es cómo.

A medida que nos acercamos cada vez más a la versión final de Android Q, el tiempo para que los desarrolladores actualicen sus aplicaciones se acorta. Aunque Android 9 Pie (nivel API 28) aún no ha llegado a la gran mayoría de dispositivos, los requisitos de nivel API de Google Play, que debes ya estar muy consciente de, lo obligará a apuntar al nivel API 29 en 2020. Si aún no has actualizado tu aplicación para apuntar a Android 9 Pie, entonces Tienes hasta agosto si planeas lanzar una nueva aplicación o hasta noviembre si planeas actualizar una aplicación existente. Para aquellos de ustedes que quieran comenzar a desarrollar la próxima versión de Android, ya pueden probar su aplicación en el Emulador de Android Studio o en hardware físico si posee cualquier teléfono inteligente Google Pixel. Este año, sin embargo, Google ofrece a los desarrolladores otra forma de probar sus aplicaciones con la última versión de Android: mostrar una

Android Q beta GSI en un dispositivo compatible con Project Treble.

Proyecto agudos es una iniciativa importante para mejorar la velocidad a la que los fabricantes de dispositivos inteligentes pueden lanzar actualizaciones de software y seguridad. En pocas palabras, Treble requiere que los fabricantes de dispositivos separe el software que hace que el hardware funcione del software detrás del sistema operativo. Esto permite a los fabricantes de dispositivos iniciar nuevas versiones de Android en sus dispositivos existentes para que puedan comenzar la ardua tarea de trasladar su base de código existente además de la nueva versión del código fuente de Android. Complementario a CTS es VTS, o Vendor Test Suite, un conjunto de pruebas que los fabricantes de dispositivos utilizan para verificar que su dispositivo cumple con los requisitos de Project Treble. Una de las comprobaciones más importantes que deben probar los fabricantes de dispositivos es la capacidad de un teléfono inteligente compatible con Treble para iniciar lo que se llama GSI o imagen genérica del sistema. Un GSI es una versión no modificada de AOSP destinada a que los fabricantes de dispositivos vean si han implementado Treble correctamente. Sin embargo, más allá de los OEM, Google cree que los desarrolladores pueden utilizar GSI para realizar pruebas de compatibilidad de aplicaciones de Android.

Por ejemplo, si no posee un Google Pixel, la única forma de probar el comportamiento de su aplicación en las condiciones que mejor se adapten a las de Google La documentación es para que usted adquiera su propio dispositivo Pixel, inicie el emulador de Android Studio o busque una prueba en la nube. servicio. Cada uno de estos tiene sus pros y sus contras, pero si ya tiene un dispositivo compatible con Treble y no quiere gastar dinero ni lidiar con las limitaciones de un emulador, ¿por qué no colocarle un GSI? Si su aplicación funciona en un GSI, debería funcionar en casi todos los dispositivos que ejecutan esa versión de Android.

Ese es el proceso de pensamiento detrás de la decisión de Google de lanzar Android Q GSI, o al menos eso es lo que pensamos. El código fuente de Android Q no estará disponible hasta agosto, por lo que los binarios GSI oficiales de Google son la única forma en este momento de probar Android Q en hardware real que no sea Pixel. Así es como puedes empezar.

Requisitos

Antes de siquiera considerar instalar la versión beta de Android Q, debe verificar si su dispositivo es compatible con Project Treble y puede aceptar imágenes flash del sistema desde el gestor de arranque.

Requisitos:

  • Tu dispositivo DEBE tener un gestor de arranque desbloqueable. Los teléfonos inteligentes Snapdragon de Samsung vendidos en los EE. UU., los dispositivos de la marca Huawei, los dispositivos de la marca Honor y los dispositivos de la marca Nokia de HMD Global (excepto el nokia 8) no califican aquí.
  • Tiene los últimos binarios ADB y Fastboot instalados en su PC, que puede encontrar aquí. Las versiones obsoletas de Fastboot pueden provocar flasheos inadecuados.
  • Tu dispositivo DEBE encontrarse uno de los siguientes criterios para ser considerado compatible con Project Treble:
    • El dispositivo LANZADO con Android 9 Pie. Si este es el caso, puede omitir la confirmación de compatibilidad de agudos después de llegar al final de esta sección.
    • El dispositivo se lanzó con Android 8.0 Oreo o Android 8.1 Oreo, pero se actualizó a Android 9 Pie con aislamiento VNDK y sistema como raíz. Detallamos cómo averiguarlo en la sección siguiente.

Antes de continuar, vale la pena mencionar que para actualizar un GSI será necesario realizar un borrado completo de la partición de datos del usuario. Esto significa que perderá todas las fotos, videos, música, documentos o cualquier otra cosa en el almacenamiento interno y externo (/data/media) del dispositivo. Por lo tanto, se recomienda encarecidamente realizar una copia de seguridad fuera del dispositivo antes de continuar.

A continuación, tenga en cuenta que estos GSI no han pasado CTS, por lo que si su aplicación utiliza la API de atestación SafetyNet para verificar la integridad del dispositivo con una coincidencia de perfil CTS, eso no funcionará. Además, estas compilaciones no están diseñadas para el uso diario, así que no se sorprenda si una o más funciones básicas del hardware no funcionan además de los errores ya documentados en Android Q. Google ya ha enumerado algunos problemas conocidos con GSI, que puede encontrar aquí. Cualquier error nuevo que encuentre debe archivarse. aquí.

Confirmación de compatibilidad con agudos

Ejecute el siguiente comando:

adbshellgetpropro.treble.enabled

Si la respuesta es FALSO, entonces su dispositivo no es compatible con Project Treble y no debe continuar. Si la respuesta es verdadero, entonces eres libre de seguir adelante.

A continuación, verifique la compatibilidad con versiones cruzadas ejecutando estos comandos:

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

En la salida, busque la sección [proveedor], y luego dentro de esa sección, busque espacio de nombres.predeterminado.aislado. Si el valor de ese atributo es verdadero, entonces su dispositivo debería admitir el inicio de Android Q GSI sobre una imagen de proveedor de Android 9 Pie. Si el valor es FALSO, entonces su dispositivo solo puede usar GSI para la misma versión del sistema operativo en el dispositivo.

Salida de muestra de un OnePlus 6T.

Por último, debe confirmar si su dispositivo tiene el sistema como raíz, en el que el disco ram se fusiona con la imagen del sistema. El sistema como raíz no es obligatorio para los dispositivos que se actualizan a Android 9 Pie, pero es necesario para admitir una OTA solo del sistema, como en el caso de actualizar una nueva versión del sistema operativo a través de GSI. Ejecute los siguientes comandos y verifique que el resultado coincida con "sistema como raíz":

adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"

Ahora que sabe que su dispositivo es compatible con Treble, necesita determinar qué versión del binario GSI descargar, ya que existen diferentes imágenes para diferentes arquitecturas. Para ver qué arquitectura tiene su dispositivo, ejecute el siguiente comando:

adbshellgetpropro.product.cpu.abi

Tome nota del resultado aquí, ya que lo necesitará al descargar el GSI.

Descargando el GSI

Los enlaces de descarga para las versiones oficiales de Android Q beta GSI están disponibles en Google. aquí. Debe descargar la versión adecuada según la arquitectura de su dispositivo, que descubrió en el paso anterior. La descarga será bastante grande si descarga la compilación con GMS o los servicios móviles de Google, algo que recomendamos encarecidamente para que pueda probar su aplicación en una compilación con los servicios de Google Play.

Una vez que el archivo haya terminado de descargarse, puedes descomprimirlo. Dentro hay dos archivos, sistema.img, y vbmeta.img.

Flashear el GSI

  1. Reinicie el gestor de arranque de su dispositivo usando una combinación de botones o emitiendo el comando:
    adb reboot bootloader
  2. A continuación, debemos desactivar el arranque verificado de Android (AVB). Puede hacer esto ingresando el siguiente comando:
    fastbootflashvbmetavbmeta.img
  3. A continuación, limpiemos la partición del sistema:
    fastboot erase system
  4. Por fin podremos flashear el Android Q GSI con:
    fastbootflashsystemsystem.img
  5. Una vez hecho esto, borre la partición de datos de usuario con:
    fastboot -w
  6. Reinicie su dispositivo usando el botón de encendido o ingresando:
    fastboot reboot

Con suerte, debería iniciarse después de unos minutos. Estos pasos se validaron en un Pixel 3 XL, pero deberían funcionar universalmente. Podemos comprobar que Android Q beta 2 GSI no arranca en el OnePlus 6T, pero sí en el Xiaomi Mi 9. Puede que funcione en el Sony Xperia XZ3, pero nos dicen que no arranca en el Moto G7. Su kilometraje puede variar ya que los requisitos de Google solo confirman la compatibilidad GSI de la misma versión del sistema operativo.