Cum să instalați Android Q Beta GSI pe dispozitivul dvs., astfel încât să vă puteți testa aplicațiile

Google a lansat GSI-urile celui de-al doilea Android Q beta. Aceste imagini de sistem pot fi instalate pe dispozitive compatibile cu Project Treble pentru testarea aplicației. Iată cum.

Pe măsură ce ne apropiem din ce în ce mai mult de versiunea finală a Android Q, timpul pentru dezvoltatori de a-și actualiza aplicațiile se scurtează. Deși Android 9 Pie (nivelul API 28) nu a ajuns încă la marea majoritate a dispozitivelor, cerințele de nivel API ale Google Play, pe care ar trebui să le fiți deja bine conștienți de, vă va forța să vizați nivelul API 29 în 2020. Dacă nu v-ați actualizat deja aplicația pentru a viza Android 9 Pie, apoi aveți timp până în august dacă intenționați să lansați o nouă aplicație sau până în noiembrie dacă intenționați să actualizați o aplicație existentă. Pentru aceia dintre voi care doresc să înceapă să dezvolte pentru următoarea versiune Android, vă puteți testa deja aplicația pe Emulator Android Studio sau pe hardware fizic, dacă dețineți orice smartphone Google Pixel

. Totuși, în acest an, Google oferă dezvoltatorilor o altă modalitate de a-și testa aplicațiile cu cea mai recentă versiune Android: flashing an Android Q beta GSI pe un dispozitiv compatibil Project Treble.

Proiect Treble este o inițiativă majoră de îmbunătățire a vitezei cu care producătorii de dispozitive smartphone pot transmite actualizări de software și de securitate. Pe scurt, Treble cere ca producătorii de dispozitive să separe software-ul care face ca hardware-ul să funcționeze de software-ul din spatele sistemului de operare. Acest lucru permite producătorilor de dispozitive să pornească noi versiuni Android pe dispozitivele lor existente, astfel încât să poată începe sarcina grea de a-și porta baza de cod existentă peste noua lansare de cod sursă Android. Complementar cu CTS este VTS, sau Vendor Test Suite, un set de teste pe care producătorii de dispozitive le folosesc pentru a verifica că dispozitivul lor îndeplinește cerințele Project Treble. Una dintre cele mai importante verificări pe care producătorii de dispozitive trebuie să le testeze este capacitatea unui smartphone compatibil Treble de a porni ceea ce se numește GSI sau Imagine de sistem generică. Un GSI este o versiune nemodificată a AOSP care este destinată producătorilor de dispozitive pentru a vedea dacă au implementat corect Treble. Dincolo de OEM, însă, Google crede că GSI-urile pot fi utilizate de dezvoltatori pentru testarea compatibilității aplicațiilor Android.

De exemplu, dacă nu dețineți un Google Pixel, singura modalitate prin care puteți testa comportamentul aplicației dvs. în condițiile care se potrivesc cel mai bine cu Google documentația vă permite fie să achiziționați un dispozitiv Pixel, să porniți emulatorul Android Studio, fie să căutați o testare în cloud serviciu. Fiecare dintre acestea are avantajele și dezavantajele lor, dar dacă aveți un dispozitiv compatibil cu Treble și nu doriți să cheltuiți bani sau să vă ocupați de limitările unui emulator, de ce să nu puneți un GSI pe el? Dacă aplicația dvs. funcționează pe un GSI, ar trebui să funcționeze pe aproape toate dispozitivele care rulează acea versiune Android.

Acesta este procesul de gândire din spatele deciziei Google de a lansa Android Q GSI, sau cel puțin asta credem noi. Codul sursă pentru Android Q nu va fi disponibil până în august, așa că binarele GSI oficiale ale Google sunt singura modalitate de a testa Android Q pe hardware real, non-Pixel. Iată cum puteți începe.

Cerințe

Înainte de a lua în considerare instalarea Android Q beta, ar trebui să verificați pentru a vedea dacă dispozitivul dvs. este compatibil Project Treble și poate accepta imagini de sistem intermitente de la bootloader.

Cerințe:

  • Dispozitivul tau TREBUIE SA au un bootloader deblocat. Telefoane inteligente Snapdragon Samsung vândute în S.U.A., dispozitive cu marca Huawei, dispozitive cu marca Honor și dispozitive cu marca Nokia de la HMD Global (cu excepția Nokia 8) nu se califică aici.
  • Aveți cele mai recente programe binare ADB și Fastboot instalate pe computer, pe care le puteți găsi Aici. Versiunile învechite de Fastboot pot duce la blițuri necorespunzătoare.
  • Dispozitivul tau TREBUIE SA întâlni unu dintre următoarele criterii pentru a fi considerate compatibile cu Project Treble:
    • Dispozitivul a fost lansat cu Android 9 Pie. Dacă acesta este cazul, atunci puteți sări peste confirmarea compatibilității Treble după ce ajungeți la sfârșitul acestei secțiuni.
    • Dispozitivul a fost lansat cu Android 8.0 Oreo sau Android 8.1 Oreo, dar a fost actualizat la Android 9 Pie cu izolare VNDK și sistem ca rădăcină. Detaliem cum să aflăm asta în secțiunea de mai jos.

