Xposed za Lollipop sada je službeno dostupan

Xposed Framework ne treba predstavljati XDA čitače. Na pitanje o stvarima naše zajednice najviše mrzi Lollipop, jedini komentar s najvećim brojem glasova u raspravi bio je da je prekinuo podršku za Xposed. Zapravo, mnogi članovi foruma čak su odbili ažuriranje na Lollipop upravo iz tog razloga. Ali to se sada mijenja, jer je konačno stigao dugo očekivani Xposed Framework za Android Lollipop.

Ako već niste upoznati s Xposedom, jednostavno rečeno, to je božji dar za zajednicu modificiranja. Xposed ne zahtijeva flashanje bilo kojeg ROM-a, ali donosi gomilu prilagodbi i podešavanja koje korisnici mogu instalirati poput aplikacija na rootane uređaje. Nevjerojatno je jednostavan za korištenje i s ograničenim rizikom. A sada, svi Android entuzijasti na Lollipopu mogu uživati ​​u prednostima ovog fantastičnog projekta na svojim uređajima. Zgrabite svoje preuzimanje i krenite na modificiranje!

rovo89 je također bio ljubazan da nam pruži pitanja i odgovore za najnoviji projekt. U nastavku možete pronaći odgovore na sva vaša pitanja o projektu.

Zašto je trebalo toliko dugo? ART je objavljen prije više od godinu dana!

Prije svega - mnogi ljudi stalno traže podršku za ART. Lollipop ima daleko više promjena od toga, kao što su još stroža pravila SELinuxa, 64-bitni ROM-ovi i promjene arhitekture koje biste očekivali od velikog izdanja. I naravno, sama UMJETNOST se stalno poboljšava; postoje velike razlike između ART-a za KitKat i ART-a za Lollipop.

Dakle, jedan od razloga je velika složenost, koja je zahtijevala mnogo, mnogo sati rada za istraživanje, razvoj i testiranje.

Drugi razlog je taj što u mom životu postoje druge stvari osim Xposeda, pa je bilo tjedana ili čak mjeseci u kojima gotovo uopće nisam ni pogledao kôd.

Moramo li ponovno napisati sve module?

Ne, Xposed API je gotovo nepromijenjen. Xposed apstrahira sve detalje, tako da moduli ne moraju mariti rade li na Dalviku ili ART-u. Mnogi moduli zapravo će raditi bez ikakvih promjena, posebno oni koji mijenjaju ponašanje korisničkih aplikacija. Module koji ciljaju na ponašanje sustava možda će trebati prilagoditi novom kodu Android okvira, koji nije uzrokovan ART-om, već jednostavno arhitekturom i promjenama koda koje se događaju između bilo koja dva Androida oslobađanja. Najznačajniji je taj što je kod za usluge sustava premješten u zasebnu datoteku. Za većinu zahvaćenih modula to se može riješiti malim refaktoriranjem (premještanjem koda na drugo mjesto).

Radi li zapravo?

Da! Barem za mene, dobro radi na mom svakodnevnom uređaju (Nexus 5 na CM12) i također na mom Nexusu 9 (plaća XDA - hvala!). Telefon je stabilan kao i obično i aplikacije rade dobro. I očito, moduli i njihove kuke/zamjene resursa također dobro rade, inače ne bi imalo smisla izdavati nešto.

Ali zašto je onda alfa verzija?

Budući da je došlo do velikih promjena od posljednjeg stabilnog izdanja koje trebaju testirati ljudi koji znaju kako koristiti oporavak, pobjeći od petlji pri pokretanju i pravilno prijaviti bugove. Novajlijama toplo savjetujem da pričekaju dok Xposed ne testira dovoljno iskusnih ljudi.

Postoje i neki rubni slučajevi koji još nisu testirani, kao što je povezivanje JNI (nativnih) metoda i metoda koje se izvršavaju u trenutku njihovog povezivanja.

Želim ga instalirati. Sada! Što trebam učiniti?

Provjerite jeste li pročitali moje riječi iznad i jeste li upoznati s unutarnjim dijelovima svog telefona. Očito, morate biti na Lollipop ROM-u i imati dobru sigurnosnu kopiju svojih podataka. Za sada ću objaviti samo ARMv7 verziju. 64-bitni je složeniji, pa prvo isprobajmo "jednostavnu" varijantu.

Za sada se instalacija mora izvršiti ručno u prilagođenom oporavku. Flashiranjem zip datoteke instalirat će se:

  • app_process32_xposed i neke simboličke veze
  • libexposed_art.so
  • libart.so i neke povezane binarne datoteke + biblioteke (temeljene na 5.0.2, poboljšane podrškom za spajanje itd.)
  • XposedBridge.jar (sada pohranjen u /system/framework)

Sigurnosne kopije postojećih datoteka bit će stvorene automatski i kasnije se mogu vratiti.

Ne radi/ne sviđa mi se! Kako ga mogu deinstalirati?

Najlakši način je vratiti sigurnosnu kopiju ili flash particiju sustava. Zip datoteku za deinstalaciju tek treba izraditi.

Zašto mijenjate ART datoteke na mom uređaju? To je invazivnije nego na Dalviku, uzrokovat će značajne probleme s performansama i bit će nestabilno!

Zapisao sam neke razloge GitHub. Da, invazivniji je, pa sam ga dugo pokušavao izbjegavati, ali s tehničkog gledišta i gledišta podrške, mislim da je to bolja opcija.

Manje performanse od originalnog ART-a? Vjerojatno, jer sam morao onemogućiti neke optimizacije kako bih omogućio određene vrste kuka. Međutim, to utječe samo na djelić svih metoda, a čak i za one, gubitak performansi sigurno nije značajan ili primjetan, ako je čak i mjerljiv. Još uvijek postoje tisuće drugih optimizacija koje izvodi ART, a ja sam ih pokušao onemogućiti što je moguće manje, a istovremeno pružiti što je više moguće fleksibilnosti.

Stabilnost je dobra kao što je gore spomenuto. U usporedbi s pristupom koji sam koristio za Dalvik (modificirajući unutarnje strukture podataka izvođenja iz app_process), čak sam prilično siguran da je potpuna zamjena biblioteka mnogo pouzdanija put. Mogao bih čisto integrirati svoje promjene u postojeći kod i ponovno upotrijebiti povezane funkcije, dok bi za druge načine bilo potrebno mnogo hakova i pretpostavki.

Hoćete li konačno objaviti izvorni kod?

Naravno, pronaći ćete ga na GitHubu vrlo brzo nakon izlaska alfa verzije, za sada u zasebnoj grani.

Znači li to da starije verzije Androida sada više nisu podržane?

Ne! Novi kod kompajlira se na svim verzijama Androida 4.x i samo ga treba testirati prije objedinjenog izdanja. Ali prvo moram biti siguran da radi dobro za Lollipop. Moguće je da bi se podrška za ART mogla vratiti u KitKat, ali to je manje važno.

Kako da vam zahvalim za vaš rad?

Mnogi su ljudi tražili načine da doniraju nekoliko dolara, pa sam postavio donacija stranica sada.

Koliko trebam donirati da biste dodali značajku X ili modul koji radi Y?

To nije doniranje, to je plaćanje nekome u očekivanju budućeg rada. Ne zanimaju me freelancerski poslovi.