DSU Loader operētājsistēmā Android 11 palīdz izstrādātājiem testēt lietotnes operētājsistēmā Android

Operētājsistēmā Android 11 būs iekļauts DSU ielādētājs izstrādātāja opcijās, kas ļaus automātiski lejupielādēt un instalēt saderīgus GSI! Lasiet tālāk!

Laba lietotņu ekosistēma ir viens no svarīgākajiem operētājsistēmas veiksmes pīlāriem. Gan Google, gan Apple atzīst labu lietojumprogrammu vērtību savās platformās, tāpēc abi uzņēmumi cenšas līdzsvarot savu lietotāju un lietotņu izstrādātāju vajadzības. Lietotāji turpina censties veikt izmaiņas operētājsistēmās, un, lai gan lielākā daļa cilvēku parasti novērtē jaunas funkcijas, tās Izmaiņas lietotņu izstrādātājiem ne vienmēr sagādā prieku, jo tās var mainīt lielu daļu pamatfunkciju un uzvedība. Izstrādātājiem, kuri pastāvīgi strādā, lai savas lietotnes būtu atbilstošas, šo izmaiņu veikšana papildina viņu darba sarakstu, kas palielinās. Pat ja šīs izmaiņas tieši neietekmē viņu lietojumprogrammas, izstrādātājiem joprojām ir jāpārliecinās, ka viņu lietotnes darbosies jaunajā OS atjauninājumā. Google gadu gaitā ir veicis daudzas izmaiņas, lai Android lietotņu izstrādātājiem atvieglotu šo procesu, un tagad tas ir jauns Android 11 funkcija, ko sauc par DSU Loader, padarīs lietotņu izstrādātājiem vēl vienkāršāku savu lietotņu testēšanu jaunajā Android ierīcē. versijas.

Tas sākas ar projektu Treble

Projekts Treble, kas ieviests operētājsistēmā Android 8.0, ir galvenais Android OS atkārtota arhitektūra. Projekta Treble mērķis bija sadalīt Android OS divās lielās daļās: ietvarā un pārdevēja ieviešanā. ("pārdevējs" šeit attiecas uz jebkura patentēta aparatūras komponenta izgatavotāju, kas atrodams ierīcē, parasti atsaucoties uz silīcijs). Android OS ietvars ir pati operētājsistēma, tostarp visas sistēmas lietotnes, lietotāja saskarne un tās komponenti, kā arī API, kas tiek koplietotas Android ierīcēs. Pārdevēja ieviešana satur pārdevēja HAL (aparatūras abstrakcijas slāņus) un Linux kodolu un Linux kodola moduļus.

Tā kā oriģinālo iekārtu ražotāji piegādā viedtālruņus ar daudziem dažādiem aparatūras komponentiem no daudziem dažādiem pārdevējiem, viņiem ir jādara daudz darba, lai aparatūru izveidotu un palaistu vienā Android OS laidienā. Pēc tam ar katru jauno Android OS atjauninājumu viņiem ir jādara vēl vairāk, lai pārliecinātos, ka viņu aparatūra darbojas ar jauno versiju. Taču projekts Treble standartizē ABI (Application Binary Interface) starp Android OS sistēmu un HAL konkrētai Android versijai, Android OEM var sākt testēt savu ierīču atjauninājumus, negaidot, kamēr silīcija ražotāji un citi komponentu ražotāji atjauninās savu kods. Šīs izmaiņas ievērojami paātrinājās veids, kā tiek apstrādāti Android atjauninājumi.

Tā ir būtība, ko Project Treble ir paveicis Android atjauninājumu jomā, bet kas vēl svarīgāks ir lietotnēm izstrādātāji šeit ir tas, ka Treble ir ļāvis izmantot vispārīgos sistēmas attēlus (GSI) saderības nodrošināšanai testēšana.

GSI parādīšanās

Lai oriģinālo iekārtu ražotāji varētu pārbaudīt, vai tie ir pareizi ieviesuši Project Treble, Google nosaka, ka OEM ierīcē ir jāspēj palaist tīru Android versiju no AOSP. Šo tīro Android versiju sauc par vispārējo sistēmas attēlu jeb GSI. Ja GSI sāknēšana un lielākā daļa pamata aparatūras darbojas pareizi, tad OEM zina, ka viņu ierīce atbilst Project Treble prasībām. Tādējādi GSI sākotnējais mērķis bija pārbaudīt Treble saderību, taču, kā mēs esam redzējuši XDA-Developers izstrādātāju kopienu, tos var izmantot citiem mērķiem. Mēs redzējām, kā GSI būtībā varētu ļaut ierīcēm ar smagiem Android UX baudīt jaunāko Android versiju ar darba funkcijām dažu dienu laikā pēc jaunā laidiena. Taču Google paredz citu GSI mērķi: sniegt lietotņu izstrādātājiem iespēju pārbaudīt savas lietotnes jaunā Android versijā fiziskā ierīcē, kas viņiem jau pieder.

