Пројецт Маинлине је највећа промена Андроида од Пројецт Требле. Ево шта то значи и шта сви модули раде, погледајте!
Једна од највећих промена у Андроид-у последњих година која је пролетела испод радара, релативно говорећи против његовог значаја, било је увођење Пројецт Маинлине у Андроиду 10. Гоогле налаже укључивање одређених модула Маинлине у Андроид издања, са Андроид 11 долазећи са а комбиновано обавезно укупно 25 модула главне линије. Ево објашњења шта је Пројецт Маинлине и шта има за циљ да реши, заједно са листом свих Андроид модула Пројецт Маинлине.
Шта је Пројецт Маинлине?
Да бисмо правилно разумели Пројецт Маинлине, мораћемо да премотамо мало уназад. Ако се вратите неколико година уназад, велики део разговора око ажурирања Андроид-а био је усредсређен на проблем фрагментације. Фрагментација је била један од највећих изазова које је Гоогле решио на Андроид-у око ере Ице Цреам Сандвицх - Лоллипоп. Иако је Андроид као платформа добијао редовна ажурирања по углавном предвидљивом обрасцу, овим ажурирањима је било потребно много времена да дођу до руку крајњих потрошача, ако уопште и дођу. Дакле, док је Гоогле поправљао критичне грешке и безбедносне проблеме на нивоу платформе, стварно увођење ових промена оставило је много да се пожели. Било је/постоји много посредника (продавци СоЦ-а, ОЕМ-ови, превозници, итд.) и много покретних делова укључених у испоруку ажурирања за ваш телефон, а проблем фрагментације није изгледао као да би се решио сам од себе без потребе за тешким ударцима интервенције.
Један од главних напора да се реши овај проблем дошао је у облику Пројецт Требле поред Андроида 8.0 Орео, који је укључивао велику реархитектуру Андроида, одвајајући компоненте Андроид ОС оквира од ХАЛ-ова произвођача и Линук кернела. Пројекат Требле је, у суштини, модуларисао Андроид тако што је одвојио оквир ОС од софтвера нижег нивоа специфичног за уређај. На овај начин, произвођачи уређаја (ОЕМ) не морају да чекају да произвођачи силикона (продавци СоЦ-а) ажурирају свој код имплементације добављача, а ОЕМ-ови би могли независно да ажурирају оквир Андроид ОС-а. Крајњи резултат је брже усвајање новијих Андроид издања од ОЕМ-а, јер то више није потребно сачекајте да посредник (продавац СоЦ-а) прво заврши свој посао пре него што могу да почну да раде њихов.
Иако се ситуација са ажурирањем Андроида није драматично побољшала одмах са Пројецт Требле, она је у великој мери омогућила шири ОЕМ учешће у Андроид 10 и Андроид 11 бета верзијама, као и олакшавање ОЕМ-има да брже ажурирају више својих уређаја Временска линија. Поред тога, цео концепт ГСИ (Генериц Систем Имаге) је имао велики утицај на развој накнадног тржишта на нашим форумима.
Програмер покреће Андроид 11 на 22 старија уређаја са Пројецт Требле ГСИ
Пројецт Маинлине проширује напоре пројекта Требле. Док је Требле смањио колико су ОЕМ-ови зависни од добављача СоЦ-а за свако појединачно ажурирање ОС-а, Маинлине смањује колико је Гоогле зависан од ОЕМ-а за испоруку безбедносних ажурирања кључним компонентама ОС-а. Пројецт Маинлине проширује филозофију високих тонова на критичније делове Андроид оквира, уклањајући произвођаче оригиналне опреме као зависне посреднике из ове једначине. Сврха пројекта Маинлине је да Гоогле преузме контролу над компонентама оквира и системским апликацијама које су критични за безбедност и одржавање доследности развоја далеко од ОЕМ-а. Пројецт Маинлине се с правом назива тхе највећа промена на Андроиду од Пројецт Требле.
За Пројецт Маинлине, Гоогле користи Маинлине модуле који се испоручују преко оквира Гоогле Плаи услуга и Гоогле Плаи продавнице. Сваки главни модул се испоручује као АПК датотека, АПЕКС датотека или као АПК-у-АПЕКС-у. Када се главни модул ажурира, корисник види обавештење „Гоогле Плаи Систем Упдате“ (ГПСУ) на свом уређају. У ствари, да би испоручио ажурирања критичним компонентама, Гоогле је заобишао потребу да чека да ОЕМ изда ажурирање, бирајући да сам уради задатак.
Као Гугл наводи на веб локацији Андроид:
Модуларне системске компоненте омогућавају Гоогле и Андроид партнерима да дистрибуирају ажурирања широко, брзо и неприметно уређајима крајњих корисника на ненаметљив начин. На пример, комбинација фрагментације медијског кодека и критичних грешака може драматично успорити усвајање апликација и ангажовање корисника. Честа ажурирања модула који се односе на медије могу да смање фрагментацију кодека како би понашање медијских апликација постало доследније на различитим Андроид уређајима и исправиле критичне грешке како би се изградило поверење корисника.
Андроид 10 или новији конвертује изабране системске компоненте у модуле, од којих неки користе формат контејнера АПЕКС (уведен у Андроид 10), а неки користе АПК формат. Модуларна архитектура омогућава да се компоненте система ажурирају критичним исправкама грешака и другим стварима побољшања по потреби, без утицаја на имплементације добављача нижег нивоа или апликације вишег нивоа и услуге.
Као Арс Тецхница помиње:
Пројецт Маинлине, познат и као „Гоогле Плаи системска ажурирања“, уведен је у Андроид 10 као велики напор да се основне системске компоненте Андроид-а учине модуларнијим и ажурираним. Маинлине је представио нови тип датотеке „АПЕКС“ посебно за системске компоненте, са циљем да испоручи основни Андроид код кроз Плаи продавницу једнако лако као што пошаљете ажурирање апликације. Раније, једини блок кода за Андроид који се може испоручити био је АПК, тип датотеке првобитно дизајниран за апликације трећих страна. Ово је долазило са свим врстама безбедносних ограничења и могло је да се покрене тек касно у процесу покретања, тако да је АПЕКС креиран имајући на уму моћније системске компоненте. АПЕКС-ове може да креира само Гоогле или произвођач вашег уређаја, тако да они могу бити знатно моћнији и садрже критичне компоненте за покретање, као што је време извођења апликације.
Маинлине није само техничко решење, већ се ради и о томе да више делова Андроида централно дистрибуира Гоогле, што укључује преговоре са произвођачима уређаја и навођење да сви пристану да испоруче исти блок код. Маинлине модули на крају постају обавезни за испоруку, тако да је Маинлине заправо велика сарадња са произвођачима уређаја како би се осигурало да један модул за читав екосистем задовољава свачије потребе. Није сваки главни модул ултра-моћан АПЕКС модул—неки су само АПК-ови који су сада Андроид код који дистрибуира Гоогле.
Пројецт Маинлине — Модули
Са Андроидом 10, Гоогле је наложио укључивање 13 специфичних модула Маинлине. Са Андроидом 11, укупан број обавезних модула је 25. Ево комплетне листе, заједно са неким кључним детаљима:
Назив модула |
Назив пакета |
Тип |
Уређај је надограђен на или покренут са Андроидом 11 |
Уређај је покренут са Андроидом 10 |
Уређај је надограђен на Андроид 10 |
---|---|---|---|---|---|
адбд |
цом.гоогле.андроид.адбд |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Андроид Неурал Нетворк АПИ Рунтиме |
цом.гоогле.андроид.неуралнетворкс |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Пријава на Цаптиве Портал |
цом.гоогле.андроид.цаптивепорталлогин |
АПК |
Мора |
Препоручује |
Опционо |
Целл Броадцаст |
цом.гоогле.андроид.целлброадцаст |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Цонсцрипт |
цом.гоогле.андроид.цонсцрипт |
АПЕКС |
Мора |
Препоручује |
Опционо |
ДНС Ресолвер |
цом.гоогле.андроид.ресолв |
АПЕКС |
Мора |
Препоручује |
Опционо |
Доцументс УИ |
цом.гоогле.андроид.доцументсуи |
АПК |
Мора |
Мора |
Опционо |
ЕктСервицес - АПК |
цом.гоогле.андроид.ект.сервицес |
АПК |
Мора |
Мора |
Мора |
ЕктСервицес - АПЕКС |
цом.гоогле.андроид.ектсервицес |
АПЕКС |
Мора |
Неподржано |
Неподржано |
ИПсец/ИКЕв2 библиотека |
цом.гоогле.андроид.ипсец |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Медијски кодеци |
цом.гоогле.андроид.медиа.свцодец |
АПЕКС |
Мора |
Мора |
Опционо |
Компоненте медијског оквира |
цом.гоогле.андроид.медиа |
АПЕКС |
Мора |
Мора |
Опционо |
Провајдер медија |
цом.гоогле.андроид.медиапровидер |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Метаподаци модула |
цом.гоогле.андроид.модулеметадата |
АПК |
Мора |
Мора |
Мора |
Компоненте мрежног стека |
цом.гоогле.андроид.нетворкстацк |
АПК |
Мора |
Препоручује |
Опционо |
Конфигурација дозволе мрежног стека |
цом.гоогле.андроид.нетворкстацк.пермиссионцонфиг |
АПК |
Мора |
Препоручује |
Опционо |
Контролор дозвола - АПК |
цом.гоогле.андроид.пермиссионцонтроллер |
АПК |
Мора |
Мора |
Мора |
Контролор дозвола - АПЕКС |
цом.гоогле.андроид.пермиссион |
АПЕКС |
Мора |
Неподржано |
Неподржано |
СДК Ектенсионс |
цом.гоогле.андроид.сдкект |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Статсд |
цом.гоогле.андроид.ос.статсд |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Пакет верзија за телеметрију |
цом.гоогле.маинлине.телеметри |
АПК |
Мора |
Неподржано |
Неподржано |
Везивање |
цом.гоогле.андроид.тетхеринг |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Подаци о временској зони |
цом.гоогле.андроид.тздата |
АПЕКС |
Не смети |
Мора |
Опционо |
Подаци о временској зони 2 |
цом.гоогле.андроид.тздата2 |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Ви-фи³ |
цом.гоогле.андроид.вифи |
АПЕКС |
Мора |
Неподржано |
Неподржано |
Да бисмо пружили неки контекст за колоне изнад, колона под насловом „Уређај надограђен на или покренут са Андроидом 11“ садржи детаље о томе да ли модул мора бити присутан (или не сме бити присутан, у случају података о временској зони због укључивања његове алтернативе) на свим уређајима који су или надограђени на Андроид 11, или се покрећу са Андроидом 11 ван кутија. Слично томе, уређаји који се покрећу са Андроидом 10 морају да садрже неколико модула, топло се препоручује да укључе још неколико, а остали нису подржани. За уређаје који су надограђени на Андроид 10 (за разлику од оних који су покренути са Андроидом), листа потребних модула је краћа.
Шта ради сваки главни модул?
Ево кратког објашњења за сваки од главних модула:
Адбд
Модул адбд управља адб и ИДЕ сесијама отклањања грешака на командној линији. Модуларизовање адбд-а омогућава Гоогле-у да брже испоручи побољшања перформанси и исправке грешака. Ово је кључно јер су неке грешке у прошлости биле повезане са пражњењем батерије и могле би довести до тога да уређаји наставе да користе 100% ЦПУ док телефон не умре. Стога је уклањање ових поправки кључно за Гоогле јер адб нашироко користе програмери апликација и ОЕМ-ови за тестирање.
Андроид Неурал Нетворкс АПИ Рунтиме
Ово је библиотека која се налази између апликације и позадинских драјвера. АПИ је заузврат Андроид Ц АПИ за покретање рачунарски интензивних операција машинског учења на мобилним уређајима и за омогућавање хардверски убрзаних операција закључивања.
ЦеллБроадцаст
Целл Броадцаст се односи на хитна и нехитна упозорења (као што су АМБЕР упозорења). Овај модул се бави задацима око ових упозорења, као и другим помоћним функцијама као што су СМС декодирање и геофенцинг за бежична упозорења у хитним случајевима.
Цонсцрипт
Модул Цонсцрипт управља Андроид-овом ТЛС имплементацијом и другим криптографским функцијама као што су генератори кључева, ципери и сажетци порука. Испорука овог модула омогућава Гоогле-у да убрза безбедносна побољшања, без потребе да се ослања на ОТА ажурирања.
ДНС Ресолвер
Као што назив имплицира, ДНС разрешававач решава ДНС, тј. претвара УРЛ-ове читљиве за људе у ИП адресе. Модул садржи код који имплементира ДНС стуб разрешивач, а испорука овог модула омогућава Гоогле-у да обезбеди бољу заштиту корисника од ДНС пресретања и напада ажурирања конфигурације.
Доцументс УИ
Доцументс УИ је модул одговоран за контролу приступа одређеним датотекама за компоненте које рукују дозволама за документе. Како Гоогле наводи, претварање приступа складишту и дозвола у модул повећава приватност и сигурност за крајње кориснике, док функција преклапања ресурса током извршавања (РРО) омогућава ОЕМ-има да тематизују искуство (позивајући се на апликацију Датотеке) ако им је потребно до. Као модул, сви Гоогле-Андроид уређаји ће се испоручивати са истим искуством корисничког интерфејса докумената.
ЕктСервицес
Овај модул укључује компоненте оквира за основну функционалност ОС-а као што су рангирање обавештења, стратегије аутоматског попуњавања текста, кеш меморија, надзор пакета и друге услуге.
ИПсец/ИКЕв2 библиотека
Овај модул библиотеке бави се новим и постојећим функцијама у вези са интерворкинг бежичним ЛАН-ом (ИВЛАН) и ВПН-ови, као што су преговарање о безбедносним параметрима као што су кључеви, алгоритми и тунел конфигурације. Идеја са модуларизацијом ових функција је да се промовише доследност екосистема и обезбеди начин да се испоруче брза решења за проблеме безбедности и интероперабилности.
Ово су три раздвојена модула, али имају функције које се ослањају једна на другу. Ови медијски модули рукују типовима медија и кодовима, ступају у интеракцију са ЕкоПлаиер-ом, излажу контроле транспорта и информације о репродукцији оквиру, оптимизују индексиране метаподатке итд. Запамтити Стагефригхт, експлоатација која је променила Андроид и донео сам концепт месечних безбедносних ажурирања на платформи? Тај експлоатација се ослањала на рањивости унутар библиотеке за репродукцију медија. Дакле, модуларизација медијских компоненти омогућава Гоогле-у да брзо и широко реагује у случају да се пронађу безбедносне грешке у овој често циљаној компоненти.
Функција овог модула је одмах јасна из његовог назива, иако његова сврха није. Модул Метаподаци модул садржи...метаподатке о листи модула на уређају. И то је отприлике то.
Компоненте мрежног стека, конфигурација дозвола мрежног стека, пријављивање на портал за заштиту
Модул Нетворк Стацк Цомпонентс пружа уобичајене ИП услуге, надгледање мрежне повезаности, откривање портала за пријављивање. Модул Конфигурација дозволе дефинише дозволу која омогућава другим модулима да извршавају задатке везане за мрежу. Модул за пријаву на Цаптиве Портал бави се Цаптиве Порталима — веб страницама које се приказују када повезан на одређене јавне Ви-Фи мреже, где се од корисника тражи да унесе детаље како би добио Интернет приступ.
Контролор дозвола
Овај модул пружа ажуриране политике приватности и елементе корисничког интерфејса у вези са давањем и управљањем дозволама. Ако ово звучи познато ономе што инсталатер пакета ради, то је зато што јесте. Функције као што су давање дозвола за време извођења, управљање и праћење коришћења биле су део апликације Пацкаге Инсталлер до Андроид 9. У Андроиду 10, апликација Пацкаге Инсталлер је подељена на одељке како би се омогућило ажурирање логике дозвола. Модул контролера дозвола се испоручује као АПК датотека, а у Андроиду 11 модул може аутоматски да опозове дозволе за време рада за апликације које нису коришћене дужи временски период.
СДК Ектенсионс
Овај модул је мало тежак за разумевање и сходно томе објашњење. Сваком Андроид издању је додељен ниво СДК-а (обично +1 од свог претходника). Када апликација циља одређени СДК, претпоставља се да је програмер узео у обзир понашање платформе и промене АПИ-ја које је донело Андроид издање.
Модул СДК Ектенсионс одлучује о нивоу „СДК проширења“ уређаја и излаже АПИ-је за апликације за упите за ниво СДК проширења. То је отприлике све што помиње званична документација. АрсТецхница, ипак, помиње да је ово вероватно секундарни АПИ слој који ће бити испоручен преко Плаи продавнице.
Статсд, пакет верзија за телеметрију
Статсд је одговоран за прикупљање метрике уређаја. Пакет верзије за телеметријски воз, с друге стране, не садржи активни код нити било коју сопствену функционалност. Једноставно садржи број верзије за „Телеметријски воз“ за који Гоогле каже да је скуп модула који се односе на метрику. На основу броја верзије, Гоогле Плаи приказује верзију безбедносне закрпе крајњим корисницима и утврђује да ли су доступна ажурирања за модуле који се односе на метрику.
Везивање
Модул за привезивање дели интернет везу уређаја са другим повезаним клијентским уређајима преко Ви-Фи, УСБ, Блуетоотх или Етхернет-а. Модул укључује компоненте повезивања и њихове зависности. Коришћењем овог модула за повезивање, произвођачи оригиналне опреме могу да се ослоне на једну, стандардну референтну имплементацију и донесу конзистентно искуство на свим уређајима.
Подаци о временској зони
Модул података о временској зони ажурира летње рачунање времена (ДСТ) и временске зоне на Андроид уређајима, стандардизујући и податке (који могу и се често мења као одговор на верске, политичке и геополитичке разлоге) и механизам ажурирања широм екосистема. Андроид 8.1 и Андроид 9 користили су механизам за ажурирање временских зона заснован на АПК-у, а Андроид 10 га замењује механизмом за ажурирање модула заснованим на АПЕКС-у. Гоогле наводи да АОСП наставља да укључује код платформе неопходан за ажурирања заснована на АПК-у, тако да уређаји који се надоградњују на Андроид 10 и даље могу да примају ажурирања података временске зоне од партнера преко АПК. Међутим, Гоогле упозорава да ажурирања заснована на АПК-у замењују ажурирања заснована на АПЕКС-у.
Ви-фи
Ово је модул за Ви-Фи функционалност. Крајњи корисници сада могу да добију доследно Ви-Фи искуство на свим Андроид уређајима, као и исправке за проблеме интероперабилности путем ажурирања модула, апликације програмери могу да остваре смањену фрагментацију платформе, а ОЕМ произвођачи могу да испуне захтеве оператера уз истовремено смањење трошкова за појединца прилагођавања.
Надамо се да овај чланак наглашава колико је Пројецт Маинлине важан за Гоогле-ов Андроид екосистем.