5,598,397 Members 48,094 Now Online
XDA Developers Android and Mobile Development Forum

What's Deodex and Odex?

Tip us?
 
arozer
Old
#1  
Senior Member - OP
Thanks Meter 277
Posts: 685
Join Date: Jun 2010
Location: Atlanta
Default What's Deodex and Odex?

I've been seeing those words a LOT in recent threads.
Any detailed explanation on them please?
The Following 2 Users Say Thank You to arozer For This Useful Post: [ Click to Expand ]
 
danknee
Old
#2  
danknee's Avatar
Senior Member
Thanks Meter 17
Posts: 887
Join Date: Oct 2009
Location: Las Vegas
[search] deodex [/search]
Quote:
Originally Posted by Berzerker
De-odex: Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file and put it back inside the apk. This allows you to easily replace files (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) and to deodex services.jar, you need to deodex everything.
The Following 2 Users Say Thank You to danknee For This Useful Post: [ Click to Expand ]
 
donniezazen
Old
#3  
donniezazen's Avatar
Senior Member
Thanks Meter 44
Posts: 901
Join Date: Jun 2010
Location: Salt Lake City

 
DONATE TO ME
Quote:
Originally Posted by danknee View Post
[search] deodex [/search]
[/I]
How does it matter to regular user?
The Following User Says Thank You to donniezazen For This Useful Post: [ Click to Expand ]
 
sk63
Old
#4  
Senior Member
Thanks Meter 43
Posts: 434
Join Date: Mar 2010
Location: Chicago
Quote:
Originally Posted by donniezazen View Post
How does it matter to regular user?
Themes mostly.
The Following User Says Thank You to sk63 For This Useful Post: [ Click to Expand ]
 
donniezazen
Old
#5  
donniezazen's Avatar
Senior Member
Thanks Meter 44
Posts: 901
Join Date: Jun 2010
Location: Salt Lake City

 
DONATE TO ME
Quote:
Originally Posted by sk63 View Post
Themes mostly.
Thanks. Are themes available in Deodex or Odex? Sorry for noob questions.
The Following User Says Thank You to donniezazen For This Useful Post: [ Click to Expand ]
 
sablesurfer
Old
#6  
Senior Member
Thanks Meter 4
Posts: 354
Join Date: Nov 2009
Related question also....

- Which can live with which? (Deodexed ROM + Odexed Theme? or Odexed ROM + Deodexed Theme?)

You know, like type O is universal donor and type AB is universal recipient...do these work similar or only deodexed with deodexed...?

(where is that darn wiki??)
Old dog trying new tricks
The Following User Says Thank You to sablesurfer For This Useful Post: [ Click to Expand ]
 
donniezazen
Old
#7  
donniezazen's Avatar
Senior Member
Thanks Meter 44
Posts: 901
Join Date: Jun 2010
Location: Salt Lake City

 
DONATE TO ME
Quote:
Originally Posted by sablesurfer View Post
Related question also....

- Which can live with which? (Deodexed ROM + Odexed Theme? or Odexed ROM + Deodexed Theme?)

You know, like type O is universal donor and type AB is universal recipient...do these work similar or only deodexed with deodexed...?

(where is that darn wiki??)
Dear GOD,

Please come down from heaven and explain by some magic show what the hell these deodexed and odexed means?

Thank you,
A non-believer.
The Following 3 Users Say Thank You to donniezazen For This Useful Post: [ Click to Expand ]
 
SilverZero
Old
(Last edited by SilverZero; 31st July 2010 at 09:08 PM.)
#8  
SilverZero's Avatar
Senior Member
Thanks Meter 165
Posts: 1,083
Join Date: May 2010
Quote:
Originally Posted by donniezazen View Post
Dear GOD,

Please come down from heaven and explain by some magic show what the hell these deodexed and odexed means?

Thank you,
A non-believer.
Deodexed ROMs have their .apk's (which are basically the application packages) repackaged in a certain way. An "odex" can be thought of as a collection of parts of applications that have been pulled out and optimized before booting. This speeds up the boot process - in a way, it preloads part of the applications - but it also makes hacking those apps difficult because part of the original code is already extracted somewhere else.

Deodexing is just a process of putting those pieces back into the original applications. It takes a while to extract those parts and build the .dex cache (aka Dalvik cache), but only because the relevant parts aren't in an easy-to-access place for the system. The advantage of this is that an app can be modified effectively and the developer doesn't have to worry about conflicts from the separate odex part of the code.

So, short version: "Deodexed" ROMs have all their apps put back together. If an app can be themed, for example, a deodexed version of that app will not get messed up when the modified .apk tries to mesh with the odex of the original un-modified .apk. Because it's not there.

If you want an aftermarket theme, you need a deodexed ROM. I'm not sure if deodexing can be done to individual apps within a non-deodexed ROM.

I think that's the general idea, anyway.
The Following 26 Users Say Thank You to SilverZero For This Useful Post: [ Click to Expand ]
 
faster3200
Old
#9  
Senior Member
Thanks Meter 13
Posts: 138
Join Date: Jul 2010
Location: Seattle
Quote:
Originally Posted by sablesurfer View Post
Related question also....

- Which can live with which? (Deodexed ROM + Odexed Theme? or Odexed ROM + Deodexed Theme?)

You know, like type O is universal donor and type AB is universal recipient...do these work similar or only deodexed with deodexed...?

(where is that darn wiki??)
You will never find an odexed theme since the odex file would contain things that needed to be changed, thus themes are deodexed. Themes basically just replace the .apk or .jar with their version, which wouldn't work on an odexed rom.

Quote:
Originally Posted by donniezazen View Post
Dear GOD,

Please come down from heaven and explain by some magic show what the hell these deodexed and odexed means?

Thank you,
A non-believer.
Basically, Android uses a a java based virtual machine as the bases for running programs. This virtual machine is called Dalvik. A .dex file contains the cache used by the Dalvik VM (called Dalvik-cache) for a program and is stored inside the .apk. A .odex file is an optimized version of the .dex file which gets stored next to the .apk as opposed to inside the .apk. This process is done by default to system apps. Deodexing is the process of converting the .odex files back into .dex to be stored inside the .apk so that things can be more easily modified. So a deodexed rom is one that has been through the deodexing process. Deodex can just as easily be called Unodex or any other pre-fix you wish to use.

Hopefully that cleared that up.

EDIT: Darn, beaten.
The Following 11 Users Say Thank You to faster3200 For This Useful Post: [ Click to Expand ]
 
sablesurfer
Old
#10  
Senior Member
Thanks Meter 4
Posts: 354
Join Date: Nov 2009
Thank you all. So...themes are deodexed. And only run on deodexed rom...got it. Meaning...I need a deodexed version of the new Froyo to keep my white Rosie. Cool.
Old dog trying new tricks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes