Dinaminis „Android“ leis kūrėjams išbandyti AOSP bet kuriame „Android Q“ įrenginyje

Naujas projektas, pavadintas „Dynamic Android“, leis kūrėjams išbandyti AOSP „Android Q GSI“ bet kuriame įrenginyje, kuriame veikia „Android Q“ ar naujesnė versija.

Ačiū Projektas Treble, išmaniųjų telefonų įrenginių gamintojai „Android Pie“ programinės įrangos atnaujinimus pristatė greičiau, nei galėjo tai padaryti „Android Oreo“ naujinimui, bent jau pavyzdiniams išmaniesiems telefonams. Tačiau „Google“ nenori, kad „Project Treble“ pranašumus gautų tik originalios įrangos gamintojai. Bendrovė anksčiau išreiškė susidomėjimą išleisdami bendrąjį „Android Q“ sistemos vaizdą (GSI) kūrėjams, kad jiems nereikėtų pasikliauti emuliatoriais, naudokite debesies paslauga, arba laukti naujinio savo įrenginyje, kad išbandytų programą pagal naujausią API lygį. Teoriškai GSI išleidimas turėtų leisti bet kuriam kūrėjui, turinčiam su „Project Treble“ suderinamą įrenginį (iš pradžių „Android“). 8.0 Oreo ir naujesnės versijos, bet dabar laikomos tik įrenginiais, kurie paleidžiami su Android 9 Pie), kad būtų galima išbandyti naujausią Android versija. Viskas, ką kūrėjas turi padaryti, tai įdiegti sistemos vaizdą ant esamos programinės įrangos diegimo – nereikia pasirinktinio atkūrimo, įkrovos ar pardavėjo vaizdo.

Tačiau dabartiniame GSI diegimo procese yra keletas problemų. Pirma, jums reikia atrakinto įkrovos tvarkyklės, kuri nėra įmanomas „Huawei“ ar „Honor“ įrenginiuose (nemokėdami mokestis), „HMD Global“ „Nokia“ įrenginiai (išskyrus Nokia 8) arba JAV operatoriaus prekės ženklo įrenginius. Toliau, procesas bus sunku tiems, kurie nėra susipažinę su mirksinčiais vaizdais naudojant „fastboot“. Galiausiai, dabar suaktyvinus GSI, turėsite visiškai išvalyti vidinę atmintį, o tai reiškia, kad tikriausiai norėsite išbandyti atsarginį įrenginį. Šiuo metu GSI mirksėjimas yra tik tai, ką originalios įrangos gamintojai naudoja norėdami išbandyti savo įrenginių suderinamumą su „Project Treble“, be to, tai patrauklu tik užkietėjusiems pasirinktinių ROM entuziastų. Naujasis „Google“ projektas „Dynamic Android“ gali tai pakeisti.

Dinaminis „Android“ – lengvai išbandykite AOSP GSI bet kuriame „Android Q“ įrenginyje

Pastaruosius kelis mėnesius „Google“ siekė saugiai paleisti GSI neatrakinant įkrovos. Trumpai tariant, „Google“ kuria programėlę, kuri turi specialius leidimus, leidžiančius atsisiųsti GSI, rezervuoti jam vietos saugykloje ir pažymėti GSI kaip įkrovą. Šį projektą sudaro keli komponentai, todėl aptarkime juos po vieną.

Dinaminis „Android“ ir „Android On Tap“.

Prie „Android Q“ pridedamos dvi naujos paslaugos: „Dynamic Android“ ir „Android On Tap“ paslaugos. Nors „Dynamic Android“ tvarko GSI diegimą, „Android On Tap“ informuoja sistemos programas su atgaliniais skambučiais ir transliacijos tikslais. Pavyzdžiui, „Android On Tap“ įspėja „KeyguardManager“, kad paprašytų vartotojo patvirtinti diegimo užklausą, jei įrenginys apsaugotas PIN kodu, slaptažodžiu arba šablonu. AOT taip pat įspėja vartotoją, kai jis paleidžiamas į GSI.

