What are the benefits/fallbacks of each? I am trying to decide which I should use..
thanks
Http://forum.xda-developers.com/showpost.php?p=6782283&postcount=2
Lrn2search
fallentimm said:
Http://forum.xda-developers.com/showpost.php?p=6782283&postcount=2
Lrn2search
Click to expand...
Click to collapse
lol, sorry for not searching.. i have more posts than you.. jeez..
Taken from Damage's DamageControl Thread.
Odex vs Deodex
Theres plenty of debate over what is faster/better to use, im not going to take sides in this one. This is just information about what the differences in the two are, try for yourself.
Deodex basically takes the odex file and stuffs it into the apk as a classes.dex. First boot it dissembles the file into /dalvik-cache (i believe). Now there is basically 2 copies of the odex, one in the apk one in cache. This makes it "portable". This allows modders to work on the apks & easily change stuff. If you want themes or stuff like lockscreen fixes you MUST use Deodex.
Odex is how things come stock. It takes up less room but making modifications or taking apks from other roms is hard. You cannot use themes with this version!! To see odex in dcupdater you must go to menu -> configuration -> rom update settings -> display all roms & display experimental roms. Its marked experimental to avoid confusion because themes in dcupdater will not work with it.
Odex - 374 MB free after fresh wipe without setting sync accts up
Deodex - 329 MB free after fresh wipe without setting sync accts up
I use deodex because I like to theme my Hero and EVO. There are some great themers out and it just adds another benfit of "rooting"
what is odexed and deodexed?
"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."
Taken from PPC Geeks
You've probably seen a few odexed ROMs popping up... there will be more and it should be the way to go these days... simply put, odex is better for optimizing and speed, all while keeping sense functional. The stock ROM out the box is odexed. It is also the most stable.
Most ROMs out right now are deodexed for modding and theming purposes.
As of late It has been perceived that it was not possible or just too difficult to theme and mod an odexed ROM. I believe the developer Aamikam has come up with a way to not just use his optimizations and tweaks from his previous ROMs but also add custom mods and themes all while keeping the ROM odexed...
I may be wrong but most if not all of the newer themed odexed ROMs out are off of his base.
Thanks alot guys! Very helpful!
OdexMe is an application i've written for my MCR ROM, but that should work on any ROM with init.d support and busybox in /system/xbin.
Basically, it's an APK you push to /system/app and when you run it, it...
Reboots your device
Odexes everything in /system/app
Deletes the dalvik cache and it's own APK (as you only need to run it once)
Reboots the device and rebuilds the dalvik-cache
As you may or may not know, the dex files for the system applications take a fair old chunk of space on data - this gets around that.
Of course, odexed /system/data means you can't make any /system/framework changes, but how often do you need to do that? If you DO need to, you can reflash your ROM, do the changes, then run OdexMe again.
As I say, this is written for and tested on MCR, so if you try it, backup first and use at your own risk.
You can check it's worked by looking at /system/app after reboot, it should have a bunch of odex files, plus /data/dalvik-cache will have shrunk lots.
You can grab it in this post and one last thing - the initial reboot and odex takes a while, so be patient.
ROM devs - feel free to include this if you like it in your ROMs, but please let me know (and give me credit) so I can contact you when a new update comes out (i'm working on the next release with a few other tweaks).
Enjoy!
P
Thanks Paul..
You are very productive on XDA today.
thanks, always good to have that options..
NICE WORK!
Nice work Paul Thanks
PS Loving the your Custom ROM for the Gal s2
paulobrien said:
OdexMe is an application i've written for my MCR ROM, but that should work on any ROM with init.d support and busybox in /system/xbin.
Basically, it's an APK you push to /system/app and when you run it, it...
Reboots your device
Odexes everything in /system/app
Deletes the dalvik cache and it's own APK (as you only need to run it once)
Reboots the device and rebuilds the dalvik-cache
As you may or may not know, the dex files for the system applications take a fair old chunk of space on data - this gets around that.
Of course, odexed /system/data means you can't make any /system/framework changes, but how often do you need to do that? If you DO need to, you can reflash your ROM, do the changes, then run OdexMe again.
As I say, this is written for and tested on MCR, so if you try it, backup first and use at your own risk.
You can check it's worked by looking at /system/app after reboot, it should have a bunch of odex files, plus /data/dalvik-cache will have shrunk lots.
You can grab it in this post and one last thing - the initial reboot and odex takes a while, so be patient.
ROM devs - feel free to include this if you like it in your ROMs, but please let me know (and give me credit) so I can contact you when a new update comes out (i'm working on the next release with a few other tweaks).
Enjoy!
P
Click to expand...
Click to collapse
working on my kg5 rom....
cheers pal...
can i do a link from my thread?¿??
SERGI.3210 said:
working on my kg5 rom....
cheers pal...
can i do a link from my thread?¿??
Click to expand...
Click to collapse
Sure!
P
Hi Paul!
As usual you did a fantastic job!
I was wondering if your app also delete classes.dex inside APKs! As you already know this should be deleted as well!
Thanks in advance!
L.
Nice!
Works with Revolution 2.5 (KG6).
Now the Tw4Launcher from Fr4gg0r is also odext and gmail shows more than the last 3 mails on startup. THX
@Leomar
Yes it does delete the classes file inside the apk.
I'm not that known with odexed and deodexed stuff etc. but i'm wondering what's the advantage of odexing the system apps?
DruNKfuX said:
I'm not that known with odexed and deodexed stuff etc. but i'm wondering what's the advantage of odexing the system apps?
Click to expand...
Click to collapse
*Quicker initial bootups of custom ROMs
*Less memory is consumed
*Less storage used in /data due to the fact that pre-optimised dex files are stored on /system already (save space and boost performance)
Thanks Paul
LeoMar75 said:
Hi Paul!
As usual you did a fantastic job!
I was wondering if your app also delete classes.dex inside APKs! As you already know this should be deleted as well!
Thanks in advance!
L.
Click to expand...
Click to collapse
Yes. It also then zipaligns the resulting APK too.
P
Thanks for explanation.. I'll stick with deodexed atm, enough memory free and space left in data and boot speeds i dont care about
Works fine on criskelo v12.
Thanks!
I´m Sorry, but i think (and I tested it) on my Milestone and the Bootlogo don´t move. So it stands on one Point and I have to go back into my OR..for sure i´ve made an nandroid Backup..do you think this is possible?
Milestone CM has the init.d folder and the BusyBox.. thank`s for your hard work !
i'll try it on my MIUI 1.8.12 rom today, but first a nandroid just in case
Paul this is the sort of thing I know you are really good at doing, but you don't release enough useful apps like this.
You should start releasing more apps like this that are useful to the dev community as a whole.
Good job.
Lennyuk said:
Paul this is the sort of thing I know you are really good at doing, but you don't release enough useful apps like this.
You should start releasing more apps like this that are useful to the dev community as a whole.
Good job.
Click to expand...
Click to collapse
I keep meaning to pack all these sorts of things up into a 'super-app' but never get the time.
P
Hi Paul,
Massive thanks for the application, I deodexed KG6 and edited some system files to create a ROM with just the features I really wanted.
Now odexed successfully with your application.
Just a quick question, would it be possible to odex /framework later down the line too? I'm assuming the framework would need to be odexed first before /system/app?
Thanks again, great to see you on the SGSII scene after I was a subscriber to Modaco for your work on the Desire.
Sent from my GT-I9100 using XDA App
I used this app moment I noticed in MCR rom and then odexed cog and ASOP Rom. All is well except I couldn't see any of the ringtones in either of these two roms.
I will give it another go and report back.
Thanks for a great app.
Confirmed; not only ringtones but also music player can't see any song too. checked with drm services, these are running fine.
I am a little confused about the odex and deodex terminology. I am looking at various mods or hacks and I'm afraid I could mess something up because I don't know if I am deodexed or not.
I am on the stock ROM, I flashed chris41's stock kernel repacked with CWM and I rooted by installing zip of su and bb from the market. That is all I have done so far.
With that being said, am I deodexed or odexed?
Thanks in advance
P.S. I did search for the answer but did not find one.
Stolen from matlock and akazabam, rooting guide for dummies
Odexed - In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
DeOdexed - Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity."
this is an excerpt from the rooting guide for dummies. thanx to matlock and akazabam. its their words and not mine.
I think most stock roms are odexed...
Thanks for the info, that helps me not make a big mistake installing the hotspot hack and AIO mod.
Please help, is there any specific how to or tutorial on how to make Odex cm 12.1 or 12 directly on the phone. On my Xperia m. Using commands line or apk maybe.
I want to Odex :
Code:
/system/app
/system/priv-app
/system/framework
Thanks in advance.
Add explanation
Quote from nexus 5 thread. Link in post 3.
*What is ODEX and DEODEX?
Odex = More speed__Less customization
Deodex = Less speed__More customization
Extensive explenation:
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These odex files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applicationsdifficult because a part of the coding has already been extracted to another location before execution.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating theworry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
I think that you like more speed and less customization (less costumization for dev because is to difficult mod an Odex file)
Another explanation is this:
If you use a odex rom, you'll have also more space in data (this is important because if you don't have partition ext4 in sdcard, you won't have too free space), increase battery life, more stability and increase perfomance( the Rom is more faster to load system and app) but you can't modifie apk after odex (you can't mod program with classes.dex).
Infact ODEX is an OPTIMIZED-DEX and Android load system and app faster than deodexed (DEOPTIMIZED-DEX) app and system.
When you have a deodex file (a lot of roms are deodexed) you have File.apk in system/app and in data/dalvik-cache [email protected]@[email protected], but with odex file you have File.apk in system/app and File.odex in system/app
ndrancs said:
With odexed the rom, you can get more free space in internal memory, about 400mb.
Click to expand...
Click to collapse
It's also more stable and faster... Thought also about but have doubts that it's easy possible in the Art system because of subfolder structure, missing symlinks and so on... Will be hard work
http://forum.xda-developers.com/android/help/odex-deodex-matter-android-lollipop-art-t2944293
But it seems, some did it:
http://forum.xda-developers.com/goo...om-xtraslim-1-0-stock-odex-optimized-t2924150
This tool http://forum.xda-developers.com/showthread.php?p=47462548
Not yet updated to support lollipop / 5.x.x