Званични Кспосед Фрамеворк за Андроид Ноугат је овде

Након дугог чекања, програмер Кспосед Фрамеворк-а је званично објавио да пројекат сада подржава Андроид Ноугат. Инсталирајте Кспосед модуле одмах!

Како је Андроид екосистем сазревао током година, све мање корисника проналази разлоге зашто би требало да рутирају свој уређај. Постоји растући тренд корисника који одлучују да остану на основном фирмверу, било зато што сматрају да је искуство задовољавајуће или не желе да играју игра мачке и миша са Гоогле-овим СафетиНет АПИ-јем. Али ако бисте питали корисника још почетком 2016. зашто су роотовали своје телефоне, можда је разлог број један који је наведен био да инсталирајте Кспосед Фрамеворк. Било је више од годину дана од Андроид 7.0 Ноугат је први пут објављен, али је дуго чекање коначно завршено: званични Кспосед Фрамеворк за Андроид Ноугат је коначно доступан.

Током протекле године, КСДА Сениор Рецогнизед Девелопер рово89, водећи програмер Кспосед Фрамеворк-а, је обезбедио неколикоажурирања о напретку Кспосед Фрамеворк-а за Андроид Ноугат. За неке,

чекање је било подношљиво углавном због огромног броја додатних функционалности које нуди Кспосед Фрамеворк Андроид Марсхмаллов. Али многи други су прешли на живот без Кспоседа на својим уређајима.

Видели смо трачак новог узбуђења у пројекту када је програмер абфорце објавио АРТ подмодул за АОСП 7.1.2, али како истиче наш сопствени ГермаинЗ било вам је боље да сачекате званични Кспосед Фрамеворк издање пошто је абфорце имплементација захтевала да оквир буде интегрисан у прилагођене РОМ-ове. У наставку, ова незванична имплементација је била непотпуна, што је довело до недоследног или лошег понашања са одређеним Кспоседом Модули.

Иако је абфорце урадио одличан посао да његов незванични Кспосед ради на Андроид 7.1 Ноугат, његова имплементација је била у супротности визија рово89 за Кспосед—да би требало да буде стабилно решење које пружа поуздан и једноставан уговор за кориснике и програмере једнако. Под овим подразумевамо да не само да модули треба да раде без проблема за кориснике, већ и начин на који су модули подешени уп треба да буде доследан међу корисницима како би програмери знали да ли је Кспосед модул крив за апликацију црасх.

Више не морамо да бринемо о проблемима као што је рово89 (након помоћи од стране КСДА Рецогнизед Девелопер-а ванам) је сада спреман да објави званичну исправку за Кспосед Фрамеворк и Инсталлер—доноси компатибилност са Андроид 7.0/7.1 Ноугат. То значи да нећете морати да инсталирате прилагођени РОМ или да се петљате са трепћућим нестабилним верзијама да бисте уживајте у Кспосед-у—само роот свој телефон и инсталирајте најновију апликацију Кспосед Инсталлер (линк у наставку) и тхе Кспосед Инсталлер ће учинити магију инсталирања Кспоседа за вас.

Кспосед Инсталлер претражује спремиште модула

Ово би некима могло изгледати мало касно, поготово јер долази ово издање више од месец дана након што је Андроид 8.0 Орео објављен. Имајте на уму да ће врло мали број уређаја имати приступ стабилној верзији Андроид Орео-а у наредним месецима. Андроид Орео је Само на 0.2% свих Андроид уређаја (у поређењу са ~18% на Ноугат-у) према најновијим статистикама из Гоогле-а, али многи наши корисници су они који воле да инсталирају прилагођене РОМ-ове како би остали на ивици крварења.

Дистрибуција Андроид верзије од октобра 2017. Извор: Гоогле

Иако чак и ако инсталирате незванични порт за Андроид 8.0 доступни на безброј уређаја на нашим форумима, многи од ових портова нису дневни статус драјвера. Дакле, осим ако нисте вољни да издвојите стотине долара за потпуно ново Гоогле Пикел 2/2 КСЛ, Сони Кспериа КСЗ1/КСЗ1 Цомпацт, или надолазећи уређај као што је Хуавеи Мате 10, онда ћете вероватно моћи да искористите неколико месеци коришћења Кспосед Фрамеворк-а на Андроид Ноугат-у.

Ако то звучи као вама, онда идите на званичну нит форума за Кспосед Инсталлер и зипове оквира да бисте га покренули и покренули на свом Андроид Ноугат уређају.

Преузмите Кспосед Инсталлер в3.1.2 (прилог)

Преузмите Кспосед Инсталлер за Ноугат 7.0 (СДК24).

Преузмите Кспосед Инсталлер за Ноугат 7.1 (СДК25).

