Come installare Android Q Beta GSI sul tuo dispositivo per poter testare le tue app

Google ha rilasciato le GSI della seconda beta di Android Q. Queste immagini di sistema possono essere installate su dispositivi compatibili con Project Treble per testare le app. Ecco come.

Man mano che ci avviciniamo sempre di più alla versione finale di Android Q, il tempo a disposizione degli sviluppatori per aggiornare le proprie applicazioni si riduce. Anche se Android 9 Pie (livello API 28) deve ancora raggiungere la stragrande maggioranza dei dispositivi, i requisiti del livello API di Google Play, che dovresti essere già ben consapevole, ti costringerà a scegliere come target il livello API 29 nel 2020. Se non hai già aggiornato la tua app per scegliere come target Android 9 Pie, Poi hai tempo fino ad agosto se prevedi di lanciare una nuova app o fino a novembre se prevedi di aggiornare un'app esistente. Chi di voi desidera iniziare a sviluppare la prossima versione di Android può già testare la propria app su Emulatore di Android Studio o sull'hardware fisico, se lo possiedi qualsiasi smartphone Google Pixel

. Quest'anno, però, Google offre agli sviluppatori un altro modo per testare le proprie app rispetto all'ultima versione di Android: eseguire il flashing di un file Android Q beta GSI su un dispositivo compatibile con Project Treble.

Progetto Treble è un'importante iniziativa volta a migliorare la velocità con cui i produttori di dispositivi smartphone possono rilasciare aggiornamenti software e di sicurezza. In poche parole, Treble richiede che i produttori di dispositivi separino il software che fa funzionare l'hardware dal software dietro il sistema operativo. Ciò consente ai produttori di dispositivi di avviare nuove versioni di Android sui dispositivi esistenti in modo che possano iniziare l'arduo compito di trasferire la base di codice esistente sulla nuova versione del codice sorgente di Android. Complementare a CTS è VTS, o Vendor Test Suite, una serie di test che i produttori di dispositivi utilizzano per verificare che il loro dispositivo soddisfi i requisiti di Project Treble. Uno dei controlli più importanti da testare per i produttori di dispositivi è la capacità di uno smartphone compatibile con Treble di avviare quella che viene chiamata GSI o immagine di sistema generica. Un GSI è una build non modificata di AOSP destinata ai produttori di dispositivi per verificare se hanno implementato correttamente Treble. Oltre agli OEM, però, Google crede che i GSI possono essere utilizzati dagli sviluppatori per testare la compatibilità delle app Android.

Ad esempio, se non possiedi un Google Pixel, l'unico modo per testare il comportamento della tua app nelle condizioni che meglio corrispondono a quelle di Google la documentazione ti consente di acquisire un tuo dispositivo Pixel, avviare l'emulatore Android Studio o esaminare un test sul cloud servizio. Ognuno di questi ha i suoi pro e contro, ma se hai un dispositivo compatibile con Treble esistente e non vuoi spendere soldi o affrontare le limitazioni di un emulatore, perché non inserirci un GSI? Se la tua app funziona su un GSI, dovrebbe funzionare su quasi tutti i dispositivi che eseguono quella versione Android.

Questo è il processo di pensiero alla base della decisione di Google di rilasciare Android Q GSI, o almeno questo è quello che pensiamo. Il codice sorgente per Android Q non sarà disponibile fino ad agosto, quindi i binari GSI ufficiali di Google sono l'unico modo al momento per testare Android Q su hardware reale, non Pixel. Ecco come iniziare.

Requisiti

Prima ancora di prendere in considerazione l'installazione della beta di Android Q, dovresti verificare se il tuo dispositivo è compatibile con Project Treble e può accettare immagini di sistema lampeggianti dal bootloader.

Requisiti:

  • Il tuo dispositivo DOVERE abbi un bootloader sbloccabile. Gli smartphone Samsung Snapdragon venduti negli Stati Uniti, i dispositivi con marchio Huawei, i dispositivi con marchio Honor e i dispositivi con marchio Nokia di HMD Global (ad eccezione di Nokia8) non si qualificano qui.
  • Sul tuo PC sono installati gli ultimi binari ADB e Fastboot, che puoi trovare Qui. Versioni obsolete di Fastboot potrebbero causare flash errati.
  • Il tuo dispositivo DOVERE Incontrare uno dei seguenti criteri per essere considerato compatibile con Project Treble:
    • Il dispositivo è stato lanciato con Android 9 Pie. In questo caso, puoi saltare la conferma della compatibilità con Treble dopo aver raggiunto la fine di questa sezione.
    • Il dispositivo è stato lanciato con Android 8.0 Oreo o Android 8.1 Oreo ma è stato aggiornato ad Android 9 Pie con isolamento VNDK e sistema come root. Descriviamo in dettaglio come scoprirlo nella sezione seguente.

