Xposed voor Lollipop nu officieel verkrijgbaar

click fraud protection

Xposed Framework behoeft geen introductie voor XDA-lezers. Toen hem werd gevraagd naar de dingen in onze gemeenschap heeft de meeste hekel aan Lollipop, was de opmerking met de hoogste stemming in de discussie dat de steun voor Xposed werd verbroken. Veel forumleden hebben zelfs om deze reden zelfs geweigerd om naar Lollipop te updaten. Maar dat verandert nu allemaal, nu het langverwachte Xposed Framework eindelijk is gearriveerd voor Android Lollipop.

Als je nog niet bekend bent met Xposed, simpel gezegd: het is een geschenk uit de hemel voor de modding-gemeenschap. Xposed vereist geen flashing van ROM's, maar biedt talloze aanpassingen en aanpassingen die gebruikers kunnen installeren als apps op geroote apparaten. Het is ongelooflijk eenvoudig te gebruiken en met beperkt risico. En nu kunnen alle Android-enthousiastelingen op Lollipop op hun apparaten genieten van de voordelen van dit fantastische project. Pak je download en ga aan de slag met modden!

rovo89 was ook zo vriendelijk om ons een vraag en antwoord te geven over het nieuwste project. Hieronder vindt u antwoorden op al uw vragen over het project.

Waarom duurde het zo lang? ART is ruim een ​​jaar geleden verschenen!

In de eerste plaats blijven veel mensen om ART-ondersteuning vragen. Lollipop heeft veel meer veranderingen dan dat, zoals een nog strenger SELinux-beleid, 64-bit ROM's en architectuurveranderingen die je van een grote release zou verwachten. En natuurlijk wordt ART zelf voortdurend verbeterd; er zijn grote verschillen tussen ART for KitKat en ART for Lollipop.

Eén reden is dus de grote complexiteit, die vele, vele uren werk vergde voor onderzoek, ontwikkeling en testen.

Een andere reden is dat er andere dingen in mijn leven zijn dan Xposed, waardoor er weken of zelfs maanden zijn geweest waarin ik nauwelijks naar de code heb gekeken.

Moeten we alle modules herschrijven?

Nee, de Xposed API is vrijwel ongewijzigd. Xposed vat alle details samen, zodat het voor modules niet uitmaakt of ze op Dalvik of ART draaien. Veel modules zullen feitelijk zonder enige wijziging werken, vooral de modules die het gedrag van gebruikersapps wijzigen. Modules die zich richten op het systeemgedrag moeten mogelijk worden aangepast aan de nieuwe Android-frameworkcode wordt niet veroorzaakt door ART, maar simpelweg door architectuur- en codewijzigingen die plaatsvinden tussen twee Android-apparaten releases. De belangrijkste is dat de code voor systeemservices naar een apart bestand is verplaatst. Voor de meeste getroffen modules kan dit worden opgelost door een beetje refactoring (code naar een andere plaats verplaatsen).

Werkt het eigenlijk?

Ja! Voor mij werkt het in ieder geval prima op mijn dagelijkse apparaat (Nexus 5 op CM12) en ook op mijn Nexus 9 (betaald door XDA – bedankt!). De telefoon is zoals gewoonlijk stabiel en apps werken prima. En uiteraard werken de modules en hun hooks/resource-vervangingen ook prima, anders zou het geen zin hebben om iets uit te brengen.

Maar waarom is het dan een alfaversie?

Omdat er sinds de laatste stabiele release enorme veranderingen zijn geweest die moeten worden getest door mensen die weten hoe ze een herstelproces moeten gebruiken, hoe ze uit opstartloops moeten ontsnappen en hoe ze bugs op de juiste manier kunnen rapporteren. Ik raad nieuwelingen ten zeerste aan om te wachten totdat Xposed door voldoende ervaren mensen is getest.

Er zijn ook enkele randgevallen die nog niet zijn getest, zoals het hooken van JNI (native) methoden en methoden die worden uitgevoerd op het moment dat ze worden gehookt.

