Neoficiálny rámec Xposed pre Android 7.1 Nougat

click fraud protection

Teraz je k dispozícii flashovateľný zip, ktorý prináša Xposed Framework na Android 7.1 Nougat ROM. Zip funguje na OnePlus 3T, ako aj na mnohých iných telefónoch!

Po mesiacoch a mesiacoch čakania sme konečne získali podporu Xposed Framework pre Nougat ROM (aj keď neoficiálne). Vďaka niektorým talentovaným vývojárom na našich vlastných fórach XDA si teraz môžete nainštalovať Xposed Framework na Android Nougat ROM cez flashable zips.

Až doteraz vyzerala budúcnosť Xposed on Nougat trochu neistá. Rovo89 - vývojár za Xposed Framework - poskytla aktualizáciu podpory pre Android Nougat o niečo viac ako pred týždňom. Rovo89 v podstate uviedol, že je potrebné urobiť ešte veľa práce, aby Xposed správne fungoval na Nougate, a že musíme byť trpezliví.

Našťastie to vyzerá, že sme dostali dočasné riešenie pre tých z nás, ktorí netrpezlivo čakali na dočasné opatrenie. Tím PurifyOS schmatol modul ART, ktorý vývojár abforce pracoval na (a o ktorom bolo dnes uverejnené) a prispôsobili ho tak, aby ho bolo možné nainštalovať na iné vlastné ROM pomocou flashovateľného zipu (namiesto toho, aby sa musel implementovať pri kompilácii ROM).

V súčasnosti sú dostupné tri verzie pre rôzne platformy vrátane Xposed SDK25 ARM64, Xposed SDK25 ARMa Xposed SDK25 X86. Tím PurifyOS testoval túto novú verziu Xposed s OnePlus 3T so systémom OxygenOS založeným na systéme Android 7.1, ale mal by fungovať na iné telefóny so systémom Android Nougat a používatelia už hlásia, že sa im ho podarilo úspešne nainštalovať na rôzne ROM a zariadení. Napríklad niekoľko používateľov na OnePlus 5 oznámilo, že funguje (nie je prekvapením, že beží na OnePlus 3T v pohode), ale používateľ, ktorý používa ROM založenú na AOSP pre Samsung Galaxy S6, tiež uviedol, že to pre nich fungovalo.

Bude potrebné zistiť vrtochy a nie každému sa to doteraz podarilo uviesť do prevádzky, pričom niektorí používatelia zažili nútené zatváranie a iné zvláštnosti. Aj keď je to tak, stále to môžete skúsiť, ak ste čakali na príchod Xposed na Nougat už od vydania predchádzajúcej verzie operačného systému Android. Nie všetky existujúce moduly Xposed Framework budú fungovať okamžite, ale niektoré skutočne populárne moduly, ako napríklad Amplify, údajne fungujú.

Ak si nie ste istí, či je vaše zariadenie alebo ROM podporované, nezabudnite si robiť pravidelné zálohy a pozorne si prečítajte vlákno, kým sa doň pustíte. Nakoniec sa uistite, že ste použili funkciu „hľadať“ pred opustením duplicitnej otázky. Android O môže byť hneď za rohom, ale ako sa hovorí, "lepšie neskôr ako nikdy." Navyše, veľa používateľov ešte nejaký čas neuvidí Android O na svojich zariadeniach, takže Xposed by mal byť príjemnou pochúťkou, aby ste sa necítili pozadu.


Aktualizácia: Reakcia Rovo89

Originál vyvinutý za Xposed Framework, XDA Senior Recognized Developer rovo89, reagoval na Github svojimi myšlienkami na tento nedávny vývoj.

Z vlastnej skúsenosti vám môžem povedať, že naozaj nie je také ťažké urobiť základy, ale detaily si vyžadujú sakra veľa času. Je to ako pravidlo 80-20, až na to, že je to skôr 95-5 alebo tak.

