Xposed For Lollipop jetzt offiziell erhältlich

Xposed Framework bedarf keiner Einführung für XDA-Leser. Auf die Frage nach den Dingen unserer Community hasst Lollipop am meistenDer am höchsten bewertete Einzelkommentar in der Diskussion war, dass er die Unterstützung für Xposed brach. Tatsächlich haben sich viele Forumsmitglieder aus diesem Grund sogar geweigert, auf Lollipop zu aktualisieren. Aber das ändert sich jetzt, da das mit Spannung erwartete Xposed Framework endlich für Android Lollipop verfügbar ist.

Wenn Sie mit Xposed noch nicht vertraut sind, ist es einfach ein Geschenk des Himmels für die Modding-Community. Xposed erfordert kein Flashen von ROMs, bietet aber jede Menge Anpassungen und Optimierungen, die Benutzer wie Apps auf gerooteten Geräten installieren können. Die Anwendung ist unglaublich einfach und mit begrenztem Risiko verbunden. Und jetzt können alle Android-Enthusiasten von Lollipop die Vorteile dieses fantastischen Projekts auf ihren Geräten genießen. Schnappen Sie sich Ihren Download und beginnen Sie mit dem Modding!

rovo89 war auch so freundlich, uns eine Frage-und-Antwort-Runde zum neuesten Projekt zur Verfügung zu stellen. Nachfolgend finden Sie Antworten auf alle Ihre Fragen zum Projekt.

Warum hat es so lange gedauert? ART wurde vor mehr als einem Jahr veröffentlicht!

Zunächst einmal fragen viele Menschen immer wieder nach ART-Unterstützung. Lollipop hat weitaus mehr Änderungen, wie zum Beispiel noch strengere SELinux-Richtlinien, 64-Bit-ROMs und Architekturänderungen, die Sie von einer Hauptversion erwarten würden. Und natürlich wird ART selbst ständig verbessert; Es gibt große Unterschiede zwischen ART für KitKat und ART für Lollipop.

Ein Grund dafür ist die große Komplexität, die viele, viele Arbeitsstunden für Forschung, Entwicklung und Tests erforderte.

Ein weiterer Grund ist, dass es in meinem Leben noch andere Dinge als Xposed gibt und es daher Wochen oder sogar Monate gab, in denen ich mir den Code kaum angeschaut habe.

Müssen wir alle Module neu schreiben?

Nein, die Xposed-API ist weitgehend unverändert. Xposed abstrahiert alle Details, sodass es den Modulen egal ist, ob sie auf Dalvik oder ART laufen. Viele Module funktionieren tatsächlich ohne Änderungen, insbesondere solche, die das Verhalten von Benutzer-Apps ändern. Module, die auf das Systemverhalten abzielen, müssen möglicherweise an den neuen Android-Framework-Code angepasst werden wird nicht durch ART verursacht, sondern einfach durch Architektur- und Codeänderungen, die zwischen zwei beliebigen Android-Geräten stattfinden Veröffentlichungen. Das Wichtigste ist, dass der Code für Systemdienste in eine separate Datei verschoben wurde. Bei den meisten betroffenen Modulen kann dies durch ein kleines Refactoring (Verschieben des Codes an einen anderen Ort) behoben werden.

Funktioniert es tatsächlich?

Ja! Zumindest bei mir funktioniert es einwandfrei auf meinem Alltagsgerät (Nexus 5 auf CM12) und auch auf meinem Nexus 9 (bezahlt von XDA – danke!). Das Telefon läuft wie gewohnt stabil und die Apps funktionieren einwandfrei. Und offensichtlich funktionieren auch die Module und ihre Hooks/Ressourcen-Ersetzungen einwandfrei, sonst hätte es keinen Sinn, etwas zu veröffentlichen.

Aber warum ist es dann eine Alpha-Version?

Denn seit der letzten stabilen Version gab es große Änderungen, die von Leuten getestet werden müssen, die wissen, wie man eine Wiederherstellung nutzt, Boot-Loops entkommt und Fehler richtig meldet. Ich rate Neulingen dringend, zu warten, bis Xposed von genügend erfahrenen Leuten getestet wurde.

