DEODEXED/ODEXED (Dalvik Executable Format)

Aus Android Wiki

Der Begriff ODEXED kommt von der Dateierweiterung (auch Dateiendung) .odex, dex steht für "Dalvik Executable Format", das o für "optimized".[1] Mit ODEXED bzw. DEODEXED wird der Aufbau des Androidframeworks und einiger Systemapps beschrieben. Ein ODEXED, bzw. DEODEXED, Aufbau ist nur bei der Verwendung der Dalvik VM als Runtime Engine möglich und vorhanden. Bei der Verwendung der Android Runtime (ART) werden Klassen und weitere Daten, die bei der Dalvik VM im .dex ausgelagert sind, in sog. OAT Dateien gespeichert.[2]

DEODEXED[Bearbeiten | Quelltext bearbeiten]

Der Begriff DEODEXED "verneint" ODEXED (Präfix "de"), was bedeutet, dass das Gegenteil von einer ODEX-Dateistruktur zutrifft. Das Framework und die Apps sind dabei in der jeweiligen APK Datei integriert, es werden keine Teile der Anwendung oder des Frameworks ausgelagert.

Vorteile[Bearbeiten | Quelltext bearbeiten]

DEODEXED-ROMs sind im Gegensatz zu ODEXED-ROMs einfacher anzupassen. Style-Dateien werden einfach in den passenden Ordner verschoben. Das Deinstallieren von Systemapps geht einfach über das Löschen der APK-Datei.

Nachteile[Bearbeiten | Quelltext bearbeiten]

Neben der einfachen Möglichkeit das ROM zu verändern, muss bei jedem Start einer App das System diese vollständig entpacken und bremst damit den Start des Smartphones aus. Zudem kann der Start der App selbst ebenfalls mehr Zeit in Anspruch nehmen.

ODEXED[Bearbeiten | Quelltext bearbeiten]

Bei einer ODEXED Dateistruktur ist der Rom-Aufbau optimiert. Die Programmbibliotheken und weitere Teile einer App sind in *.odex-Dateien ausgelagert und nicht, wie die APK-Dateien, komprimiert.

Vorteile[Bearbeiten | Quelltext bearbeiten]

Die Vorteile eines ODEXED-ROMs liegen darin, dass das System beim Starten beschleunigt wird, da es die Programmbibliotheken schneller verarbeiten kann. Dies wird dadurch erreicht, dass die Programmbibliotheken direkt geladen werden können, ohne dass diese vorher entpackt werden müssen. Im Anschluss muss dann nur noch die übrig gebliebene, deutlich verkleinerte APK-Datei entpackt werden.

Nachteile[Bearbeiten | Quelltext bearbeiten]

Dadurch, dass die Programmbibliotheken in *.odex-Dateien ausgelagert sind, ist es sehr schwierig diesen Aufbau des ROMs zu verändern ("modifizieren", dt.: verändern, anpassen). Beim Entfernen von Systemapps muss beachtet werden, das zu den APK-Dateien auch die .odex-Dateien gelöscht werden müssen und umgekehrt. Beachtet man dies nicht, startet das ROM aufgrund eines Fehlers meist nicht.

Ein weiterer schwerer Nachteil ist, dass ein sogenannter Bootloop zu erwarten ist, sollten Fehler beim Verändern der System-Dateien auftreten. Dieser ist meist nur durch eine Wiederherstellung der Systemdateien zu beheben, wodurch mindestens alle persönlichen Daten verloren gehen. Schwieriger ist das Wiederherstellen über die ADB, sofern die Verbindung im Bootloop möglich ist. Dabei müssten alle Änderungen über die Kommandozeile rückgängig gemacht werden.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]