Hákovací prístup, ktorý som navrhol pre predchádzajúce vydania, je pomerne stabilný a dá sa použiť aj pre novšie vydania. Predpokladám, že väčšinu času ste potrebovali skontrolovať všetky miesta, kde IsProxyMethod() a IsDirect() sa zavolá a rozhodnú, či by mali zvážiť nový modifikátor metódy alebo nie (t. j. použiť parameter true alebo nie). Ak ste to neurobili, možno ste prehliadli niektoré miesta, kde takéto hovory novo zaviedli. To isté platí pre metódy ako InstallStubsForMethod(), ktorá musí fungovať na pôvodnej pôvodnej metóde, aj keď sa od nich vyžaduje háková metóda. Budete musieť vyhľadať ďalšie miesta, kde by to mohlo byť relevantné. To je stále v rozmedzí dní, ale ak to nestihnete urobiť, môžete vidieť nejasné zlyhania alebo nesprávne správanie, ktoré je veľmi ťažké odladiť.

Okrem toho ste zvolili prístup, v ktorom by háčiky fungovali správne iba pre ROM, ktoré sú úplne zostavené od začiatku. Na skladových ROM a dokonca aj na väčšine vlastných ROM (ktoré nezahŕňali váš port pri vytváraní), ako aj na všetky aplikácie, ktoré už zariadenie mohlo skompilovať. Takže by ste museli začať odznova s ​​vymazaným zariadením so špeciálnou ROM. Ak nie, potom optimalizácie (napr. inlining) môžu zabrániť volaniu metódy, a preto by háky nefungovali. Najhoršie na tom je, že presné správanie bude závisieť od ROM alebo dokonca od toho, ako používateľ zariadenie používa (teraz, keď sú aplikácie kompilované na základe profilov). Moduly by náhodne zlyhali a vývojári modulov by sa čudovali, čo urobili zle (odpoveď: nič). Ak nie sú splnené všetky predpoklady, ide o dosť nespoľahlivé API. Predstavte si, že Google zverejnil aktualizáciu, kde OnClickListener Tlačidlo sa niekedy nevolalo, pokiaľ ste si nezkompilovali ROM od začiatku... Pre mňa osobne je to veľké obmedzenie.

On pokračuje:

Vôbec nemá zmysel s tým zverejňovať flashovateľné ZIP, keďže port je určený len na prekompilovanie ROM od začiatku.

A ako som sa bál, neexistuje jediné varovanie, že ide o nekompletný port, ktorý často nedokáže splniť zmluvu API. 😠 To je zlé pre vývojárov a používateľov, mali by aspoň vedieť, že je to neúplné, aby sa mohli rozhodnúť, či to chcú podporovať/používať. Nikdy by som sa neodvážil urobiť niečo také bez veľkého tučného varovania. Popravde, keďže som skôr perfekcionista, nekompletnú verziu by som vôbec nevydával, spoľahlivosť je pre mňa veľmi dôležitá.

Práve som si skontroloval svoj Git log a v októbri som mal pripravené základné hákovanie (ako v tomto porte). Odvtedy som pracoval na odstránení obmedzení. Aby to bolo spoľahlivejšie na predkompilovaných ROM, mohol som preniesť aj časť na rekompiláciu, ale stále to nie je ideálne. Ako bolo vysvetlené niekde vyššie, teraz máme JIT, čo nám umožňuje ponechať si všetky optimalizácie, iba zneplatniť (a prípadne prekompilovať) metódy, ktoré sú priamo ovplyvnené hákom. Je to dosť náročné, pretože ide o viac než len o kopírovanie a vkladanie. A kým to nebude hotové, nebudem nič zverejňovať. 9 mesiacov na to (doteraz) je fakt dlhá doba, viem, ale hej, je to môj voľný čas a napr. z dôvodu sťahovania do nový byt, nemohol som na Xposed niekoľko mesiacov (!) vôbec pracovať a inak som mal len veľmi obmedzený čas.

Mali by sme objasniť, že tento nedávny vývoj nie je skutočným „Xposed“, ktorý všetci poznáte a láska, ale funkčne vám umožňujú používať niektoré moduly Xposed Framework práve teraz v systéme Android Nugát. Nebudeme vám vyčítať, že ste nepočkali na oficiálnu, stabilnejšiu a kompatibilnejšiu verziu Xposed Framework pre Android Nougat, ale chceme objasniť, že táto iterácia je len prechodným opatrením, ktoré má uspokojiť potreby niektorých používateľov. teraz. Pravdepodobne to nebude spôsob, akým sa bude v budúcnosti zaobchádzať s Xposed.


Stiahnite si neoficiálny rámec Xposed pre Nougat na fórach XDA