Remiantis „DynamicAndroidManager“ aprašymu, paslauga „siūlo mechanizmą, kaip naudoti naują „Android“. vaizdas laikinai /data. Paleidus iš naujo esant GSI, vartotojas grąžinamas į pradinį sistemos vaizdą, tačiau naujai įdiegtas vaizdas ir jo duomenys tik išjungiami ir neištrinami. Tačiau jei vartotojas pasirenka tai padaryti, GSI ir jo duomenys gali būti visiškai pašalinti.

Šaltiniai: [1], [2], [3], [4]

GSID

GSI demonas paskirsto vietą /data skaidinyje GSI atvaizdui ir jo duomenims saugoti ir atvaizdui paleisti. GSI metaduomenys saugomi /metadata, o pats GSI ir jo duomenys saugomi /data/gsi. Pagal numatytuosius nustatymus GSID skiria 8 GB vartotojo duomenų naujai įdiegtai GSI. Apskritai, prieš pradėdamas diegti, GSID ieško bent 40 % laisvos vietos. Galiausiai demonas neleidžia vartotojui įdiegti GSI GSI dėl akivaizdžių priežasčių.

Šaltiniai: [1], [2], [3], [4]

Saugumas

„Android Verified Boot“ (AVB) įgalintas naujai įdiegtam EXT4 sistemos vaizdui (sistemos_gsi, prijungtas prie /system). „Google“ taip pat įdiegė „SELinux“ politiką naujoms paslaugoms. Galiausiai, norint įdiegti GSI, programai reikalingas naujas MANAGE_DYNAMIC_ANDROID leidimas. Tai yra parašo lygio leidimas, o tai reiškia, kad programą turi pasirašyti OĮG.

Šaltiniai: [1], [2]

ADB ir Fastboot komandos

GSI taip pat bus galima įdiegti naudojant naujas ADB komandas. Naujoji ADB gsi_tool apvalkalo komanda leis vartotojams išjungti, iš naujo įjungti, įdiegti ir išsaugoti vartotojo duomenis, įdiekite ir sukurkite vartotojo duomenis, įdiekite ir išvalykite vartotojo duomenis arba patikrinkite būseną įrengimas.

gsi_tool - command-line tool for installing GSI images.

Usage:
gsi_tool <disable|install|wipe|status> [options]

disable Disable the currently installed GSI.
enable Enable a previously disabled GSI.
installInstall a new GSI. Specify the image sizewith
--gsi-size and the desired userdata size with
--userdata-size (the latter defaults to 8GiB)
--wipe (remove old gsi userdata first)
wipe Completely remove a GSI and its associated data
status Showstatus

Bus pridėtos dvi naujos greitosios įkrovos komandos, skirtos valdyti GSI, nors greitosios įkrovos diegimas nepalaikomas, nes „fastboot“ negali prijungti vartotojo duomenų.

fastboot gsi wipe
fastboot gsi disable

Šaltiniai: [1], [2]

Kam tai bus naudinga?

Noriu pasakyti, kad programų kūrėjai galės pasinaudoti „Dynamic Android“ ir „Android On Tap“ pranašumais, bet nesu visiškai tikras. Nors „Google“ išreiškė susidomėjimą būtent tuo, nėra jokios garantijos, kad ši funkcija bus pasiekiama kiekviename „Android Q“ leidime ne „Google“ OĮG. Kad įrenginyje tai būtų galima pasinaudoti, programinei įrangai reikalinga GSI rinkiklio programa, pasirašyta tuo pačiu sertifikatu kaip ir ROM. Taip pat nesu tikras, kad dėl SELinux politikos bus galima įdiegti GSI iš ADB be ADB šaknies.Atnaujinimas: Naujas įsipareigoti patvirtina, kad ADB root reikės naudoti GSI_tool. Jei tai nėra skirta programų kūrėjams išbandyti savo programas švarioje „Android“ versijoje, greičiausiai tai tik naudos inžinieriams iš originalios įrangos gamintojų, norinčių išbandyti suderinamumo testų komplektą (CTS) ir tiekėjo testų komplektą (VTS) savo įrenginiuose. prietaisai.

Ypatingas ačiū XDA pripažintam kūrėjui luca020400 už pagalbą šiame straipsnyje.