Es gibt auch einige Randfälle, die noch nicht getestet wurden, wie z. B. das Einbinden von (nativen) JNI-Methoden und Methoden, die zum Zeitpunkt des Einbindens ausgeführt werden.

Ich möchte es installieren. Jetzt! Was muss ich tun?

Stellen Sie sicher, dass Sie meine Worte oben gelesen haben und mit den internen Komponenten Ihres Telefons vertraut sind. Natürlich müssen Sie sich auf einem Lollipop-ROM befinden und über eine gute Sicherung Ihrer Daten verfügen. Vorerst werde ich nur die ARMv7-Version veröffentlichen. 64-Bit ist komplexer, also versuchen wir es zunächst mit der „einfachen“ Variante.

Die Installation muss vorerst manuell in einer benutzerdefinierten Wiederherstellung durchgeführt werden. Durch das Flashen der ZIP-Datei wird Folgendes installiert:

  • app_process32_xposed und einige Symlinks
  • libexposed_art.so
  • libart.so und einige verwandte Binärdateien + Bibliotheken (basierend auf 5.0.2, erweitert um Unterstützung für Hooking usw.)
  • XposedBridge.jar (jetzt in /system/framework gespeichert)

Es werden automatisch Backups vorhandener Dateien erstellt, die später wiederhergestellt werden können.

Es funktioniert nicht/Ich mag es nicht! Wie kann ich es deinstallieren?

Der einfachste Weg besteht darin, ein Backup wiederherzustellen oder die Systempartition zu flashen. Eine ZIP-Datei zur Deinstallation muss noch erstellt werden.

Warum ersetzen Sie ART-Dateien auf meinem Gerät? Das ist invasiver als auf Dalvik, verursacht erhebliche Leistungsprobleme und ist instabil!

Ich habe einige Gründe aufgeschrieben GitHub. Ja, es ist invasiver, deshalb habe ich lange versucht, es zu vermeiden, aber aus technischer und supportorientierter Sicht halte ich es für die bessere Option.

Weniger Leistung als Original ART? Wahrscheinlich, weil ich einige Optimierungen deaktivieren musste, um bestimmte Arten von Hooks zu ermöglichen. Dies betrifft jedoch nur einen Bruchteil aller Methoden und selbst bei diesen ist der Leistungsverlust sicherlich nicht signifikant oder spürbar, wenn nicht sogar messbar. Es gibt noch Tausende anderer Optimierungen, die von ART durchgeführt werden, und ich habe versucht, so wenige wie möglich zu deaktivieren und gleichzeitig so viel Flexibilität wie möglich zu bieten.

Die Stabilität ist wie oben erwähnt in Ordnung. Im Vergleich zu dem Ansatz, den ich für Dalvik verwendet habe (Änderung der internen Datenstrukturen der Laufzeit von app_process) bin ich mir sogar ziemlich sicher, dass ein vollständiger Austausch der Bibliotheken viel zuverlässiger ist Weg. Ich könnte meine Änderungen sauber in vorhandenen Code integrieren und verwandte Funktionen wiederverwenden, während für andere Wege viele Hacks und Annahmen erforderlich wären.

Werden Sie den Quellcode endlich veröffentlichen?

Sicher, Sie werden es sehr bald nach der Veröffentlichung der Alpha-Version auf GitHub finden, vorerst in einem separaten Zweig.

Bedeutet das, dass ältere Android-Versionen jetzt nicht mehr unterstützt werden?

NEIN! Der neue Code lässt sich auf allen 4.x-Versionen von Android kompilieren und muss vor einer einheitlichen Veröffentlichung lediglich getestet werden. Aber zuerst muss ich sicher sein, dass es für Lollipop einwandfrei funktioniert. Möglicherweise könnte die ART-Unterstützung auf KitKat zurückportiert werden, aber das hat weniger Priorität.

Wie kann ich Ihnen für Ihre Arbeit danken?

Viele Leute haben nach Möglichkeiten gefragt, ein paar Dollar zu spenden, also habe ich eine eingerichtet Spende Seite jetzt.

Wie viel muss ich spenden, damit Sie Funktion X oder ein Modul, das Y unterstützt, hinzufügen können?

Dabei handelt es sich nicht um eine Spende, sondern um eine Bezahlung in Erwartung zukünftiger Arbeit. Ich bin nicht an Freelancer-Jobs interessiert.