Izmantojot operētājsistēmu Android 10, Google izlaida savus GSI versijas izstrādātājiem. Google apstiprināja ideju, ka lietotņu izstrādātājiem vajadzētu izmantot GSI, lai savā aparatūrā palaistu tīru Android versiju, tādējādi atvieglojot savas lietojumprogrammas darbības pārbaudi, salīdzinot ar sākotnējo Android. Tādējādi šī metode papildināja esošās lietotņu saderības testēšanas iespējas Android noliktavā bez OEM uzvedības izmaiņām, pārējās ir izmantojot Pixel viedtālruni, izmantojot oficiālo Android emulatoru programmā Android Studio vai izvietojot lietotņu būvējumus ierīces eksemplārā mākonī.

Neskatoties uz visām ērtībām, ko sniedza GSI, to uzstādīšana joprojām bija apgrūtinošs process. Lietojumprogrammu izstrādātāji var nebūt apmierināti ar manuālu sistēmas attēla mirgošanu Android ierīcē, jo tas parasti ir zināms tikai hobijiem vai Android OS izstrādātājiem. Lai instalētu GSI, bija nepieciešams mirgot sistēmas attēls, izmantojot ātro sāknēšanu, un tam ir jāatspējo Android Verified Boot un jāatbloķē sāknēšanas ielādētājs. Savukārt sāknēšanas ielādētāja atbloķēšanai ir nepieciešama pilnīga lietotāja datu dzēšana. Un, kā mēs visi zinām, katras Android ierīces sāknēšanas ielādētāja atbloķēšanai nav īsti viena procesa vai rokasgrāmatas, tāpēc nav jāatrod konsekvence. Piemēram, Samsung ierīcēm nav ātrās palaišanas, savukārt Xiaomi ierīces liek jums pāriet cauri dažām stīpām, lai atbloķētu sāknēšanas ielādētāju. Tas ir ērts haoss, kas var tikt izjaukts kaut ko vienkāršāk.

Šeit tiek izmantoti dinamiskie sistēmas atjauninājumi.

Dinamiskie sistēmas atjauninājumi, vienkārši instalējot GSI

Google saprata, ka pašreizējā GSI instalēšanas metode nav ideāls risinājums, tāpēc viņi sāka strādāt pie labāka risinājuma. Operētājsistēmā Android 10 Google sāka testēt dinamiskos sistēmas atjauninājumus, vai DSU. DSU ir jauns veids, kā īslaicīgi instalēt GSI, neizmantojot ātrās sāknēšanas komandas, lai mirgotu sistēmas attēls, pārrakstot sākotnējo instalāciju. Izmantojot DSU, varat palaist GSI, pārbaudīt savu lietotni un pēc tam ērti atsāknēt sākotnējo instalāciju, kas ir palikusi neskarta.

Iemesls, kāpēc DSU var instalēt GSI, nepieskaroties oriģinālajai instalācijai, ir tas, ka tas rada jaunus sistēmas un datu nodalījuma attēlus, kas īslaicīgi tiek saglabāti /data/gsi. Šie attēli pēc tam tiek uzstādīti sāknēšanas laikā, nevis sākotnējie sistēmas un datu nodalījumi. Tā kā tālrunim ir nepieciešama papildu krātuves vieta šiem jaunajiem pagaidu attēliem, tālrunī ir jābūt "loģiskajiem nodalījumiem", kas ir dinamiski maināmi nodalījumi. Loģiskie nodalījumi ir jauna lietotāja telpas sadalīšanas sistēma operētājsistēmai Android, kas ir obligāta ierīcēm, kuras tiek palaists ar operētājsistēmu Android 10. Ja jūsu ierīce tika palaista ar operētājsistēmu Android 10, tai vajadzētu atbalstīt GSI instalēšanu, izmantojot DSU.

Operētājsistēmā Android 10 viss, kas jums jādara instalējiet GSI, izmantojot DSU ir mainīt sistēmas rekvizītu un pēc tam palaist DynamicSystemUpdatesInstallationService nosūtot nolūku ar ceļu uz GSI kā papildu nolūku.

Lai gan šis process var šķist nepazīstams, tas ir daudz vienkāršāks un mazāk traucējošs, salīdzinot ar lietošanu ātrās sāknēšanas komandas un visu problēmu risināšana, ieskaitot sākotnējo instalāciju noslaucīja. Lai izmantotu DSU, jums ir nepieciešamas zināmas zināšanas par ADB un nodomiem, taču lielākajai daļai lietotņu izstrādātāju tai nevajadzētu būt problēmai. Tomēr nav iemesla, kāpēc procesu nevarētu padarīt vēl vienkāršāku. Turklāt, lai instalētu GSI, izmantojot DSU, joprojām ir jāatbloķē sāknēšanas ielādētājs, noslaukot visus lietotāja datus. Šim nolūkam Google ir ieviesis izmaiņas, lai uzlabotu abus GSI instalēšanas aspektus. Operētājsistēmā Android 11 tie ir likvidējuši vajadzību izmantot komandrindu, lai instalētu GSI. Atsevišķi tie ir arī ļāvuši instalēt GSI, neatbloķējot sāknēšanas ielādētāju.

DSU ielādētājs operētājsistēmā Android 11

DSU Loader ir jauns rīks, kas pieejams Android 11 izstrādātāju opcijās, kas ļauj jums lejupielādēt un uzstādīt jaunāko GSI no Google, neievadot nekādas ātrās palaišanas vai ADB komandas. Vienkārši pieskarieties opcijai DSU Loader sadaļā Iestatījumi, un tiks parādīts dialoglodziņš ar atbalstīto GSI sarakstu tieši no Google. Šo atbalstīto GSI pamatā būs jūsu pašreizējā operētājsistēma un arhitektūra, tāpēc varat instalēt tikai tos GSI, kas ir jaunāki par jūsu operētājsistēmas versiju un atbilst jūsu SoC arhitektūrai. Vienkārši izvēlieties GSI, kuru vēlaties instalēt, un tas tiks lejupielādēts no Google serveriem un automātiski instalēts fonā.

DSU ielādētājs operētājsistēmā Android 11

Izmantojot DSU Loader, izstrādātājiem nekad nav jāpieskaras komandrindai, lai instalētu GSI. Vismaz tāds ir sapnis, jo joprojām ir jāatrisina viena problēma.

Ceļš uz priekšu

Pašlaik, lai instalētu GSI, izmantojot DSU ielādētāju, ir nepieciešams atbloķēts sāknēšanas ielādētājs. Lai gan tas var izjaukt visa pārbaudījuma mērķi, tam nevajadzētu būt šādā veidā, un mums ir teikts, ka tas tiks novērsts. Google ir plānojis, ka lietotāji varēs palaist Google parakstītus GSI, izmantojot DSU, neatbloķējot sāknēšanas ielādētāju. Faktiski Google to pieprasa visās Android 10 palaišanas ierīcēs ir Android verified Boot publiskās atslēgas Google parakstīto Android 10, Android 11 un Android 12 GSI. AVB publisko atslēgu iekļaušana ierīces RAM diskā nodrošinās, ka AVB nenoraidīs GSI, kuru mēģināt sāknēt. Tāpēc pašreizējā metode ietver sāknēšanas ielādētāja atbloķēšanu — mirgojot tukšu vbmeta attēlu vbmeta nodalījumā, jūs atspējojat AVB, lai tas nenoraidītu GSI, kuru gatavojaties mirgot. AVB atspējošana tomēr ir nopietns drošības risks, jo tas nozīmē, ka jebkura modifikācija Ierīcē var ielādēt sistēmas/sāknēšanas/produkta/pārdevēja nodalījumu, tāpēc Google vēlas to darīt šo prasību.

Android 10 GSI palaišanas prasības

Tātad, kad jūs varat sagaidīt GSI sāknēšanu, izmantojot DSU, neatbloķējot sāknēšanas programmu vai neizmantojot komandrindas rīkus? Cerams, ka drīzumā, jo Google mums minēja, ka pirms Android 11 izstrādātāju priekšskatījumiem viņiem bija dažas problēmas, kas jāatrisina, lai tas viss darbotos pareizi. Turpmāk var sagaidīt, ka turpmāk izstrādātāju priekšskatījuma GSI tiks instalēts, izmantojot DSU, neatbloķējot sāknēšanas ielādētāju. Iespējams, kad būs pieejami Android 12 izstrādātāju priekšskatījumi, jūs pat varēsit to pilnībā palaist, izmantojot DSU Loader Android 11 izstrādātāju opcijās. Lietotņu izstrādātājiem tas nozīmē, ka būs vēl viens veids, kā pārbaudīt savas lietojumprogrammas fiziskajā aparatūrā, kurā darbojas jauna Android versija.