Hi experts,
is it better to have CM10.2 (e.g.) in ODEXed form?
There is still empty space in the system ROM (not to mention the unused /preload partition) to hold the .odex files. It will save space in the Dalvik cache and might reduce duration of first start after ROM update.
Are there advantages of ODEXed roms? Maybe faster program start, less RAM consumption?
Are there disadvantages (themeing/modding)?
What would be a safe way to create the ODEXed rom?
I appreciate your help!
Regards,
Klaerchen
The an odex script in dev forum. For advantages search google. Basicly its almost the same boot time as deodexed. Disadvantages is no theming etc. Google it
Sent from my GT-I8160 using Tapatalk
I set dexopt.data-only (not exact name) to 0 in build.prop so that dex goes in /cache instead of wasting space in /data
Related
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"
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
Hey guys, since a clean ROM was finally released:
http://forum.xda-developers.com/showthread.php?t=741775
I think it's time for someone to cook a clean speed rom. That means:
Deodexed
Zip Aligned
Newest Radio
1113Mhz UV-OC
Interactive scaling mode
Market Fixed
Do not touch HBOOT
No bootsound
Optional A2SD+ EXT4
EXT4 SD Card format support
Optionally move apps to internal NAND flash.
Optimized RAM for speed.
About 64-128MB SWAP.
Kernel optimization
Maybe more 720p FPS? Better quality?
Busybox
And that means:
Do NOT put vanilla Launcher -.-'
Do NOT put N1 Gallery there -.-;
Do NOT put random explorer -.-.
Do NOT put other keyboards -.- (unless it's newest swype)
+1
camille93
Maybe its time for you to do it yourself?
Sorry if that sounds rude, but people who release rom's will make it to how they like it.
and please usefull things .... like CIFS support ... not wasting energy on putting unusefull (and not updateable) apps into rom ...
CIFS would be great ! (mount Windows-SMB shares on SDCARD gives so many goodies on your 1,5T sdcard ...8) )
Dany0 said:
Hey guys, since a clean ROM was finally released:
http://forum.xda-developers.com/showthread.php?t=741775
I think it's time for someone to cook a clean speed rom. That means:
Deodexed
Zip Aligned
Newest Radio
1113Mhz UV-OC
Interactive scaling mode
Market Fixed
Do not touch HBOOT
No bootsound
Optional A2SD+ EXT4
EXT4 SD Card format support
Optionally move apps to internal NAND flash.
Optimized RAM for speed.
About 64-128MB SWAP.
Kernel optimization
Maybe more 720p FPS? Better quality?
Busybox
And that means:
Do NOT put vanilla Launcher -.-'
Do NOT put N1 Gallery there -.-;
Do NOT put random explorer -.-.
Do NOT put other keyboards -.- (unless it's newest swype)
Click to expand...
Click to collapse
Forget about most kernel tweaks until HTC releases kernel source...
Dany0 said:
Hey guys, since a clean ROM was finally released:
http://forum.xda-developers.com/showthread.php?t=741775
I think it's time for someone to cook a clean speed rom. That means:
Deodexed
Zip Aligned
Newest Radio
1113Mhz UV-OC
Interactive scaling mode
Market Fixed
Do not touch HBOOT
No bootsound
Optional A2SD+ EXT4
EXT4 SD Card format support
Optionally move apps to internal NAND flash.
Optimized RAM for speed.
About 64-128MB SWAP.
Kernel optimization
Maybe more 720p FPS? Better quality?
Busybox
And that means:
Do NOT put vanilla Launcher -.-'
Do NOT put N1 Gallery there -.-;
Do NOT put random explorer -.-.
Do NOT put other keyboards -.- (unless it's newest swype)
Click to expand...
Click to collapse
It's all the **** YOU want in the ROM so you better make the ROM yourself.... and here's a nice little smilie for you to understand it better: -.-
EDIT: OH, before I forget: most of the things you want are not possible... for kernel tweaks you have to wait for the new sources, and moving apps from EXT to internal without recovery mode... you're kidding right?
LOL, as pretty much everyone kindly explained, this is your preference.
So feel free to cook it yourself. I'd may give a try.
Just count it as a suggestion for cookers.
And I am currently not interested in learning ROM cooking, I am currently much more interested in game programming. So no. And btw it's not just my preference.
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.
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