Гоогле је открио Динамиц Систем Упдате, нови начин за инсталирање ГСИ у Андроид К који не захтева откључавање покретача.
Упоредо са издавањем Андроида 8.0 Орео, Гоогле је представио Пројецт Требле: велика реархитектура у начину на који комуницирају оквир Андроид ОС и ХАЛ-ови добављача и Линук кернел. Требле је главна иницијатива дизајнирана да смањи верзију Андроид платформе и фрагментација безбедносне закрпе, а сви Андроид брендирани уређаји који се покрећу са Андроид Пие-ом морају да подржавају Пројецт Требле. Произвођачи оригиналне опреме и продавци тестирају Требле компатибилност тако што покрећу генеричку слику система (ГСИ) — чисту верзију Андроида од АОСП-а — и прођу Комплет за тестирање добављача (ВТС) и комплет за тестирање компатибилности на генеричкој слици система (ЦТС-он-ГСИ). ГСИ се показао корисним не само што омогућава софтверским инжењерима који раде за ОЕМ-ове да тестирају требле компатибилност, већ је такође отворио врата за велика прилагођена РОМ заједница на КСДА. За Андроид К издање, Гоогле жели да ГСИ учини корисним за другу групу: програмере апликација.
Од првог стабилног издања и пада изворног кода било које издање Андроид платформе обично долази у августу, програмери који би желели да тестирају следеће Андроид издање на стварном уређају обично требају приступ Гоогле паметном телефону ако не желе да чекају да ажурирање стигне до њиховог сопственог хардвера. Међутим, Гоогле је сарађивао са произвођачима оригиналне опреме како би донео Андроид П бета на неколико уређаја прошле године, а они су то пратили ове године са Андроид К бета. Поред званичне Андроид К бета верзије, Гоогле је ове године такође објавио и званични К бета ГСИ тако да сваки програмер са уређајем компатибилним са Пројецт Требле може да инсталира најновије К издање без потребе да чека месецима да верзија стигне до њихових уређаја. Овај нови начин тестирања следећег Андроид издања даје програмерима више могућности, а тиме и више времена да тестирају своје апликације велике промене у Андроиду.
Нажалост, тренутни метод за инсталирање ГСИ може бити тешко. Захтева откључавање покретача — што значи брисање свих корисничких података и/или поништавање гаранције — и флешовање слике путем протокола за брзо покретање. То није брз и једноставан процес за програмере апликација, ако је њихов уређај чак омогућава и откључавање покретача. Зато, за протеклих неколико месеци, Гоогле је радио на новом начину за покретање ГСИ-ја. Унесите нову функцију под називом Динамиц Систем Упдате или ДСУ.
(Ова функција је раније развијена под називима „Ливе Имаге“, „Динамиц Андроид“ и „Андроид он Тап“, тако да немојте бити изненађени ако је Гоогле назове другачије за неколико недеља или месеци.)
Ажурирања динамичког система у Андроид К
Циљ ДСУ функције је да омогући програмеру да покрене ГСИ без ометања тренутне инсталације. То значи да покретач не мора да се откључава и да се кориснички подаци не морају брисати. Процес инсталације је такође у великој мери поједностављен јер је Гоогле обезбедио интерфејс командне линије преко АДБ-а и апликацију која се може контролисати преко намера. Ево како изгледа покретање ГСИ користећи ДСУ:
У овом видеу*, Гоогле Пикел 3 КСЛ који користи Андроид К бета 3 поново се покреће у ГСИ. У овом окружењу, програмер апликације може да инсталира и тестира своју апликацију за К АПИ компатибилност. Када заврше са тестирањем, могу једноставно поново да се покрећу назад у уобичајени К бета 3 софтвер на уређају. У основи двоструко покрећете ГСИ тако да можете безбедно да тестирате своју апликацију!
*Овај видео смо снимили на Гоогле И/О 2019 када ДСУ још није био јавно доступан, тако да је К бета 3 буилд на снимљеном Пикел 3 КСЛ мало модификован од стране Гоогле-а како би укључио подршку за ДСУ. Уређаји који користе К бета 4 и новије верзије испуњавају услове за подршку за ДСУ ако испуњавају услове у наставку.
Захтеви за ажурирање динамичког система
Покретање и покретање онога што је у суштини двоструко покретање није био лак задатак за Гоогле. Морале су се направити велике промене у начину управљања партицијама на Пикел-у 3, Гоогле-овом тестном пољу за ДСУ. Дакле, први велики захтев за ДСУ подршку је да уређај подржава динамичке партиције. Динамичке партиције укључују једну стварну партицију складишта која је подељена на логичке партиције које се могу променити као што су систем, добављач, одм, оем, производ итд. Током инсталације ГСИ, простор је резервисан за нове партиције система и корисничких података узимањем неискоришћених блокова са постојеће партиције корисничких података. Пошто ове нове партиције могу бити величине неколико гигабајта, ДСУ подршка има смисла само ако је логично партиције иначе би уређај морао да трајно резервише неколико гигабајта простора за складиштење за ГСИ инсталације.
Остали захтеви укључују рамдиск, који одлучује да ли да се покрене за опоравак, систем или логичку партицију и партицију са метаподацима за складиштење метаподатака ГСИ-ја. Генерално, блокови за ДСУ подршку су захтеви за покретање Андроид К-а, према вођи пројекта Требле Илијану Малчеву. Нисмо сигурни да ли све који је потребан за подршку ДСУ-а је захтев за покретање Андроид К-а, али можемо претпоставити да већина, ако не и сви уређаји који се покрећу са Андроид К-ом моћи подржавају ДСУ чак и ако Гоогле то тренутно не захтева. До сада, само Пикел 3, Пикел 3 КСЛ, Пикел 3а и Пикел 3а КСЛ имају динамичке партиције, а од ових уређаја, само Пикел 3 и Пикел 3 КСЛ подржавају ДСУ у Андроид К бета 4. Иако ДСУ подршка није потребна, Гоогле се нада да ће произвођачи оригиналне опреме ипак омогућити ову функцију јер она поједностављује безбедно тестирање компатибилности са Требле. На пример, ОЕМ софтверски инжењер може ставити ГСИ на СД картици тако да могу брзо да се покрену на више уређаја како би тестирали компатибилност са Требле.
Безбедност за динамичка ажурирања система
Пошто ДСУ уводи у микс у суштини други оперативни систем, Гоогле мора да се побрине да се ова нова инсталација не може мењати како би се нарушио интегритет уређаја. Према томе исте основне безбедносне заштите за оригиналну инсталацију постоје и за ГСИ инсталацију: Андроид Верифиед Боот и СЕЛинук смернице. Штавише, само апликације са ИНСТАЛЛ_ДИНАМИЦ_СИСТЕМ потписом|привилегованом дозволом могу покренути ГСИ инсталацију, док апликације са дозволом за потпис МАНАГЕ_ДИНАМИЦ_СИСТЕМ могу омогућити/онемогућити или обрисати ГСИ инсталација. То значи да само поуздане апликације на системском нивоу могу да раде са ДСУ.
Да би осигурао да су оригинални кориснички подаци заштићени, Гоогле је додао додатни заштитни механизам у Андроид К. Зове се "Цхецкпоинт,“ функција штити од уништавања корисничких података враћањем партиција са контролним тачкама у првобитно стање. Међутим, контролне тачке су корисне не само за ДСУ. Такође се користе за заштиту од неуспеха Пројецт Маинлине АПЕКС модул и А/Б ОТА ажурирања. (Уређаји са А/Б партицијама већ имају заштиту од враћања уназад, али та враћања захтевају ресетовање на фабричка подешавања, док контролне тачке корисничких података немају.)
Инсталирање ГСИ
Ако ваш уређај подржава ДСУ као што је серија Пикел 3, онда је лако инсталирати ГСИ. Прво морате да се уверите да је ознака функције динамичког система омогућена на један од два начина:
- Ако користите верзију за отклањање грешака корисника, омогућите ознаку сеттингс_динамиц_андроид у Сеттингс > Систем > Девелопер оптионс > Феатуре флагс.
- Ако сте на корисничкој верзији, покрените следећу адб команду љуске:
setproppersist.sys.fflag.override.settings_dynamic_system 1
Затим преузмите најновији Андроид К бета ГСИ са Гоогле или ОЕМ уређаја. (ДСУ дозвољава само инсталирање ГСИ-ја које је потписао Гоогле или ОЕМ.) Када се преузме, користите симг2имг да претворите ретку слику у сирову слику. Користите гзип да спакујете необрађену слику, а затим копирајте резултујућу архиву на локацију на уређају спољна меморија (нпр. /дата/медиа/0/Довнлоад) или стварни спољни медиј за складиштење (као што је физички СД картица). На крају, покрените апликацију ДинамицСистемИнсталлатионСервице са правом намером да започнете инсталацију:
adb shell am start-activity \ -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \ -a android.os.image.action.START_INSTALL \ -d file:///storage/emulated/0/Download/system_raw.gz \ --el KEY_SYSTEM_SIZE $(du -b system_raw.img|cut -f1) \ --el KEY_USERDATA_SIZE 8589934592
Када кликнете на рестарт, покренућете ГСИ. Употребљивост уређаја у ГСИ зависи од тога колико добро је ОЕМ вашег уређаја имплементирао Требле (или боље речено, колико је мало прекршио Требле компатибилност.) Неки уређаји ће радити боље са ГСИ од других, али генерално, не очекујте да ћете ову инсталацију користити свакодневно возач. Предвиђено је да тестирате своју апликацију, а затим да изађете поново покретањем. Ако желите да останете у ГСИ инсталацији ради даљег тестирања, онда можете да користите гси_тоол схелл цомманд.
Комплетна упутства за инсталацију ГСИ за ДСУ можете пронаћи овде. Грешке се могу пријавити на Гоогле проблем за праћење,Реддит, или Стацк Оверфлов.
Разлог за ажурирање динамичког система
Када сам разговарао са Илијаном Малчевом на Гоогле И/О, он је поновио оно што је Хунг-иинг Тиан из Требле тима рекао о раном приступу ГСИ на Новембарски самит Андроид Дев. Гоогле је направио ДСУ да затражити повратне информације од што шире публике. Циљ је да се побољша квалитет ГСИ, који заузврат побољшава квалитет будућег Андроид издања пошто је ГСИ најчистији облик Андроид-а. Гоогле је тренутно једина компанија која тестира следећу верзију ГСИ компатибилности (на пример, колико добро слика система Андроид К ради на Андроид П имплементација добављача), али како све више људи флешује ГСИ-ове и даје повратне информације, ОЕМ-ови могу да поправе кршења компатибилности са Требле тако да ће ГСИ-ови радити још боље у будућност. Илијан каже да постоји велико интересовање ОЕМ-а и добављача као што је Куалцомм за поновно коришћење слика добављача из претходног Андроид издања са сликом система следеће верзије. Иницијативе попут ДСУ-а помажу Гоогле-у и произвођачима оригиналне опреме да попуне празнину у покривености аутоматизованим тестовима као што су ВТС и ЦТС-он-ГСИ. Стога, Гоогле добија више бета тестера да дају повратне информације о следећем издању Андроид-а, а такође чује о кршењима компатибилности са Требле како би ОЕМ-ови могли да побољшају свој рад.
Додавање ажурирања динамичког система у Андроид К је добродошло, али то неће бити решење за двоструко покретање којем се неки од вас надају. Као што је раније поменуто, могу се инсталирати само слике система које је потписао Гоогле или ОЕМ. Када сам питао Илијана о могућности проширења ДСУ-а да подржи екосистем алтернативног Андроид-а система, рекао је да је то технички могуће учинити јер је ДСУ једноставно канал за испоруку система слике. Сваки ОЕМ може да га користи како год жели све док је крајњи резултат усклађен са Андроидом. Гоогле овде није створио алтернативу ОТА систему, а ДСУ није намењен да се користи за истинско двоструко покретање. Без обзира на то, посао који је Гоогле урадио на Требле-у чини Андроид модуларнијим, тако да се не бих изненадио ако природно двоструко покретање у будућности постане стварност.