Google je izdal GSI druge beta različice Androida Q. Te sistemske slike je mogoče namestiti v naprave, združljive s Project Treble, za testiranje aplikacij. Evo kako.
Ko se vse bolj približujemo končni izdaji Androida Q, se razvijalcem čas, da posodobijo svoje aplikacije, skrajša. Čeprav Android 9 Pie (raven API-ja 28) še ni dosegel velike večine naprav, zahteve ravni API-ja Google Play, ki bi jih morali že dobro zavedati, vas bo leta 2020 prisilil, da ciljate na raven API 29. Če še niste posodobili svoje aplikacije za Android 9 Pie, potem časa imate do avgusta, če nameravate izdati novo aplikacijo, ali do novembra, če nameravate posodobiti obstoječo aplikacijo. Za tiste, ki želite začeti z razvojem za naslednjo različico Androida, lahko svojo aplikacijo že preizkusite na Emulator Android Studio ali na fizični strojni opremi, če jo imate kateri koli pametni telefon Google Pixel. Letos pa Google ponuja razvijalcem še en način za testiranje svojih aplikacij glede na najnovejšo različico Androida: utripanje an Android Q beta GSI na napravo, združljivo s Project Treble.
Projekt Treble je velika pobuda za izboljšanje hitrosti, s katero lahko izdelovalci pametnih naprav izdajo posodobitve programske opreme in varnosti. Na kratko, Treble zahteva, da izdelovalci naprav ločijo programsko opremo, ki omogoča delovanje strojne opreme, od programske opreme za OS. To omogoča izdelovalcem naprav, da zaženejo nove izdaje Androida na svojih obstoječih napravah, tako da lahko začnejo z naporno nalogo prenosa svoje obstoječe baze kode na novo izdajo izvorne kode Android. CTS dopolnjuje VTS ali Vendor Test Suite, niz testov, ki jih izdelovalci naprav uporabljajo za preverjanje, ali njihova naprava izpolnjuje zahteve projekta Treble. Eno najpomembnejših preverjanj, ki jih morajo preizkusiti izdelovalci naprav, je zmožnost pametnega telefona, združljivega z visokimi toni, da zažene tako imenovani GSI ali generično sliko sistema. GSI je nespremenjena zgradba AOSP, ki je namenjena izdelovalcem naprav, da preverijo, ali so pravilno implementirali Treble. Poleg proizvajalcev originalne opreme pa še Google verjame da lahko GSI razvijalci uporabljajo za testiranje združljivosti aplikacij za Android.
Na primer, če nimate Google Pixel, je edini način, da preizkusite delovanje svoje aplikacije pod pogoji, ki najbolje ustrezajo Googlovim dokumentacija je namenjena nakupu lastne naprave Pixel, zagonu emulatorja Android Studio ali ogledu testiranja v oblaku storitev. Vsak od teh ima svoje prednosti in slabosti, a če imate obstoječo napravo, ki je združljiva z visokimi toni in ne želite porabiti denarja ali se ukvarjati z omejitvami emulatorja, zakaj ji ne bi vgradili GSI? Če vaša aplikacija deluje na GSI, bi morala delovati na skoraj vseh napravah s to različico Androida.
To je miselni proces za Googlovo odločitvijo, da izda Android Q GSI, ali vsaj tako mislimo. Izvorna koda za Android Q bo na voljo šele avgusta, zato so Googlove uradne binarne datoteke GSI trenutno edini način za testiranje Androida Q na resnični strojni opremi, ki ni Pixel. Tukaj je opisano, kako lahko začnete.
Zahteve
Preden sploh razmislite o namestitvi Android Q beta, morate preveriti, ali je vaša naprava združljiva s Project Treble in ali lahko sprejme utripajoče sistemske slike iz zagonskega nalagalnika.
Zahteve:
- Vaša naprava MORA imeti zagonski nalagalnik, ki ga je mogoče odkleniti. Pametni telefoni Samsung Snapdragon, ki se prodajajo v ZDA, naprave znamke Huawei, naprave znamke Honor in naprave znamke Nokia podjetja HMD Global (razen Nokia 8) tukaj ne izpolnjujejo pogojev.
- V računalniku imate nameščene najnovejše binarne datoteke ADB in Fastboot, ki jih lahko najdete tukaj. Zastarele različice hitrega zagona lahko povzročijo nepravilne bliskavice.
- Vaša naprava MORA srečati eno naslednjih meril za združljivost s projektom Treble:
- Naprava JE PREDSTAVLJENA z Androidom 9 Pie. Če je temu tako, potem lahko preskočite potrditev združljivosti visokih tonov, ko pridete do konca tega razdelka.
- Naprava je bila predstavljena z Androidom 8.0 Oreo ali Android 8.1 Oreo, vendar je bila posodobljena na Android 9 Pie z izolacijo VNDK in sistemom kot root. V spodnjem razdelku je podrobno opisano, kako to ugotoviti.
Preden gremo naprej, je vredno omeniti, da bo utripanje GSI zahtevalo popolno brisanje particije uporabniških podatkov. To pomeni, da boste izgubili vse fotografije, videoposnetke, glasbo, dokumente ali karkoli drugega v notranjem in zunanjem (/data/media) pomnilniku naprave. Zato je zelo priporočljivo narediti varnostno kopijo zunaj naprave, preden nadaljujete.
Nato ne pozabite, da ti GSI niso prestali CTS, tako da če vaša aplikacija uporablja API za potrdilo SafetyNet za preverjanje celovitosti naprave z ujemanjem profila CTS, to ne bo delovalo. Poleg tega te različice niso namenjene vsakodnevni uporabi, zato ne bodite presenečeni, če ena ali več osnovnih funkcij strojne opreme ne bo delovalo poleg že dokumentiranih napak v sistemu Android Q. Google je že naštel nekaj znanih težav z GSI, ki jih lahko najdete tukaj. Vse nove napake, ki jih odkrijete, je treba prijaviti tukaj.
Potrjevanje združljivosti visokih tonov
Zaženite naslednji ukaz:
adbshellgetpropro.treble.enabled
Če je odziv lažno, potem vaša naprava ni združljiva s Project Treble in ne smete nadaljevati. Če je odziv prav, potem lahko nadaljujete.
Nato preverite podporo za več različic tako, da zaženete te ukaze:
adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"
V izhodu poiščite razdelek [prodajalec]in nato v tem razdelku poiščite imenski prostor.privzeto.izolirano. Če je vrednost za ta atribut prav, potem bi morala vaša naprava podpirati zagon Android Q GSI na vrhu slike prodajalca Android 9 Pie. Če je vrednost lažno, potem lahko vaša naprava uporablja samo GSI za isto različico operacijskega sistema v napravi.
Nazadnje morate potrditi, ali je vaša naprava sistemska kot korenska, v kateri je pomnilniški disk združen s sliko sistema. Sistem kot koren ni obvezen za naprave, ki se nadgrajujejo na Android 9 Pie, vendar je potreben za podporo samo sistemskega OTA, kot na primer v primeru utripanja nove različice OS prek GSI. Zaženite naslednje ukaze in preverite, ali se izhod ujema s "system-as-root":
adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"
Zdaj, ko veste, da je vaša naprava združljiva z visokimi toni, morate ugotoviti, katero različico binarne datoteke GSI želite prenesti, saj obstajajo različne slike za različne arhitekture. Če želite videti, katero arhitekturo ima vaša naprava, zaženite naslednji ukaz:
adbshellgetpropro.product.cpu.abi
Tukaj si zabeležite izpis, saj ga boste potrebovali pri prenosu GSI.
Prenašanje GSI
Povezave za prenos uradnih gradenj Android Q beta GSI so na voljo pri Googlu tukaj. Prenesite ustrezno različico glede na arhitekturo vaše naprave, ki ste jo ugotovili v prejšnjem koraku. Prenos bo precej velik, če prenesete delovno različico z GMS ali Googlovimi mobilnimi storitvami, kar toplo priporočamo, da lahko preizkusite svojo aplikacijo na gradnji s storitvami Google Play.
Ko je prenos datoteke končan, jo lahko razpakirate. V njej sta dve datoteki, system.img, in vbmeta.img.
Utripanje GSI
- Znova zaženite zagonski nalagalnik vaše naprave s kombinacijo gumbov ali z izdajo ukaza:
adb reboot bootloader
- Nato moramo onemogočiti Android Verified Boot (AVB). To lahko storite tako, da vnesete naslednji ukaz:
fastbootflashvbmetavbmeta.img
- Nato pobrišemo sistemsko particijo:
fastboot erase system
- Končno lahko preklopimo Android Q GSI z:
fastbootflashsystemsystem.img
- Ko je to storjeno, obrišite particijo uporabniških podatkov z:
fastboot -w
- Znova zaženite napravo z gumbom za vklop ali vnosom:
fastboot reboot
Upajmo, da bi se moral zagnati po nekaj minutah. Ti koraki so bili preverjeni na Pixel 3 XL, vendar bi morali delovati univerzalno. Preverimo lahko, da se Android Q beta 2 GSI ne zažene na OnePlus 6T, vendar se zažene na Xiaomi Mi 9. Morda deluje na Sony Xperia XZ3, vendar so nam povedali, da se ne zažene na Moto G7. Vaša kilometrina se lahko razlikuje, saj Googlove zahteve potrjujejo samo združljivost iste različice OS GSI.