За многе новије кориснике који нису толико упознати са чиме се Кспосед Фрамеворк може користити или како функционише, ми ће укратко објаснити Кспосед Фрамеворк у наставку, зашто бисте требали бити узбуђени и зашто је развој на овоме трајао толико дуго учинио.


Зашто инсталирати Кспосед Фрамеворк?

Желите да добијете прилагођене РОМ функције без флешовања прилагођеног РОМ-а? Мајка свих Кспосед модула за подешавање вашег РОМ-а, познатих као ГравитиБок, јесте ли покрили. Желите да прилагодите подешавања приказа за сваку апликацију? Покушати Подешавања апликације. Шта кажете на прилагођавање одређених апликација као што су Хангоутс? Или модификујте Инстаграм тако да можете преузмите које год постове желите?

Кспосед даје програмерима могућност да модификују скоро шта год желе—углавном усмерено на појединачне апликације, али чак и системске функције могу бити модификоване. Примери које смо навели су само врх леденог брега. Број додатних функција које можете да додате или апликација које можете да измените је невероватан - само претражите званично складиште Кспосед Модуле да се сами уверите. Имајте на уму да ће неки модули можда морати да се ажурирају за ово ново издање и за Ноугат подршку, па обавезно проверите пре него што их инсталирате на свој Ноугат РОМ!

Како функционишу Кспосед модули?

Суштина тога је да Кспосед Фрамеворк дозвољава модулима да "закачите" за Јава методе било које апликације—било да је инсталирана од стране корисника или системска апликација. Кспосед омогућава модулима да извршавају сопствене методе пре, током или уместо оригиналне методе циљне апликације.

На пример, замислите метод који се користи у Гмаил апликацији која објављује обавештења за нове е-поруке. Подразумевано, метода креира ново обавештење са дугмадима за архивирање/брисање или одговор на е-пошту. Кспосед Модуле би могао бити направљен да се повеже са овим методом и дода ново дугме као што је „означи као прочитано“. (Да, има већ Модул за то.)

Горе наведено је превелико поједностављење крајњег резултата онога што Кспосед Фрамеворк омогућава својим модулима. Сам оквир је невероватно сложен и чини га да ради скоро универзално на укорењеним уређајима – без потребе за прилагођеним РОМ-ом – због чега је Кспоседу за Андроид Ноугат требало толико дуго да се заврши.

Зашто развој Кспоседа траје толико дуго?

