Kako instalirati Android Q Beta GSI na svoj uređaj kako biste mogli testirati svoje aplikacije

Google je objavio GSI druge beta verzije Androida Q. Ove slike sustava mogu se instalirati na uređaje kompatibilne s Project Treble za testiranje aplikacija. Evo kako.

Kako smo sve bliže i bliže konačnom izdanju Androida Q, vrijeme programerima da ažuriraju svoje aplikacije se skraćuje. Iako Android 9 Pie (razina API-ja 28) tek treba doći do velike većine uređaja, zahtjevi razine API-ja Google Playa, koje biste trebali već biti dobro svjestan, prisilit će vas da 2020. ciljate API razinu 29. Ako već niste ažurirali svoju aplikaciju da cilja na Android 9 Pie, zatim imate vremena do kolovoza ako planirate pokrenuti novu aplikaciju ili do studenog ako planirate ažurirati postojeću aplikaciju. Za one od vas koji žele započeti s razvojem za sljedeću verziju Androida, svoju aplikaciju već možete testirati na Android Studio emulator ili na fizičkom hardveru ako ga posjedujete bilo koji Google Pixel pametni telefon. Međutim, ove godine Google programerima pruža još jedan način testiranja svojih aplikacija u odnosu na najnoviju verziju Androida: bljeskanje an

Android Q beta GSI na uređaj kompatibilan s Project Treble.

Projekt Treble je velika inicijativa za poboljšanje brzine kojom proizvođači pametnih telefona mogu izbaciti softverska i sigurnosna ažuriranja. Ukratko, Treble zahtijeva da proizvođači uređaja odvoje softver koji omogućuje rad hardvera od softvera iza OS-a. To omogućuje proizvođačima uređaja da pokrenu nova izdanja Androida na svojim postojećim uređajima kako bi mogli započeti mukotrpan zadatak prijenosa svoje postojeće baze koda na novo izdanje izvornog koda Androida. Komplementaran CTS-u je VTS ili Vendor Test Suite, skup testova koje proizvođači uređaja koriste kako bi potvrdili da njihov uređaj zadovoljava zahtjeve Project Treble-a. Jedna od najvažnijih provjera koju proizvođači uređaja trebaju testirati jest sposobnost pametnog telefona koji je kompatibilan s visokim frekvencijama da pokrene ono što se naziva GSI ili Generic System Image. GSI je nemodificirana verzija AOSP-a koja je namijenjena proizvođačima uređaja da vide jesu li pravilno implementirali Treble. No, osim OEM-a, Google vjeruje da razvojni programeri mogu koristiti GSI za testiranje kompatibilnosti Android aplikacija.

Na primjer, ako ne posjedujete Google Pixel, jedini način da testirate ponašanje svoje aplikacije pod uvjetima koji najbolje odgovaraju Googleovim dokumentacija je za vas da nabavite vlastiti Pixel uređaj, pokrenete emulator Android Studio ili pogledate testiranje u oblaku servis. Svaki od njih ima svoje prednosti i nedostatke, ali ako već imate uređaj kompatibilan s Treble-om i ne želite trošiti novac niti se baviti ograničenjima emulatora, zašto ga ne biste ubacili u GSI? Ako vaša aplikacija radi na GSI-ju, trebala bi raditi na gotovo svim uređajima s tom verzijom Androida.

To je proces razmišljanja iza Googleove odluke da objavi Android Q GSI, ili barem tako mislimo. Izvorni kod za Android Q neće biti dostupan do kolovoza, tako da su Googleove službene GSI binarne datoteke trenutno jedini način da testirate Android Q na stvarnom, ne-Pixel hardveru. Evo kako možete započeti.

Zahtjevi

Prije nego uopće razmislite o instaliranju beta verzije Androida Q, trebali biste provjeriti je li vaš uređaj kompatibilan s Project Treble i može li prihvatiti trepćuće slike sustava iz bootloadera.

Zahtjevi:

  • Tvoj uređaj MORA imati pokretački program koji se ne može zaključati. Snapdragon Samsung pametni telefoni koji se prodaju u SAD-u, uređaji marke Huawei, uređaji marke Honor i uređaji marke Nokia tvrtke HMD Global (osim Nokia 8) ne ispunjavaju uvjete ovdje.
  • Na računalu imate instalirane najnovije ADB i Fastboot binarne datoteke koje možete pronaći ovdje. Zastarjele verzije Fastboota mogu rezultirati neispravnim bljeskalicama.
  • Tvoj uređaj MORA sastati se jedan sljedećih kriterija koji se smatraju kompatibilnim s projektom Treble:
    • Uređaj je LANSIRAN s Androidom 9 Pie. Ako je to slučaj, možete preskočiti potvrdu kompatibilnosti s visokim tonom nakon što dođete do kraja ovog odjeljka.
    • Uređaj je lansiran s Androidom 8.0 Oreo ili Androidom 8.1 Oreo, ali je ažuriran na Android 9 Pie s VNDK izolacijom i sustavom kao korijenom. Detaljno opisujemo kako to saznati u odjeljku u nastavku.

