Odexing Question - Desire Q&A, Help & Troubleshooting

So i think most of us know what odexing is, it saves us a LOT of spave (40-50mb) on our ROM's and in some case makes them run faster
The drawback of odexing ROM's is that this renders them no longer skinnable/themeable
This script will odex a ROM: http://android.modaco.com/content/htc-hero-hero-modaco-com/301910/odex-script-for-unodexd-roms/
What i was wondering is, that if you flash a deodexed rom which is completely skinnable, and flash a theme such as expresso bar, if you THEN odex the system would that work?
So to summarize, if you theme your system BEFOREHAND, can you then odex the system?
Thanks in advance, sorry if i'm completely wrong here

I don't see why not, we just need a Guinea Pig to try it

Can you ODEX a single APK? I've got a ROM which is ODEX'd but adding non-odex'd files to it takes up a bit more space...
Also, what do you use to run the script?

Yeah you can odex a single APK, i've seen many threads about this, some people have even made this into a one-step process, almost like signing apps on a mac is now a one-step thing
I haven't run the script yet although i will as i like to customize my roms before flashing and these APKs are not odexed, i am running djdroid odexed, apart from some custom apps i flash with it and the expresso bar, i'll run the script and see if it'll odex the expresso bar and apps with it
I also see that the odexing package up in my first link also includes a zipaligning utility which is mighty useful
- Download and extract this zip http://www.romraid.com/paul/modaco-odex-1.1.zip
- Push the odex directory you just extracted to the device with 'adb push odex /data/odex/'
- Run the odex script with 'adb shell /data/odex/odex.sh'
The device will reboot (and take a little while to boot as it rebuilds the dalvik-cache).
EDIT: if anyone is interested i might odex my current rom (djdroid already odexed but flashed about 10 deodexed APKs and expresso bar) and i can test the memory and linpack performance before and after
NOTE: the process should also zipalign the APKs
If it fails then i've already backed up and we all learn something

Ok am currently doing the odexing process on an already odexed djdroid ROM.
I have installed about 15 apps which are not odex'd to internal memory and have flashed the expresso bar.
Current available space: 94.52mb
Current linkpack score: 40.099
Available space after odex: 97.23
New linpack score after odex: 41.29
HOWEVER: it seems that all the apps i customly flashed into the ROM have disappeared which is not good, all apps installed via market however are functioning great. Themes applied beforehand also working perfectly. Then again I odexed an already odexed ROM so perhaps this is why.
To summarize, apps via market work GOOD, themes applied before odex work GOOD, apps flashed into the system (estrong, mybackupro) seem to have disappeared which is NOT GOOD, however this was done on an ALREADY ODEXED ROM. If this were to be done on a deodexed ROM i can imagine this freeing a LOT of space and perhaps there wouldn't be the one problem stated above WOULD RECOMMEND
Hope this helps anyone

I'm trying to odex my rom but I get this for all apk's:
--- BEGIN '/system/app/Vending.apk' (bootstrap=0) ---
--- would reduce privs here
--- waiting for verify+opt, pid=2490
--- END '/system/app/Vending.apk' --- status=0xff00, process failed
And the result is a empty odex file (0 bytes).
Any idea what's happening here?
Thanks.
BR.

Any method (script) to odex a rom before flashing?

cgrec92 said:
Ok am currently doing the odexing process on an already odexed djdroid ROM.
I have installed about 15 apps which are not odex'd to internal memory and have flashed the expresso bar.
Current available space: 94.52mb
Current linkpack score: 40.099
Available space after odex: 97.23
New linpack score after odex: 41.29
HOWEVER: it seems that all the apps i customly flashed into the ROM have disappeared which is not good, all apps installed via market however are functioning great. Themes applied beforehand also working perfectly. Then again I odexed an already odexed ROM so perhaps this is why.
To summarize, apps via market work GOOD, themes applied before odex work GOOD, apps flashed into the system (estrong, mybackupro) seem to have disappeared which is NOT GOOD, however this was done on an ALREADY ODEXED ROM. If this were to be done on a deodexed ROM i can imagine this freeing a LOT of space and perhaps there wouldn't be the one problem stated above WOULD RECOMMEND
Hope this helps anyone
Click to expand...
Click to collapse
Interesting. I might try this. I am assuming my rom is deodexed as each .apk has a .dex file within it.
If I do it I will post some results and comparisons. I'm not planning any theme or font changes so this might be a good option for me!

Can anybody post somewhere this script? (link looks dead).
Thanks in advance.
Sent from my HTC Desire

Related

odexed OR deodexed?

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"

[Q] deodexed vs odexed?

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!

[APP] 'OdexMe' application

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.

[Q] Odex or Deodex?

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.

[HELP] how to Odex cm 12.1 or 12

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

Categories

Resources