Inhaltsverzeichnis:
Clark schreibt:
Was zum Teufel bedeutet eigentlich Odex und Deodex? Ich sehe die in fast jedem benutzerdefinierten ROM-Thread erwähnten Begriffe und kann keine Antwort finden, die ich verstehen kann. Ich hoffe, dass Android Central helfen kann.
Ehrfürchtige Frage, Clark. Und ich denke, wir können mit Begriffen antworten, die die meisten Leute verstehen werden. Wie Sie bereits bemerkt haben, werden die Begriffe Odex und Deodex in vielen Forenbeiträgen zu benutzerdefinierten ROMs oder verschiedenen Hacks für Telefone und Tablets angezeigt. Entwickler müssen viel Arbeit aufwenden, um aus "Standard" -ROMs desodexierte ROMs zu erstellen, wie sie sowohl von OEMs als auch von Google angeboten werden.
Zunächst müssen wir wissen, was eine Odex-Datei ist. Dies ist ein Teil einer Anwendung (die APK-Datei), die vorkonfiguriert wurde, damit die Dalvik Virtual Machine sie mit weniger Ressourcen schneller lädt. Wenn Sie auf Ihrem Android-Telefon oder -Tablet im Ordner / system / app / nachsehen, werden Sie feststellen, dass nahezu jede Anwendung sowohl eine APK- als auch eine ODEX-Datei enthält. Diese Dateien arbeiten über die Dalvik-VM zusammen, damit die Apps auf unseren Geräten so ausgeführt werden, wie sie sollten. Lassen Sie uns nach der Pause alles aufschlüsseln.
Die Dalvik VM
Die Dalvik VM ist ein wichtiger Bestandteil eines Android-Systems. Dies ist die Komponente, mit der in Java geschriebene Anwendungen von Drittanbietern auf Ihrem Telefon oder Tablet ausgeführt werden können. Das System selbst startet den DVM und wenn Sie drücken, um eine App zu starten, geht es an die Arbeit. Es nimmt die Daten in die APK-Dateien auf und verwendet einen Just-in-Time-Compiler (JIT), um die Informationen in ein Programm zu integrieren und dann auszuführen. Wenn Teile des Codes bereits optimiert und in eine Datei integriert sind, die vom DVM ausgeführt werden kann, wird der Prozess beschleunigt und es werden weniger Ressourcen benötigt. Das ist eine Odex-Datei.
Odex-Dateien
Die Odex-Dateien, die Sie in Ihrem Systemordner sehen, werden von den Leuten erstellt, die die Anwendung selbst geschrieben und erstellt haben. Android-Apps werden in Java geschrieben und dann in Bytecode konvertiert. Anschließend werden sie von den mit Java Virtual Machine kompatiblen Standardklassendateien in einen speziellen Dateityp konvertiert, den die Dalvik-VM lesen kann. Diese werden als.dex-Dateien bezeichnet. Wenn diese.dex-Dateien außerhalb des restlichen Codes (der sich in der.apk-Datei befindet) platziert werden, verbleibt eine eigenständige.odex-Datei.
Es gibt viele gute Gründe, eigenständige.odex-Dateien zu haben. Sie beschleunigen die Startzeiten (insbesondere beim ersten Start), indem sie den Dalvik-Cache beim Systemstart erstellen. Sie sparen außerdem Platz, indem sie nach Möglichkeit auf das Android-Framework verweisen, und ermöglichen es dem Anwendungsentwickler, seine Programme zu optimieren. Aber seperate.odex-Dateien zu haben, ist nicht sehr hackerfreundlich.
Deodexing
Beim Deodexen von Dateien werden die eigenständige.odex-Datei und die.apk-Datei verwendet und neu erstellt, sodass alle diese vorgefertigten Anwendungsinformationen in der.apk-Datei und nicht in ihrer eigenen Datei enthalten sind. Die vorgefertigten Daten für die Dalvik-VM befinden sich jetzt in einer classes.dex-Datei in der APK-Datei, wie in der obigen Abbildung. Das macht die.apk-Dateien ein bisschen größer und sie können nicht vorgeladen werden, wenn das System hochgefahren ist. Sie können jedoch von Hackern und Themes rückentwickelt werden.
Wenn Sie den gesamten Code und die Daten für das Programm an einem Ort haben, können Sie mithilfe von Tools die App "entbauen" und nach Belieben bearbeiten. Auf diese Weise werden Themen und Optimierungen wie die prozentualen Batteriemodifikationen für "Standard" -ROMs erstellt. Nachdem ein Entwickler seine Änderungen vorgenommen hat, erstellt er die APK-Datei neu und die Änderungen können ausgeführt werden. Dies wirkt sich nicht auf andere Teile des Systems aus, da der Code oder die Daten nicht für andere Apps freigegeben werden.
Welches solltest du wählen?
Das liegt ganz bei Ihnen und Ihren Bedürfnissen, aber ich schlage vor, wann immer möglich eine Deodex-Version zu aktualisieren. Ja, Odex-ROMs werden schneller gestartet, aber Sie bemerken dies erst beim ersten Start, wenn alle System-Apps von der Dalvik-VM vorab zwischengespeichert wurden. Sie können mit Odex-Dateien auch ein gutes Stück Speicherplatz sparen. Dieser Speicherplatz befindet sich jedoch ausschließlich in der Systempartition und bietet keinen Platz für mehr Apps, wenn Ihr Telefon oder Tablet eine separate Anwendungspartition verwendet. Mit den heutigen modernen Telefonen und ihren Multi-Core-Prozessoren und riesigen RAM-Bänken werden Sie nicht einmal schnellere Ladezeiten von Anwendungen bemerken.
Wenn Sie beispielsweise die Statusleiste oder das Thema TouchWiz oder Sense ändern möchten, benötigen Sie ein Deodex-ROM. Sie benötigen auch ein Deodex-ROM, um einige der wirklich coolen, tiefen System-Optimierungen wie das Ändern des Einstellungsmenüs oder das Bearbeiten des Frameworks durchzuführen. Kurz gesagt, wenn Sie Ihren Bootloader bereits freigeschaltet und gerootet haben und bereit für ein benutzerdefiniertes ROM sind, ist die Wahl einer desodexierten Version wahrscheinlich die beste Wahl. Sie werden erstaunt sein, mit welchen Dingen diese verrückten Entwickler aufwarten können, und Sie werden sicherlich auf einige stoßen, die Sie selbst ausprobieren möchten.