Xposed pentru Lollipop acum disponibil oficial

Xposed Framework nu are nevoie de prezentare pentru cititorii XDA. Când sunt întrebați despre lucrurile din comunitatea noastră urăște cel mai mult pe Lollipop, cel mai votat comentariu în discuție a fost că a rupt suportul pentru Xposed. De fapt, mulți membri ai forumului au refuzat chiar să actualizeze la Lollipop în mod special din acest motiv. Dar toate acestea se schimbă acum, deoarece foarte așteptatul cadru Xposed a sosit în sfârșit pentru Android Lollipop.

Dacă nu sunteți deja familiarizat cu Xposed, pur și simplu, este o mană divină pentru comunitatea de modding. Xposed nu necesită intermiterea niciunui ROM-uri, dar aduce o mulțime de personalizări și modificări pe care utilizatorii le pot instala ca aplicații pe dispozitivele rootate. Este incredibil de simplu de utilizat și cu risc limitat. Și acum, toți pasionații de Android de pe Lollipop se pot bucura de beneficiile acestui proiect fantastic pe dispozitivele lor. Luați descărcarea și treceți la modding!

rovo89 a fost, de asemenea, destul de amabil să ne ofere un întrebări și răspunsuri pentru cel mai recent proiect. Puteți găsi răspunsuri la toate întrebările dvs. despre proiect mai jos.

De ce a durat atât de mult? ART a fost publicat acum mai bine de un an!

În primul rând, mulți oameni continuă să solicite sprijin ART. Lollipop are mult mai multe modificări decât atât, cum ar fi politici SELinux și mai stricte, ROM-uri pe 64 de biți și modificări de arhitectură la care te-ai aștepta de la o versiune majoră. Și, desigur, ART-ul în sine este îmbunătățit constant; există diferențe mari între ART pentru KitKat și ART pentru Lollipop.

Deci, un motiv este marea complexitate, care a necesitat multe, multe ore de muncă pentru cercetare, dezvoltare și testare.

Un alt motiv este că există și alte lucruri în viața mea decât Xposed, așa că au fost săptămâni sau chiar luni în care abia dacă m-am uitat deloc la cod.

Trebuie să rescriem toate modulele?

Nu, API-ul Xposed este aproape neschimbat. Xposed rezuma toate detaliile, astfel încât modulelor nu trebuie să le pese dacă rulează pe Dalvik sau ART. Multe module vor funcționa de fapt fără nicio modificare, în special cele care modifică comportamentul aplicațiilor utilizatorului. Modulele care vizează comportamentul sistemului ar putea trebui ajustate la noul cod cadru Android, care nu este cauzată de ART, ci pur și simplu de modificările de arhitectură și cod care au loc între oricare două Android eliberează. Cel mai important este că codul pentru serviciile de sistem a fost mutat într-un fișier separat. Pentru majoritatea modulelor afectate, acest lucru poate fi rezolvat printr-o mică refactorizare (mutarea codului într-un loc diferit).

Chiar funcționează?

Da! Cel puțin pentru mine, funcționează bine pe dispozitivul meu zilnic (Nexus 5 pe CM12) și, de asemenea, pe Nexus 9 (plătit de XDA – mulțumesc!). Telefonul este stabil ca de obicei, iar aplicațiile funcționează bine. Și, evident, modulele și înlocuirile lor de cârlige/resurse funcționează bine, altfel nu ar avea rost să eliberăm ceva.

Dar atunci de ce este o versiune alfa?

Pentru că au existat schimbări uriașe de la ultima versiune stabilă care trebuie testate de oameni care știu să folosească o recuperare, să scape din buclele de pornire și să raporteze corect erorile. Le sfătuiesc insistent pe începătorii să aștepte până când Xposed a fost testat de destui oameni cu experiență.

Există, de asemenea, unele cazuri marginale care nu au fost încă testate, cum ar fi metodele și metodele de agățare JNI (native) care sunt executate în momentul conectării lor.

Vreau sa-l instalez. Acum! Ce trebuie să fac?

Asigurați-vă că ați citit cuvintele mele de mai sus și că sunteți familiarizat cu elementele interne ale telefonului. Evident, trebuie să fii pe un ROM Lollipop și să ai o copie de rezervă bună a datelor. Deocamdată voi publica doar versiunea ARMv7. 64 de biți este mai complex, așa că să încercăm mai întâi varianta „ușoară”.

Pentru moment, instalarea trebuie efectuată manual într-o recuperare personalizată. Prin intermiterea fișierului zip se va instala:

  • app_process32_xposed și câteva legături simbolice
  • libexposed_art.so
  • libart.so și unele binare aferente + biblioteci (bazat pe 5.0.2, îmbunătățit cu suport pentru hooking etc.)
  • XposedBridge.jar (acum stocat în /system/framework)

Copiile de rezervă ale fișierelor existente vor fi create automat și ar putea fi restaurate ulterior.

Nu merge/Nu-mi place! Cum îl pot dezinstala?

Cel mai simplu mod este să restaurați o copie de rezervă sau să flashați partiția de sistem. Un fișier zip pentru dezinstalare nu a fost încă creat.

De ce înlocuiți fișierele ART pe dispozitivul meu? Este mai invaziv decât pe Dalvik, va cauza probleme semnificative de performanță și va fi instabil!

Am notat câteva motive GitHub. Da, este mai invaziv, așa că am încercat să o evit de mult timp, dar din punct de vedere tehnic și orientat spre suport, cred că este cea mai bună opțiune.

Performanță mai mică decât ART-ul original? Probabil, deoarece a trebuit să dezactivez unele optimizări pentru a face posibile anumite tipuri de cârlige. Cu toate acestea, acest lucru afectează doar o fracțiune din toate metodele și chiar și pentru acestea, pierderea de performanță nu este cu siguranță semnificativă sau vizibilă, dacă chiar măsurabilă. Există încă mii de alte optimizări efectuate de ART și am încercat să dezactivez cât mai puține posibil, oferind în același timp cât mai multă flexibilitate.

Stabilitatea este bună așa cum am menționat mai sus. În comparație cu abordarea pe care am folosit-o pentru Dalvik (modificarea structurilor interne de date ale runtime-ului din app_process), sunt chiar destul de sigur că înlocuirea completă a bibliotecilor este mult mai fiabilă cale. Aș putea să-mi integrez modificările în codul existent în mod curat și să reutilizam funcțiile asociate, în timp ce multe hack-uri și presupuneri ar fi necesare pentru alte moduri.

Veți face în sfârșit public codul sursă?

Sigur, îl vei găsi pe GitHub foarte curând după lansarea versiunii alfa, într-o ramură separată deocamdată.

Înseamnă asta că versiunile mai vechi de Android nu mai sunt acceptate acum?

Nu! Noul cod se compilează pe toate versiunile 4.x de Android și trebuie doar testat înainte de o lansare unificată. Dar mai întâi, trebuie să mă asigur că funcționează bine pentru Lollipop. Posibil, suportul ART ar putea fi retroportat la KitKat, dar acesta este mai puțin prioritar.

Cum să-ți mulțumesc pentru munca ta?

Mulți oameni au cerut modalități de a dona câțiva dolari, așa că am înființat un donare pagina acum.

Cât de mult trebuie să donez pentru ca tu să adaugi caracteristica X sau un modul care face Y?

Asta nu înseamnă donație, ci plătești pe cineva în așteptarea unei lucrări viitoare. Nu sunt interesat de joburi de freelancer.