1. Download our Official Android App: Forums for Android!

Root question?

Discussion in 'Android Devices' started by Et_iGrind, Jun 15, 2011.

  1. Et_iGrind

    Et_iGrind Member
    Thread Starter
    Rank:
    None
    Points:
    15
    Posts:
    41
    Joined:
    Dec 22, 2010

    Dec 22, 2010
    41
    0
    15
    Whats the difference between odexed and deodexed? Im new.lol
     

    Advertisement

  2. Metfanant

    Metfanant Android Expert
    Rank:
    None
    Points:
    163
    Posts:
    2,450
    Joined:
    Sep 23, 2010

    Sep 23, 2010
    2,450
    412
    163
    its a difference in the file structure of the systems...deodexed makes it easier to theme...odexed should be slightly faster...
     
  3. scary alien

    scary alien not really so scary
    Moderator
    Rank:
     #9
    Points:
    2,138
    Posts:
    22,269
    Joined:
    Mar 5, 2010

    Mar 5, 2010
    22,269
    23,508
    2,138
    Male
    space alien ;)
    Indy
    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.

    Cheers!
     
    Steven58 likes this.
  4. cougar214

    cougar214 Android Expert
    Rank:
    None
    Points:
    143
    Posts:
    1,423
    Joined:
    Feb 9, 2011

    Feb 9, 2011
    1,423
    157
    143
    Lol...scary he just said he was new and what do you do? You throw the technical manual at him. Now THAT'S "scary"......:p
     
    scary alien likes this.
  5. scary alien

    scary alien not really so scary
    Moderator
    Rank:
     #9
    Points:
    2,138
    Posts:
    22,269
    Joined:
    Mar 5, 2010

    Mar 5, 2010
    22,269
    23,508
    2,138
    Male
    space alien ;)
    Indy
    Guilty-as-charged :D :) ;). 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" :p) 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 ;).

    Thanks!
     
  6. cougar214

    cougar214 Android Expert
    Rank:
    None
    Points:
    143
    Posts:
    1,423
    Joined:
    Feb 9, 2011

    Feb 9, 2011
    1,423
    157
    143
    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......;)
     
  7. Metfanant

    Metfanant Android Expert
    Rank:
    None
    Points:
    163
    Posts:
    2,450
    Joined:
    Sep 23, 2010

    Sep 23, 2010
    2,450
    412
    163
    that is why i tried to keep it as simple as possible :D
     

Share This Page

Loading...