Prima di andare oltre, vale la pena ricordare che il flashing di un GSI richiederà la cancellazione completa della partizione dei dati utente. Ciò significa che perderai tutte le foto, i video, la musica, i documenti o qualsiasi altra cosa presente nella memoria interna ed esterna (/dati/media) del dispositivo. Pertanto, si consiglia vivamente di eseguire un backup esterno al dispositivo prima di procedere ulteriormente.

Successivamente, tieni presente che questi GSI non hanno superato CTS, quindi se la tua app utilizza l'API di attestazione SafetyNet per verificare l'integrità del dispositivo con una corrispondenza del profilo CTS, non funzionerà. Inoltre, queste build non sono destinate all'uso quotidiano, quindi non sorprenderti se una o più funzioni hardware di base non funzionano oltre ai bug già documentati in Android Q. Google ha già elencato alcuni problemi noti con GSI, che puoi trovare Qui. Eventuali nuovi bug rilevati dovrebbero essere archiviati Qui.

Conferma della compatibilità con gli alti

Esegui il seguente comando:

adbshellgetpropro.treble.enabled

Se la risposta è falso, il tuo dispositivo non è compatibile con Project Treble e non dovresti continuare. Se la risposta è VERO, allora sei libero di andare avanti.

Successivamente, verifica il supporto di più versioni eseguendo questi comandi:

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

Nell'output, cerca la sezione [venditore], quindi all'interno di quella sezione cercare spazio dei nomi.default.isolato. Se il valore per quell'attributo è VERO, il tuo dispositivo dovrebbe supportare l'avvio di Android Q GSI su un'immagine del fornitore di Android 9 Pie. Se il valore è falso, il tuo dispositivo potrà utilizzare GSI solo per la stessa versione del sistema operativo installata sul dispositivo.

Esempio di output da un OnePlus 6T.

Infine, devi confermare se il tuo dispositivo è system-as-root, in cui il ramdisk è unito all'immagine di sistema. System-as-root non è obbligatorio per i dispositivi che eseguono l'aggiornamento ad Android 9 Pie, ma è necessario per supportare un OTA solo di sistema, come nel caso del flashing di una nuova versione del sistema operativo tramite GSI. Esegui i seguenti comandi e verifica che l'output corrisponda a "system-as-root":

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

Ora che sai che il tuo dispositivo è compatibile con Treble, devi capire quale versione del binario GSI scaricare, poiché esistono immagini diverse per architetture diverse. Per vedere quale architettura ha il tuo dispositivo, esegui il seguente comando:

adbshellgetpropro.product.cpu.abi

Prendi nota dell'output qui, poiché ne avrai bisogno durante il download del GSI.

Scaricamento del GSI

I collegamenti per il download delle build ufficiali di Android Q beta GSI sono disponibili da Google Qui. Dovresti scaricare la versione appropriata in base all'architettura del tuo dispositivo, che hai scoperto nel passaggio precedente. Il download sarà piuttosto grande se scarichi la build con GMS o Google Mobile Services, cosa che consigliamo vivamente in modo da poter testare la tua app su una build con Google Play Services.

Una volta terminato il download del file, puoi decomprimerlo. All'interno sono contenuti due file, sistema.img, E vbmeta.img.

Lampeggiante il GSI

  1. Riavvia il bootloader del tuo dispositivo utilizzando una combinazione di pulsanti o emettendo il comando:
    adb reboot bootloader
  2. Successivamente, dobbiamo disabilitare Android Verified Boot (AVB). Puoi farlo inserendo il seguente comando:
    fastbootflashvbmetavbmeta.img
  3. Successivamente, cancelliamo la partizione di sistema:
    fastboot erase system
  4. Possiamo finalmente eseguire il flashing di Android Q GSI con:
    fastbootflashsystemsystem.img
  5. Fatto ciò, cancella la partizione dei dati utente con:
    fastboot -w
  6. Riavvia il dispositivo utilizzando il pulsante di accensione o inserendo:
    fastboot reboot

Se tutto va bene, dovrebbe avviarsi dopo pochi minuti. Questi passaggi sono stati convalidati su Pixel 3 XL, ma dovrebbero funzionare universalmente. Possiamo verificare che Android Q beta 2 GSI non si avvia su OnePlus 6T, ma si avvia su Xiaomi Mi 9. Potrebbe funzionare sul Sony Xperia XZ3, ma ci è stato detto che non si avvia sul Moto G7. Il tuo chilometraggio può variare poiché i requisiti di Google confermano solo la compatibilità GSI della stessa versione del sistema operativo.