DEODEXED/ODEXED (Dalvik Executable Format)

Aus Android Wiki
Wechseln zu: Navigation, Suche

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

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

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

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

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

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

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

  1. http://www.android-hilfe.de/android-allgemein/332552-info-bedeutet-odex-deodex.html
  2. http://www.xda-developers.com/android/new-runtime-compiler-in-android-4-4/