[size=24]Deodexing[/SIZE]
Bei den Stock ROM's gibt es in den Ordnern /system/app bzw. /system/framework neben den *.apk und *.jar Dateien auch noch zu diesen Dateien gehörende *.odex Dateien.
Bei den *.odex Dateien handelt es sich um optimierte classes.dex Dateien. Diese beinhalten gerätespezifische Optimierungen. Eine *.odex Datei hat Abhängigkeiten auf jede "Bootclasspath" Datei, die geladen wird, wenn sie generiert wird. Eine *.odex Datei ist nur dann gültig, wenn sie genau mit dieser Bootclasspath Datei verwendet wird. Die DVM stellt dies sicher, weil sie eine Prüfsumme für jede Datei erstellt, auf die die *.odex Datei abhängig ist und stellt dann sicher, das die Prüfsumme für jede Datei übereinstimmt, wenn die *.odex Datei geladen wird.
Die Bootclasspath ist eigentlich eine Liste, welche die Klassen der *.apk und *.jar Dateien beinhalten, die geladen werden können. Die wichtigsten Klassen, welche man immer in der Bootclasspath findet sind services.jar, framework.jar, core,jar, android.policy.jar und ext.jar. Diese genannten Dateien sind alle im Ordner /system/framework zu finden.
Durch das Deodexing werden die *.odex Dateien in eine classes.dex Datei konvertiert und mit in die *.apk/*.jar Dateien gepackt. Von daher sind deodexte Dateien meistens kleiner als die *.apk/*.jar/*.odex Dateien zusammen. Wenn man die Ordner /system/app und /system/framework komplett deodext, werden einige Megabyte an Daten eingespart. Die deodexten ROM's sind vorallem für Modder interessant, da hier ohne Probleme Veränderungen vorgenommen werden können.