Discussion in 'Android Devices' started by Et_iGrind, Jun 15, 2011.
Whats the difference between odexed and deodexed? Im new.lol
its a difference in the file structure of the systems...deodexed makes it easier to theme...odexed should be slightly faster...
Its the .apk files that are either "odexed" or "de-odexed". +1 to Metfanant who is correct that you should get better performance and easier theme-ability for de-odexed ROMs.
Here's the best explaination I have seen to date regarding the differences:
cyanogenmod - What is the difference between odexed and deodexed roms? - Android - Stack Exchange
Since the above page didn't load for me properly, I grabbed the "text-only" version from the Google cache. Here's what it says:
A .dex file is basically a compiled bytecode version of an app that has been built for the Dalvik VM which Android's apps run on. I believe it is short for Dalvik Executable, but I'm not sure if I'm remembering that correctly.
An .odex file is an Optimized .dex file (hence the 'o'), meaning that it has basically been pre-compiled for a specific platform. The advantage to this is that startup time is much faster since the VM doesn't have to perform any optimizing at startup/runtime. The disadvantages are 1) That it takes up some extra space and 2) An odexed app won't run properly if it's put onto another device, and it must have the associated .odex file to run at all.
ROMs are typically released in deodexed form because they can be themed and modified fairly easily, whereas theming/modifying an odexed ROM is basically impossible (at best things would crash like crazy). Some people also choose to release their ROMs in odexed versions for people who would prefer the performance gains.
Most of the stock ROMs I've seen are odexed, I assume because the carriers/manufacturers want the performance boost. They also don't have any kind of official theming methods, so they probably don't care if you can't change the colors of your status icons or your system text or whatnot. Plus they have the advantage of knowing what device they want their system to run on, so they can pre-compile the .odex files very easily, I imagine. As an added bonus, it makes it difficult to pull .apk files off of the device and share them with people.
Edit: Since I just realized that I was not very explicit about the difference here - an "odexed" ROM is one where the apps have been precompiled, and thus contain associated .odex files which are external to the .apk files. A "deodexed" ROM is one where data that would be optimized in the .odex files has been more or less merged back into the .apk files (meaning it is not optimized but basically platform agnostic), thus the .apk files are self-contained and there are no .odex files. This is usually just done with a deodexing utility, such as smali/baksmali.
A .dex (dalvik executable) file is basically similar to Windows' .exe files (except in Dalvik VM's language, instead of compiled code). Basically, .odex (optimized dalvik executable) and deodex (de-optimized dalvik executable) relates to how resource files are handled in the applications. The .odex is a .dex file that have been optimized by the dexopt program: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html
All credit to the link above.
Lol...scary he just said he was new and what do you do? You throw the technical manual at him. Now THAT'S "scary"......
Guilty-as-charged . Apologies to the OP if I indeed went overboard .
LOL...whenever I see this question (it seems to pop-up all the time), I keep asking myself if I really understand it myself (the answer is inevitibly "no" ) and I have to re-find this thread and re-read it.
Its starting to sink in to me...seven or eight more times and I might be able to answer it myself without searching .
That's ok scary. Half of the info I give to others I can barely understand sometimes. It's not like riding a bike, once you learn you never forget. It's quite the opposite. The least we do this stuff the better the chance even we experienced folk forget how to do it.
Sometimes being good at it is our downfall......
that is why i tried to keep it as simple as possible