Магија иза Кспосед-а – оно што омогућава модулима да се повежу са методама других апликација – захтева дубоко знање о томе како Зиготе и Андроид Рунтиме (Уметницка дела. Ови захтеви већ спречавају велики број људи да допринесу пројекту, али проблем се погоршава чињеницом да рово89 је био главни сарадник Кспосед-а последњих 5 година.

Због тога су одбијени позиви на отворени извор његових модификација направљених на Кспоседу од последњег јавног издања Кспоседа. То је његова идеја, и он је најбољи у разумевању и модификовању, тако да додаје више радне снаге пројекту у тако касној фази може једноставно додатно одложити пројекат.

Плус, ако рово89 стално ажурира свој извор, био је забринут да би неко узео недовршени код да направи полуфункционални Кспосед Фрамеворк без универзалног Кспосед Инсталлер-а који би га пратио. (Тачна ствар се ионако десила са абфорце имплементацијом, а резултирајући неред различитих метода инсталације оправдао је оклевање рово89.)

Дакле, најбоље што смо могли да урадимо је да дамо рово89 времена да ради на пројекту свог љубимца. Кспосед није његов пун, па чак ни хонорарни посао. То је једноставно хоби, којим се бави за добробит заједнице већ 5 година. Тако сложен пројекат као што је Кспосед захтева време за рад и тестирање — време које није често имао због других обавеза. Напредак био који је направљен током прошле године, баш као што је рово89 документовао у неколико својих јавних ажурирања о овом питању све док коначно и сам Кспосед Фрамеворк и Кспосед Инсталлер нису спремни за објављивање.

Шта је рово89 урадио да би Кспосед радио у Ноугату?

Нова издања Андроид-а понекад доносе промене у начину на који АРТ функционише, што може захтевати прераду делова Кспоседа. Андроид 7.0 Ноугат је представио Јуст-ин-Тиме компајлер за АРТ да би помогао побољшању перформанси апликација током извршавања, на пример. Али незванични Кспосед Фрамеворк би абфорце једноставно онемогућава многе АРТ оптимизације тако да спајање метода може исправно да функционише.

АРТ оптимизације у Андроид Ноугат-у. Извор: Гоогле

Насупрот томе, имплементација рово89 чува све АРТ оптимизације у Андроид Ноугат-у поновним компајлирањем позиваоца методе помоћу ЈИТ-а и даље имајући закачице метода на месту. То значи да можете уживати у предностима Кспосед модула без жртвовања перформанси насилним онемогућавањем АРТ оптимизација.

За више детаља о томе шта је рово89 урадио да би коначно постигао поуздан метод закачења у Кспоседу за Андроид Ноугат, препоручујемо вам да прочитате изјаву у наставку коју нам је дао.

Комплетна изјава рово89

Језгро Кспоседа је очигледно његова способност да закачи Јава методе, тј. дозволи модулима да извршавају код пре, после или уместо ових метода. Скоро све друге функционалности су засноване на овоме, тако да је кључно да увек ради како се очекује. Општи концепт је исти откако сам измислио Кспосед пре пет година, захтева промену улазне тачке методе. Ово почиње да не успева када се улазна тачка не проверава током извршавања – што је заправо случај са неким оптимизацијама у АРТ-у.

Један пример је када је улазна тачка већ позната у време компајлирања, онда позиваоци могу директно скочити на ову адресу без тражења. Други пример је уметање. Размотрите овај пример:

АРТ је довољно паметан да примети да је метода доубле() веома једноставна и стога уграђује логику право у доСометхинг() метод, овако:

И даље можете да закачите методу доубле(), али она се више неће позивати из доСометхинг() током извршавања, па тако неће ни ваш повратни позив. УМЕТНОСТ је још паметнија: она схвата да је магија увек 42 и стога услов никада не може бити испуњен. Дакле, цела метода доСометхинг() је у ствари без операције:

У претходним верзијама, Кспосед је користио за потпуно онемогућавање ових оптимизација и принудну рекомпилацију свега. То је дошло са неколико недостатака. Пре свега, АРТ програмери раде фантастичан посао у максимизирању перформанси са својим оптимизације, а њихово онемогућавање делимично нужно доводи до мањих перформанси (никада нисам мерио колико ипак). Затим, сама рекомпилација није увек лака и задавала ми је много главобоља, посебно на почетку. Коначно, поново компајлиране датотеке заузимају простор, поред претходно компајлираних датотека на /систем.

Незваничне верзије за Ноугат такође онемогућавају ове оптимизације, али оне не форсирају поновну компилацију (јер је порт првобитно направљен да буде интегрисан у РОМ). Због тога се закачивање понекад неће извршити.

Уз званичну верзију, задржаћете оптимизовани код и још увек имате поуздане куке. Како то функционише? Па, Кспосед снима све обављене позиве. Ово се дешава док се АПК-ови компајлирају или у посебном пролазу за унапред оптимизовани код. Ови додатни подаци не заузимају много простора, али омогућавају Кспоседу да открије где је одређена метода можда уметнута. Дакле, када је метода закачена, сви њени позиваоци ће бити деоптимизовани, тј. њихов код се више неће користити. Ово осигурава да ће повратни позив закаче дефинитивно бити позван. А ако се позивалац у великој мери користи, он ће једноставно бити поново компајлиран са ЈИТ-ом, овог пута са сазнањем да је метод закачен и да се стога неке од оптимизација не примењују. То значи да су ефекти метода закачења сведени на минимум. То, бре!

Сада само напред и испробајте. Обавезно користите Кспосед Инсталлер 3.1.2, јер је конфигурациона путања морала да се промени да би подржала шифровање засновано на датотекама.

Опширније

Закључак

Надамо се да сте одушевљени издавањем Кспоседа за Андроид 7.Кс Ноугат као и ми. Чекање је било дуго, али неизбежно с обзиром на саму сложеност Кспоседа. Ако сте још увек збуњени шта је Кспосед или како функционише, не брините. Врло мало људи (укључујући и нас) заправо разуме како то функционише. Програмери попут рово89 дају све од себе у паковању свог посла тако да не морате да разумете шта се дешава испод хаубе.

Да ли вам се свиђа Кспосед Фрамеворк? Размислите о донирању рово89 за сјајан посао који обавља. Ако мислите да имате оно што је потребно да допринесете пројекту, погледајте ГитХуб страницу рово89 испод.

Донирајте рово89

Допринесите Кспоседу

Тражите Кспосед модуле? Погледајте наш подфорум Кспосед Фрамеворк Модуле или преузмите апликацију КСДА Лабс и прегледајте нашу колекцију Кспосед модула.

Кспосед Модулес Форум

Преузмите КСДА Лабс

Андроид Орео Прогресс

У случају да се питате, ево како напредује добијање Кспоседа за Андроид Орео:

Већ сам почео да радим на Андроиду 8.0. Има их неколико нове језичке карактеристике то ћу морати да погледам, али општи концепт би и даље требало да функционише. То укључује сав рад на поништавању компајлираног кода било ког позиваоца када је метода закачена, што је одузимало далеко највише времена када сам радио на Ноугат-у. Тако да сам заиста уверен да ћу овог пута бити много бржи. Андроид 8.1не би требало много да се разликује, тако да не очекујем много додатног посла за то.