Come installare Android Q Beta GSI sul tuo dispositivo in modo da poter testare le tue app
Man mano che si avvicina sempre di più l'ultima versione di Android Q, il tempo per gli sviluppatori di aggiornare le proprie applicazioni si riduce. Anche se Android 9 Pie (livello API 28) non ha ancora raggiunto la maggior parte dei dispositivi, i requisiti di livello dell'API di Google Play, di cui dovresti già essere a conoscenza, ti obbligheranno a raggiungere il livello API 29 nel 2020. Se non lo hai hai già aggiornato la tua app per scegliere Android 9 Pie, quindi hai tempo fino ad agosto se prevedi di avviare una nuova app o fino a novembre se prevedi di aggiornare un'app esistente. Per quelli di voi che vogliono iniziare a sviluppare per la prossima versione di Android, è possibile testare la propria app sull'emulatore di Android Studio o sull'hardware fisico se possiedi uno smartphone Google Pixel. Quest'anno, però, Google offre agli sviluppatori un altro modo per testare le proprie app rispetto alla versione più recente di Android: eseguire il flashing di una GSI beta Q Android su un dispositivo compatibile con Project Treble. Project Treble è un'importante iniziativa per migliorare la velocità con cui i produttori di dispositivi smartphone possono inviare 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 Android sui loro dispositivi esistenti in modo che possano iniziare l'arduo compito di trasferire la loro base di codice esistente sulla nuova versione del codice sorgente 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 per i produttori di dispositivi da testare è la possibilità per uno smartphone compatibile con Treble di avviare quello che viene chiamato 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, tuttavia, Google ritiene che i GSI possano essere utilizzati dagli sviluppatori per i test di 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 alla documentazione di Google è che tu possa acquisire un dispositivo Pixel di tua scelta, avviare l'emulatore di Android Studio , o guardare in un servizio di test cloud. Ognuno di questi ha i suoi pro e contro, ma se hai un dispositivo compatibile con Treble esistente e non vuoi spendere soldi o gestire le limitazioni di un emulatore, perché non schiaffare un GSI su di esso? Se la tua app funziona su un GSI, dovrebbe funzionare su quasi tutti i dispositivi che eseguono la versione di Android. Questo è il processo mentale dietro la decisione di Google di rilasciare Android Q GSI, o almeno questo è ciò 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 per testare Android Q su hardware reale, non Pixel. Ecco come puoi iniziare. Requisiti Prima di prendere in considerazione l'installazione di Android Q beta, è necessario verificare se il dispositivo è compatibile con Project Treble e può accettare immagini di sistema lampeggianti dal bootloader. Requisiti: il tuo dispositivo DEVE avere un bootloader sbloccabile. Gli smartphone Snapdragon Samsung venduti negli Stati Uniti, i dispositivi con marchio Huawei, i dispositivi a marchio Honor ei dispositivi con marchio Nokia di HMD Global (ad eccezione del Nokia 8) non si qualificano qui. Hai gli ultimi binari ADB e Fastboot installati sul tuo PC, che puoi trovare qui. Le versioni obsolete di Fastboot possono causare flash non corretti. Il tuo dispositivo DEVE soddisfare uno dei seguenti criteri per essere considerato compatibile con Project Treble: il dispositivo LANCIATO con Android 9 Pie. Se questo è il 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 system-as-root. Descriviamo in dettaglio come scoprirlo nella sezione sottostante. Prima di andare oltre, vale la pena ricordare che il flashing di un GSI richiede la completa cancellazione della partizione userdata. Ciò significa che perderai tutte le foto, i video, la musica, i documenti o qualsiasi altra cosa sulla memoria interna ed esterna (/ dati / supporti) del dispositivo. Pertanto, è altamente raccomandato eseguire un backup fuori dispositivo prima di procedere ulteriormente. Successivamente, tieni presente che questi GSI non hanno superato CTS, quindi se la tua app utilizza l'API di Attestato SafetyNet per verificare l'integrità del dispositivo con una corrispondenza del profilo CTS, non funzionerà. Inoltre, queste build non sono pensate per l'uso quotidiano, quindi non sorprenderti se una o più funzioni hardware di base non funzionano in aggiunta ai bug già documentati in Android Q. Google ha già elencato alcuni problemi noti con GSI, che puoi trovare qui. Qualsiasi nuovo bug che trovi dovrebbe essere archiviato qui. Conferma della compatibilità con Treble Eseguire il seguente comando: adb shell getprop ro.treble.enabled Se la risposta è falsa, il dispositivo non è compatibile con Project Treble e non si dovrebbe continuare. Se la risposta è vera, allora sei libero di andare avanti. Successivamente, controlla il supporto per le versioni incrociate eseguendo questi comandi: adb shell cat /system/etc/ld.config.28.txt | grep -A 20 "\ [fornitore]" Nell'output, cerca la sezione [fornitore], quindi all'interno di quella sezione, cerca namespace.default.isolated. Se il valore di tale attributo è true, il dispositivo deve supportare l'avvio del GSI Q di Android in cima a un'immagine del venditore di Android 9 Pie. Se il valore è falso, il dispositivo può utilizzare il GSI solo per la stessa versione del sistema operativo presente sul dispositivo. Esempio di output da OnePlus 6T. Infine, è necessario verificare se il dispositivo è system-as-root, in cui il ramdisk viene unito all'immagine di sistema. System-as-root non è obbligatorio per i dispositivi che eseguono l'aggiornamento a Android 9 Pie, ma è necessario supportare un OTA di sistema come nel caso di una nuova versione del sistema operativo tramite GSI. Eseguire i seguenti comandi e verificare 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 determinare quale versione del binario GSI deve essere scaricata, poiché ci sono diverse immagini per diverse architetture. Per vedere quale architettura ha il tuo dispositivo, esegui il seguente comando: adb shell getprop ro.product.cpu.abi Prendi nota dell'output qui, come avrai bisogno durante il download del GSI. Il download dei link di download GSI per le build ufficiali del GSI beta Q Android è disponibile qui da Google. Dovresti scaricare la versione appropriata in base all'architettura del tuo dispositivo, che hai scoperto nel passaggio precedente. Il download sarà abbastanza grande se scarichi la build con GMS o Google Mobile Services, cosa che ti consigliamo vivamente di testare la tua app su una build con Google Play Services. Una volta che il file ha finito di scaricare, puoi decomprimerlo. Sono inclusi due file, system.img e vbmeta.img. Flashing del GSI Riavvia il bootloader del tuo dispositivo usando una combinazione di pulsanti o eseguendo il comando: adb reboot bootloader Successivamente, dobbiamo disabilitare Android Verified Boot (AVB). Puoi fare ciò inserendo il seguente comando: fastboot flash vbmeta vbmeta.img Successivamente, puliamo la partizione di sistema: sistema di cancellazione fastboot Possiamo finalmente aggiornare l'interfaccia GSI Q di Android con: sistema flash fastboot system.img Una volta fatto, cancella i dati utente partizione con: fastboot -w Riavvia il dispositivo utilizzando il pulsante di accensione o inserendo: riavvio riavvio rapido Si spera, dovrebbe avviarsi dopo pochi minuti. Questi passaggi sono stati convalidati su un Pixel 3 XL, ma dovrebbero funzionare universalmente. Possiamo verificare che l'Android Q beta 2 GSI non si avvii su OnePlus 6T, ma si avvia su Xiaomi Mi 9. Potrebbe funzionare sul Sony Xperia XZ3, ma ci viene detto che non si avvia sul Moto G7. Il tuo chilometraggio può variare in quanto i requisiti di Google confermano solo la stessa compatibilità con la versione GSI del sistema operativo. Il post Come installare il GSI Beta Q Android sul tuo dispositivo in modo da poter testare le tue app apparse prima su xda-developers.