Ik wil het installeren. Nu! Wat moet ik doen?

Zorg ervoor dat je mijn bovenstaande woorden hebt gelezen en dat je bekend bent met de interne onderdelen van je telefoon. Uiteraard moet je een Lollipop ROM gebruiken en een goede back-up van je gegevens hebben. Voorlopig publiceer ik alleen de ARMv7-versie. 64-bit is complexer, dus laten we eerst de ‘makkelijke’ variant proberen.

Voorlopig moet de installatie handmatig worden uitgevoerd in een aangepast herstel. Door het zipbestand te flashen wordt het volgende geïnstalleerd:

  • app_process32_xposed en enkele symlinks
  • libexposed_art.so
  • libart.so en enkele gerelateerde binaire bestanden + bibliotheken (gebaseerd op 5.0.2, uitgebreid met ondersteuning voor hooking etc.)
  • XposedBridge.jar (nu opgeslagen in /system/framework)

Back-ups van bestaande bestanden worden automatisch gemaakt en kunnen later worden hersteld.

Het werkt niet/ik vind het niet leuk! Hoe kan ik het verwijderen?

De eenvoudigste manier is om een ​​back-up te herstellen of de systeempartitie te flashen. Er moet nog een zipbestand voor de-installatie worden gemaakt.

Waarom vervangen jullie ART-bestanden op mijn apparaat? Dat is invasiever dan op Dalvik, zal aanzienlijke prestatieproblemen veroorzaken en zal onstabiel zijn!

Ik heb er een aantal redenen opgeschreven GitHub. Ja, het is invasiever, dus ik heb het lange tijd geprobeerd te vermijden, maar vanuit technisch en ondersteuningsgericht oogpunt denk ik dat dit de betere optie is.

Minder prestatie dan originele ART? Waarschijnlijk omdat ik een aantal optimalisaties moest uitschakelen om bepaalde soorten hooks mogelijk te maken. Dit betreft echter slechts een fractie van alle methoden en zelfs daarvoor is het prestatieverlies zeker niet significant of merkbaar, of zelfs meetbaar. Er worden nog steeds duizenden andere optimalisaties uitgevoerd door ART, en ik heb geprobeerd er zo weinig mogelijk uit te schakelen en tegelijkertijd zoveel mogelijk flexibiliteit te bieden.

Stabiliteit is prima zoals hierboven vermeld. Vergeleken met de aanpak die ik voor Dalvik gebruikte (het aanpassen van de interne datastructuren van de runtime van app_process), ben ik er zelfs vrij zeker van dat het volledig vervangen van de bibliotheken veel betrouwbaarder is manier. Ik zou mijn wijzigingen netjes in de bestaande code kunnen integreren en gerelateerde functies kunnen hergebruiken, terwijl voor andere manieren veel hacks en aannames nodig zouden zijn.

Maak je de broncode eindelijk openbaar?

Zeker, je zult het zeer snel na de release van de alfaversie op GitHub vinden, voorlopig in een aparte branch.

Betekent dit dat oudere Android-versies nu niet langer worden ondersteund?

Nee! De nieuwe code kan worden gecompileerd op alle 4.x-versies van Android en moet alleen worden getest voordat deze wordt uitgebracht. Maar eerst moet ik er zeker van zijn dat het goed werkt voor Lollipop. Mogelijk kan ART-ondersteuning worden teruggezet naar KitKat, maar dat heeft minder prioriteit.

Hoe kan ik u bedanken voor uw werk?

Veel mensen hebben gevraagd naar manieren om een ​​paar dollar te doneren, dus heb ik een bijdrage pagina nu.

Hoeveel moet ik doneren om functie X of een module die Y doet toe te voegen?

Dat is geen doneren, dat is iemand betalen in afwachting van toekomstig werk. Ik ben niet geïnteresseerd in freelancerbanen.