Xposed moduly asi netřeba představovat, jedná se o jednu z volitelných součástí systému Android, která je pravděpodobně nejvyužívanější po funkci ROOT. Pokud byste se zeptali komunity na XDA, kterou doufejme většina z našich čtenářů zná, zcela nejvyšší počet záporných bodů získává to, že po změně na nejnovější Android 5.0 Lollipop přijdou Xposed moduly o svou funkčnost díky změně jádra Dalvik na novější ART.

Pokud byste náhodou nevěděli, co Xposed moduly jsou, tak se jedná o adicionální funkce, které by se jinak musely suplovat flešnutím kompletně jiné ROM. Jednotlivé Xposed moduly mohou měnit vlastně téměř cokoliv, od mapování tlačítek, rušení reklam, vylepšování fotoaparátů až po úpravu UI. Možností je skutečně mnoho a spousty uživatelů Xposed váhá s přechodem na novější verzi Android, protože by přišli o výhody nabyté přes tyto moduly.

Pokud již máte Android 5.0 Lollipop, můžete zkusit štěstí a stáhnout si Xposed Framework pro Lollipop.

XDA modder rovo89 svolil k rozhovoru o nastíněné problematice.

Xposed a Lillipop – Q&A

Proč to trvalo tak dlouho, vždyť jádro ART vyšlo již před rokem?

Především mnoho lidí stále požadovalo podporu stávajícího jádra Dalvik. Lilliop má však mnohem více změn, než jen to, jsou to například přísnější SELinux politika, 64-bit ROMky a změny v architektuře, prostě to, co byste očekávali od nového systému. A také je velký rozdíl mezi ART pro KitKat a mezi ART pro Lollipop.
Jádro se také neustále vylepšuje, tudíž práce je velmi náročná na čas, vývoj, hledání řešení a testování.
Další věcí je to, že v mém životě je samozřejmě také něco jiného, než jen Xposed a byly doby, kdy jsem týdny a možná měsíce neviděl ani řádku z onoho kódu.

Opravdu potřebují přepsat všechny moduly?

Ne, API Xposed aplikace zůstalo víceméně nezměněno. Xposed schraňuje všechny důležité detaily, tudíž modulům je vlastně jedno, jestli běží pod Dalvikem nebo ARTem. Mnoho modulů bude fungovat bez jakýchkoliv změn, obzvláště ty, které ovlivňují práci uživatelských aplikací. Moduly, které se zaměřují na úpravu systémového chování mohou vyžadovat úpravu kvůli změnám v Android frameworku, což ale není dáno změnou jádra na ART, ale změnou architektury mezi dvěma verzemi Androidu. Nejvýznamnější z nich je, že kód pro systémové služby byl přesunut do samostatného souboru. Pro většinu postižených modulů to může být řešeno malým refaktorováním (přemístěním kódu na jiné místo).

Opravdu nové Xposed fungují?

Ano! Alespoň tedy mě fungují a fungují dobře na mém osobním telefonu (Nexus 5 s CM12) a na mém tabletu Nexus 9 (který se mi zaplatil skrze XDA – díky!). Telefon je stabilní jako obyčejně a všechny běžné aplikace fungují normálně. A samozřejmě moduly s jejich nahrazenými návaznostmi a zdroji fungují také dobře, jinak by samozřejmě nemělo smysl cokoliv vydávat.

Tak proč se jedná o Alfa verzi?

Protože od poslední stabilní verze nastalo obrovské množství změn a ty musí být otestovány lidmi, kteří vědí jak používat recovery, jak se dostat z bootloopu a jak správně nahlásit chybu. Nováčkům radím, aby se do toho nepouštěli a raději počkali na verzi, která bude dostatečně otestována zkušenými.

(Následuje věta, kterou nejsem s to přeložit, poněvadž netuším, co je myšleno.)
There are also some edge-cases which haven’t been tested yet, such as hooking JNI (native) methods and methods that are being executed at the time of hooking them.

Chci si to nainstalovat a hned! Co pro to musím udělat?

Ujistěte se, že jste četli moje slova uvedená výše a že víte o tom, co se děje uvnitř vašeho přístroje. Samozřejmě musíte mít Android 5.0 Lollipop a musíte mít zálohu (nejlépe Nandroid v recovery).
Prozatím publikuji verzi pro ARMv7 procesory. 64-bit ji mnohem komplexnější, zkusíme proto zatím tu „jednodušší“ variantu.
Zatím se instalace provádí skrze flašnutí v recovery a flešnou se tyto soubory:
– app_process32_xposed
– libexposed_art.so
– libart.so a nějaké přidružené binárky + knihovny (založené na verzi 5.0.2 atd)
– XposedBridge.jar (nyní uložený v /system/framework)
Záloha existujících souboru se provede automaticky a může být obnovena později.

Nefunguje to/nechci to! Jak mohu Xposed odinstalovat?

Nejjednodušší cestou je obnovené zálohy nebo flešnutí systémového partyšnu. Soubor .zip, který by umožňoval kompletní odinstalaci se teprve musí vytvořit.

Proč se mi přepisují ART soubory? To je více invazivní, než v případě Dalviku. To způsobí znatelné propady výkonu a nestabilitu!

Některé důvody jsem vypsal na GitHubu. Ano je to více invazivní, snažil jsem se tomu dlouhou dobu vyhnout, ale z pohledu technického a z pohledu podpory, si myslím, že se jedná o lepší řešení.
Horší výkon než originální ART? Možná, protože jsem musel zakázat některé optimalizace, abych mohl vytvořit některé vazby. Nicméně toto ovlivňuje pouze zlomek metod a i pro ty je ztráta výkonu téměř neznatelná, pokud vůbec měřitelná. Ještě stále jsou prováděny tisíce optimalizací jádrem ART a já jsem se snažil jich co nejméně zakázat a zároveň získat co největší flexibilitu.
Stabilita je dobrá, jak jsem se již zmiňoval výše. Při srovnání s přístupem k Dalviku (úprava interních Runtime  struktur z app_process) jsem si téměř jistý, že změnou kompletně celé knihovny je mnohem spolehlivější řešení. Mohu integrovat své řešení do již napsaného kódu a znovu použít související funkce.

Bude zdrojový kód přístupný veřejnosti?

Samozřejmě, najdete jej na GitHubu velmi brzy po vydání Alfa verze, v jiném oddělení pro tentokráte.

Znamená to tedy, že starší verze Androidu již nejsou podporovány?

Ne! Nový kód zastřešuje všechny verze Androidu 4.x a pouze musí být otestovaný před vydáním. Nejdříve musím být přesvědčený, že funguje na Lollipopu. Možná bude podpora ART zpětně naportována pro KitKat, ale to není prioritní.

Jak ti mohu poděkovat za tvojí práci?

Mnoho lidí se ptalo, jak mi mohou poslat nějaký ten dollar, založil jsem tedy stránku, kde  mi můžete přispět.

Kolik ti musím zaplatit, abys přidal možnost X a modul co dělá Y?

To není dar, to je očekávání budoucí práce za peníze. Nemám zájem si hledat brigádu.

[ Zdroj ]
Disclaimer: Některé společnosti, o jejichž produktech píšeme, nám mohou občas poskytnout kompenzaci, ale naše články a recenze jsou vždy našimi upřímnými názory. Další podrobnosti naleznete v našich redakčních zásadách.