Prije nego što nastavimo, vrijedno je spomenuti da će fleširanje GSI-ja zahtijevati da izvršite potpuno brisanje particije korisničkih podataka. To znači da ćete izgubiti sve fotografije, videozapise, glazbu, dokumente ili bilo što drugo na unutarnjoj i vanjskoj (/data/media) pohrani uređaja. Stoga je vrlo preporučljivo napraviti sigurnosnu kopiju izvan uređaja prije nego što nastavite.

Zatim, imajte na umu da ti GSI-ovi nisu prošli CTS, pa ako vaša aplikacija koristi SafetyNet Attestation API za provjeru integriteta uređaja s podudaranjem CTS profila, to neće raditi. Također, ove verzije nisu namijenjene svakodnevnoj upotrebi, pa se nemojte iznenaditi ako jedna ili više osnovnih hardverskih funkcija ne rade povrh već dokumentiranih grešaka u Androidu Q. Google je već naveo nekoliko poznatih problema s GSI-jem, koje možete pronaći ovdje. Sve nove bugove koje nađete treba prijaviti ovdje.

Potvrđivanje visokotonske kompatibilnosti

Pokrenite sljedeću naredbu:

adbshellgetpropro.treble.enabled

Ako je odgovor lažno, vaš uređaj nije kompatibilan s projektom Treble i ne biste trebali nastaviti. Ako je odgovor pravi, onda možete slobodno nastaviti.

Zatim provjerite postoji li podrška za više verzija pokretanjem ovih naredbi:

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

U izlazu potražite odjeljak [dobavljač], a zatim unutar tog odjeljka potražite imenski prostor.zadano.izolirano. Ako je vrijednost za taj atribut pravi, tada bi vaš uređaj trebao podržavati pokretanje Androida Q GSI na vrhu slike dobavljača Androida 9 Pie. Ako je vrijednost lažno, tada vaš uređaj može koristiti samo GSI za istu verziju OS-a na uređaju.

Uzorak ispisa s OnePlus 6T.

Na kraju, trebate potvrditi je li vaš uređaj sustav kao root, u kojem je ramdisk spojen sa slikom sustava. Sustav kao korijenski nije obavezan za uređaje koji se nadograđuju na Android 9 Pie, ali je neophodan za podršku OTA samo za sustav, kao u slučaju flashanja nove verzije OS-a putem GSI-ja. Pokrenite sljedeće naredbe i provjerite odgovara li izlaz "system-as-root":

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

Sada kada znate da je vaš uređaj kompatibilan s Treble-om, morate odlučiti koju verziju GSI binarne datoteke preuzeti jer postoje različite slike za različite arhitekture. Da biste vidjeli koju arhitekturu ima vaš uređaj, pokrenite sljedeću naredbu:

adbshellgetpropro.product.cpu.abi

Ovdje zabilježite izlaz jer će vam trebati prilikom preuzimanja GSI-ja.

Preuzimanje GSI-ja

Veze za preuzimanje službenih verzija Androida Q beta GSI dostupne su od Googlea ovdje. Trebali biste preuzeti odgovarajuću verziju na temelju arhitekture vašeg uređaja, koju ste saznali u prethodnom koraku. Preuzimanje će biti prilično veliko ako preuzmete međugradnju s GMS-om ili Google Mobile Services, nešto što toplo preporučujemo kako biste mogli testirati svoju aplikaciju na međuverziji s Google Play uslugama.

Kada se datoteka završi s preuzimanjem, možete je raspakirati. Sadržane su dvije datoteke, sustav.img, i vbmeta.img.

Treperi GSI

  1. Ponovno pokrenite pokretački program vašeg uređaja pomoću kombinacije gumba ili izdavanjem naredbe:
    adb reboot bootloader
  2. Zatim moramo onemogućiti Android Verified Boot (AVB). To možete učiniti unosom sljedeće naredbe:
    fastbootflashvbmetavbmeta.img
  3. Zatim, obrišemo sistemsku particiju:
    fastboot erase system
  4. Konačno možemo flashati Android Q GSI sa:
    fastbootflashsystemsystem.img
  5. Kada to učinite, obrišite particiju korisničkih podataka pomoću:
    fastboot -w
  6. Ponovo pokrenite uređaj pomoću gumba za uključivanje ili unosom:
    fastboot reboot

Nadamo se da bi se trebao pokrenuti nakon nekoliko minuta. Ovi su koraci potvrđeni na Pixelu 3 XL, ali bi trebali funkcionirati univerzalno. Možemo potvrditi da se Android Q beta 2 GSI ne pokreće na OnePlus 6T, ali se pokreće na Xiaomi Mi 9. Možda radi na Sony Xperia XZ3, ali rečeno nam je da se ne pokreće na Moto G7. Vaša kilometraža može varirati jer Googleovi zahtjevi potvrđuju samo kompatibilnost GSI iste verzije OS-a.