While searching topics related to android platform or any custom ROM’s discussions we come across where these ‘Odexed’ & ‘Deodexed’ terms are often used here and there in each of the posts within lots of forums.
What does it really mean?
Now we are going to talk about what totally is it & what are the other terms coming alongside with it that we should be aware of.
So before killing you by the whole theory & all those mature boring stuffs lets start simply from the first. Now,
What is an ODEX file?
.ODEX abbreviation stands for ‘Optimized Dalvik Executable’ file.Its a Pre-compiled app which have the main target to save space with it.They are the optimized collection of all bunch of applications in the Rom,before the booting & contains all the application information. It helps to speed up the boot process hence leading the Rom/system with more faster experience as compared to all other Roms(which are not odexed).The main Pros of the .Odex is only that it takes less space i.e the .apk files are not big.
As the information is contained in different places hence modding becomes more difficult of the app, is that a con? yeah you may treat this thing as one of the cons if you are falling under the category of modding Roms/apk.
By the way you might be hitting the “wipe dalvik cache” under “advance” in the recovery section before flashing a new rom on your device, the objective behind is that you are wiping the odex files which is directly loaded into the dalvik cache that make your system (what you are flashing)to respond more fast.
So what is a Deodexed then?
Its quite different from the Odex because the information of the apps are not kept separate,though can be found in the .apk(Android Package) file.
Hence it is not a file extension as compared to .odex.The files are present in the Classes.dex file & they are somehow not the one which is optimized like the .odex file before the booting.
Deodexed Rom’s apps can be modded, themed & customized very much, making a plus point for the Devs.
Now here comes the simple meaning of the term Zipalign ?
The final step of making the App/Rom devs uses zipaligning. Which is nothing but an archive alignment tool that provides important optimization android application aka the Apk files. The main reason is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file. Zipaliging is done to pack the .apk(android package) for being parsed faster by the Android Os.