Înainte de a merge mai departe, merită menționat că pentru a intermite un GSI va trebui să efectuați o ștergere completă a partiției de date utilizator. Aceasta înseamnă că veți pierde toate fotografiile, videoclipurile, muzica, documentele sau orice altceva din stocarea internă și externă (/data/media) a dispozitivului. Astfel, este foarte recomandat să faceți o copie de rezervă în afara dispozitivului înainte de a merge mai departe.

Apoi, rețineți că aceste GSI-uri nu au trecut de CTS, așa că dacă aplicația dvs. utilizează API-ul SafetyNet Attestation pentru a verifica integritatea dispozitivului cu o potrivire a profilului CTS, atunci aceasta nu va funcționa. De asemenea, aceste versiuni nu sunt destinate utilizării zilnice, așa că nu fi surprins dacă una sau mai multe funcții hardware de bază nu funcționează pe lângă erorile deja documentate în Android Q. Google a enumerat deja câteva probleme cunoscute cu GSI, pe care le puteți găsi Aici. Orice erori noi pe care le găsiți ar trebui să fie depuse Aici.

Se confirmă compatibilitatea cu înalte

Rulați următoarea comandă:

adbshellgetpropro.treble.enabled

Dacă răspunsul este fals, atunci dispozitivul dvs. nu este compatibil cu Project Treble și nu ar trebui să continuați. Dacă răspunsul este Adevărat, atunci ești liber să mergi mai departe.

Apoi, verificați compatibilitatea între versiuni prin rularea acestor comenzi:

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

În rezultat, căutați secțiunea [furnizor], iar apoi în acea secțiune, căutați namespace.default.izolat. Dacă valoarea pentru acel atribut este Adevărat, atunci dispozitivul dvs. ar trebui să accepte pornirea Android Q GSI deasupra unei imagini de furnizor Android 9 Pie. Dacă valoarea este fals, atunci dispozitivul dvs. poate folosi GSI numai pentru aceeași versiune de pe dispozitiv a sistemului de operare.

Exemplu de ieșire de la un OnePlus 6T.

În cele din urmă, trebuie să confirmați dacă dispozitivul dvs. este system-as-root, în care discul ram este îmbinat cu imaginea sistemului. System-as-root nu este obligatoriu pentru dispozitivele care fac upgrade la Android 9 Pie, dar este necesar pentru a accepta o OTA numai de sistem, cum ar fi în cazul flashării unei noi versiuni de sistem de operare prin GSI. Rulați următoarele comenzi și verificați dacă rezultatul se potrivește cu „system-as-root”:

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

Acum că știți că dispozitivul dvs. este compatibil Treble, trebuie să vă dați seama ce versiune a binarului GSI să descărcați, deoarece există imagini diferite pentru diferite arhitecturi. Pentru a vedea ce arhitectură are dispozitivul dvs., executați următoarea comandă:

adbshellgetpropro.product.cpu.abi

Notați rezultatul aici, deoarece veți avea nevoie de el când descărcați GSI.

Descărcarea GSI

Linkurile de descărcare pentru versiunile oficiale ale Android Q beta GSI sunt disponibile de la Google Aici. Ar trebui să descărcați versiunea corespunzătoare în funcție de arhitectura dispozitivului, pe care ați aflat-o în pasul anterior. Descărcarea va fi destul de mare dacă descărcați versiunea cu GMS sau Google Mobile Services, lucru pe care îl recomandăm cu căldură, astfel încât să vă puteți testa aplicația pe o versiune cu Servicii Google Play.

Odată ce fișierul s-a terminat de descărcat, îl puteți dezarhiva. Conținute în interior sunt două fișiere, sistem.img, și vbmeta.img.

Se aprinde intermitent GSI

  1. Reporniți la bootloader-ul dispozitivului dvs. folosind fie o combinație de butoane, fie lansând comanda:
    adb reboot bootloader
  2. Apoi, trebuie să dezactivăm Android Verified Boot (AVB). Puteți face acest lucru introducând următoarea comandă:
    fastbootflashvbmetavbmeta.img
  3. Apoi, să ștergem partiția de sistem:
    fastboot erase system
  4. Putem în sfârșit să flash Android Q GSI cu:
    fastbootflashsystemsystem.img
  5. După ce ați terminat, ștergeți partiția userdata cu:
    fastboot -w
  6. Reporniți dispozitivul folosind fie butonul de pornire, fie introducând:
    fastboot reboot

Sperăm că ar trebui să pornească după câteva minute. Acești pași au fost validați pe un Pixel 3 XL, dar ar trebui să funcționeze universal. Putem verifica că Android Q beta 2 GSI nu pornește pe OnePlus 6T, dar pornește pe Xiaomi Mi 9. Poate funcționa pe Sony Xperia XZ3, dar ni s-a spus că nu pornește pe Moto G7. Kilometrajul dvs. poate varia, deoarece cerințele Google confirmă doar compatibilitatea cu aceeași versiune a sistemului de operare GSI.