Flashable Zip to ODEX CyanogenMod 7.2
I've heard that an ODEXed rom can be faster that a deODEXed rom, or at least the apps will load faster. This may or may not be true, but ODEX does provide one noticeable advantage that the system apps and frameworks no longer require storage space on /data in the dalvik-cache. It uses more space on /system, but there is plenty to spare there with CyanogenMod.
One of the main reasons roms are usually deodexed is to allow themers and the like to easily edit apks and frameworks. Since cyanogen has the Theme Chooser app that doesn't need to modify files, I decided to try odexing. This is loosely based off of a script by Decad3nce for the Hero.
So far I haven't noticed anything broken by this, and it seems a bit faster. I have no way to tell if its actually faster, but there's no harm in trying it for yourself.
Advantages:
More free space on /data
Possibly faster app loading time and phone bootup.
Disadvantages:
More space used on /system (so what?)
Moding system apk files and framework not easy. (ex. Theme flashable zips won't work, but CM has its own theme app that still works.)
Instructions:
NANDROID!!!
Flash zip (be patient, it takes a while)
Reboot
How to flash a new nightly: IMPORTANT!
Flash cm_epicmtd_full-##.zip
Flash gapps-gp-20110828-signed.zip
Flash auto-odex-cm7_2.zip
Notes on using custom kernels:
Custom frameworks: If the kernel (or anything else) flashes any .jar file in /system/framework/ you MUST flash it before odexing. If you want to flash after odexing, open the kernel zip on your computer and delete the jar file from /system/framework/.
Zipalign: Kernel's that zipalignshould be flashed after this. My odex script deletes the classes.dex file from every app/framework it odexes which modifys the zips. I haven't verified this, but I am assuming that negates the effects of the zipalign.
If the kernel both zipaligns and has custom frameworks, you must make a choice of which feature you find more useful. If you want zipalign more, delete the custom frameworks and flash after odexing. If you want the custom frameworks more, flash before odexing.
How to undo (deodex):
Do NOT just delete the .odex file from /system/app or /system/framework !!!!!
You have two options here:
Advanced restore nandroid of /system
--OR-- Reflash CyanogenMod and Google Apps.
Download:
auto-odex-cm7_2.zip - 948 KB
This has been tested to work on CyanogenMod 7.2 Nightly 12 and 13.
It should work on any other nightly or the RC0, but no guarantees...
How it works:
The flashable zip runs a script that runs a program called dexopt-wrapper on every framework file in BOOTCLASSPATH order, then every system apk included with CM and gapps. It then deletes the classes.dex file from all of those frameworks and apks. Last it clears the dalvik cache since much of it will now be unneeded.
The dexopt-wrapper binary doesn't do much other than properly run the system's dexopt binary with the right arguments.
Credits:
Inspired by a script by Decad3nce
zip binary: taken from metamorph app's googlecode site.
dexopt-wrapper binary: Not in CM, so taken from random mediafire link
Author unknown, but here's what could be the source code
Can you shed some knoledge on how to odex a flashable mod?
Sent from my SPH-D700 using XDA App
marcusant said:
Can you shed some knoledge on how to odex a flashable mod?
Click to expand...
Click to collapse
Do you mean how to ODEX a previously DEODEX'd file? All the ODEX custom ROMs I've seen are flashable... unless you are discounting those done via ODIN... but that doesn't make up the bulk of ODEX ROMs.
Flashing this with Burrito Manager right now, I'll let you know how it goes =]
edufur said:
Do you mean how to ODEX a previously DEODEX'd file? All the ODEX custom ROMs I've seen are flashable... unless you are discounting those done via ODIN... but that doesn't make up the bulk of ODEX ROMs.
Click to expand...
Click to collapse
I am wondering how to reodex files on a PC and not CWM
Sent from my SPH-D700 using XDA App
marcusant said:
Can you shed some knoledge on how to odex a flashable mod?
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Just a thought but if you delivered deodexed files and then deleted the odex file associated with them when you installed and then ran this script on the files you added or modified after the install it would be like delivering odex or deodex to whoever wanted each version and it could key off some config file or just check for the presence of an odex file in the system directory to determine if to odex after installing or not.
Sent from my SPH-D700 using Tapatalk
Wrong thread lol
edufur said:
Do you mean how to ODEX a previously DEODEX'd file? All the ODEX custom ROMs I've seen are flashable... unless you are discounting those done via ODIN... but that doesn't make up the bulk of ODEX ROMs.
Click to expand...
Click to collapse
He did say that the mod is already flashable. And he didn't specify whether it was previously deodexed because A.) it doesn't matter if the mod had once been odexed and subsequently deodexed, or was and always has been deodexed, and B.) why would he ask how to odex an odexed file? That's an easy one: "step 1.) Don't do anything. step 2.) there is no step 2... (no, don't profit - you haven't done anything)"
Sent from my SPH-D700 using XDA App
styles420 said:
He did say that the mod is already flashable. And he didn't specify whether it was previously deodexed because A.) it doesn't matter if the mod had once been odexed and subsequently deodexed, or was and always has been deodexed, and B.) why would he ask how to odex an odexed file? That's an easy one: "step 1.) Don't do anything. step 2.) there is no step 2... (no, don't profit - you haven't done anything)"
Click to expand...
Click to collapse
I think you misunderstood one of us. I did not suggest that anyone ODEXed something that was already ODEXed, nor did I suggest that anyone else what inquiring how to do that. Maybe you need to re-read it?
marcusant said:
I am wondering how to reodex files on a PC and not CWM
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
I don't believe it's possible to odex files outside of the phone. The odexing process makes use of the dexopt binary on the phone which is part of andriod. I think you pretty much have to do it manually on the phone, or write a script to do it from a flashable zip.
As for flashing new files then odexing them to a rom that has already been odexed, that must be done carefully. If you are just changing an app, then just delete the odex file, replace the app with your deodexed version, then odex it if you want (doesn't have to be odexed). If you want to change one of the framework jar file, you should probably revert the whole rom to deodexed first. The frameworks have to be odexed in BOOTCLASSPATH order, and before any apps are odexed. If one of them is replaced and reodexed later, things will break. Also, if the odexing of any of the framework is changed, it invalidates all the apps that were odexed.
It is possible to leave the framework deodexed and odex just the system apps, but that probably isn't even worth doing, since everything uses the framework, where only relatively a few of the apps are system apps (at least when you have 200+ apps). But this does allow the framework to be modified easier.
My reasoning behind odexing both the framework and the apps is that this is cyanogen. The framework files shouldn't really need modified for anything. Seems like it should be easier to make any changes in the cyanogen source.
marcusant said:
I am wondering how to reodex files on a PC and not CWM
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Check your ODEX thread. Did you give a look at tanimn's odex tool? I posted it there.
Has anyone tested this, other than zmann of course? Just wondering if anyone has noticed any pros/cons. Also, would it matter which kernel one was using with this mod? The smooth scrolling mod in the newer samurai kernel modifies the framework.jar somewhat i believe.
beltsnspoons said:
Has anyone tested this, other than zmann of course? Just wondering if anyone has noticed any pros/cons. Also, would it matter which kernel one was using with this mod? The smooth scrolling mod in the newer samurai kernel modifies the framework.jar somewhat i believe.
Click to expand...
Click to collapse
This worked wonders nightlys 12-14. After flashing the latest samurai kernel with scrolling cache fix, I flashed this again. Did not work. Boot looped. That could be my fault though.
darkierawr said:
This worked wonders nightlys 12-14. After flashing the latest samurai kernel with scrolling cache fix, I flashed this again. Did not work. Boot looped. That could be my fault though.
Click to expand...
Click to collapse
Samurai flashes one of the framework jars, so the one way for it to work is if you reflash nightly and gapps, then samurai, then this.
I've been running this for a couple days on 13 now and it seems so much faster. I don't seem to get the random slowdowns that always seemed to happen with just about every rom.
Edit: its had 40 downloads, so someone must be using it.
Sent from my SPH-D700 using xda premium
I've been using this for a few days now and must say that it really improves boot times and the phone feels snappier for sure. Idk why more people haven't flashed this, it definitely provides a noticeable performance gain. Thank you for this!
Sent from my SPH-D700 using xda premium
zman0900 said:
Samurai flashes one of the framework jars, so the one way for it to work is if you reflash nightly and gapps, then samurai, then this.
I've been running this for a couple days on 13 now and it seems so much faster. I don't seem to get the random slowdowns that always seemed to happen with just about every rom.
Edit: its had 40 downloads, so someone must be using it.
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
Would this have to be flashed after every nightly update and by using the method you mentioned above? Or would this just be a one time flash?
Sent from my cyan seppuku samurai epic
zman0900 said:
Samurai flashes one of the framework jars, so the one way for it to work is if you reflash nightly and gapps, then samurai, then this.
I've been running this for a couple days on 13 now and it seems so much faster. I don't seem to get the random slowdowns that always seemed to happen with just about every rom.
Edit: its had 40 downloads, so someone must be using it.
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
I downloaded it to read it
Nashdogg said:
Would this have to be flashed after every nightly update and by using the method you mentioned above? Or would this just be a one time flash?
Sent from my cyan seppuku samurai epic
Click to expand...
Click to collapse
After every nightly, flash gapps, then this. If your flashing samurai, you should flash it before odexing since it modifys framework. If flashing my kernel, flash it after odexing since it zipaligns the system apks.
Sent from my SPH-D700 using xda premium
zman0900 said:
After every nightly, flash gapps, then this. If your flashing samurai, you should flash it before odexing since it modifys framework. If flashing my kernel, flash it after odexing since it zipaligns the system apks.
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
Ok, thank you. That clears things up alot. Was just getting ready to flash this using your kernel and was gonna flash it before, so you saved my a## there Thank you for this and a great alternative to the samurai kernel. I like them both, but yours is definatly great on battery savings and stability. Great job.
Sent from my cyan seppuku samurai epic
darkierawr said:
This worked wonders nightlys 12-14. After flashing the latest samurai kernel with scrolling cache fix, I flashed this again. Did not work. Boot looped. That could be my fault though.
Click to expand...
Click to collapse
zman0900 said:
Samurai flashes one of the framework jars, so the one way for it to work is if you reflash nightly and gapps, then samurai, then this.
I've been running this for a couple days on 13 now and it seems so much faster. I don't seem to get the random slowdowns that always seemed to happen with just about every rom.
Edit: its had 40 downloads, so someone must be using it.
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
thomasskull666 said:
I've been using this for a few days now and must say that it really improves boot times and the phone feels snappier for sure. Idk why more people haven't flashed this, it definitely provides a noticeable performance gain. Thank you for this!
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
thanks for the info guys. im gonna go ahead and give it a shot. theres still a few things that are unclear to me. one, if i flash the kernel affecting the framework and then this, would the modifications to the framework in the odex zip nullify the modifications used in the smooth scrolling tweak? and two, if i use a morph to theme the lockscreen, will it work with this, and if so should i flash the morph before or after flashing the odex zip? thanks again for the help, i hit the thanks button for all three of you.
Hello everyone, I hope I have posted in the right section, I have to ask you a question that despite several hours of trial and research remains to me: I was going to download the firmware official google nexus 7 and take the apk that interest me, and install them on the samsung tablet 7plus.
I downloaded the version both deodexed and odexed of the google nexus 7 and I extracted, for example, the contacts.apk DEODEXED from it.Installing the apk android ics stock tells me: error with the analysis of the packet. I also tested with version odexed putting the apk file and the odex file into the folder system / apps but also restarting did not work ...
1) it's possible what I want and for example it's possible to install another launcher (ex. launcher.apk stolen from google nexus 7 stock deodexed) like a normal apk and use it just pressing home button and selecting it instead of touchwiz launcher?
2) if yes can you explain me the procedure?
3) do you know where I can find the backgrounds stock once downloaded any ROM (which gives me the compacted system folder plus other img etc etc?
Thank you in advance .... sorry for my english, i hope you have understood my intention : I'm going to have both (one of the touchwiz and one of the stock nexus 7) or replace the contacts application and launcher with those of the google nexus 7
See you soon, Andrea
What version is your tablet running? The apks might not be working because they are 4.1 apks and your system isn't compatible
Sent from my LG-VM696 using Tapatalk 2
Android311 said:
What version is your tablet running? The apks might not be working because they are 4.1 apks and your system isn't compatible
Sent from my LG-VM696 using Tapatalk 2
Click to expand...
Click to collapse
Ok, i'm running 4.04 android ICS and the nexus 7 is 4.1 jelly bean... i'll try with an ICS version, but are you sure that the only problem is the difference of versions of firmware?
I think that's what causing the problem, I get the same problem when I take a 4.0 apk and try to use it on my 2.3 phone. It just isn't compatible with the system
Sent from my LG-VM696 using Tapatalk 2
Also you have to make sure your running the proper version of the OS. An AOSP ROM apk will not work on a non AOSP rom
Sent from the Bat Cave
I'm hoping to find a few ppl that are still running stock ICS. I recently flashed numa, which I love the rom but there are a couple of things of like back the way they were. I liked the stock email client, the stock swype keyboard, and last but not least i like the gallery app from stock cause it had that built in editor. If anyone could help me out with these apps I would be indebted to you.
Sent from my MB865 using xda app-developers app
a1morrison said:
I'm hoping to find a few ppl that are still running stock ICS. I recently flashed numa, which I love the rom but there are a couple of things of like back the way they were. I liked the stock email client, the stock swype keyboard, and last but not least i like the gallery app from stock cause it had that built in editor. If anyone could help me out with these apps I would be indebted to you.
Sent from my MB865 using xda app-developers app
Click to expand...
Click to collapse
Just FYI, that will probably not work as NUMA is a deodexed ROM and the apps you're requesting are odexed. Of course, depending on how badly you want them, there are many ways and threads/tutorials on how to deodex that you could check out.
Brought to you by time and relative dimensions in space.
Thanks for the heads up on that one.
Sent from my MB865 using xda app-developers app
a1morrison said:
Thanks for the heads up on that one.
Sent from my MB865 using xda app-developers app
Click to expand...
Click to collapse
I've been running stock for a long time, and I found the Xposed framework which lets you add modules and tweak your phone like mad, you just have to have some modules. The cool thing is it runs the background on stock ICS, and if there is a problem all you have to do is disable the framework, no having to flash backups and whatnot. I've been working on a theme for stock ICS to get that CM10 style theming going on, and it's coming along pretty nicely. It uses the Xtheme module to do the work. I'll post some links and maybe you all might find some other things that you like and all that.
Xposed Framework
Xtheme Engine
I guess this device is dead not one person posted a single stock apk and this thread is a year old. wow. shouldn't have bought this legacy device kinda still thought it was useful. can't find stock messaging app anywhere or launcher
41rw4lk said:
I've been running stock for a long time, and I found the Xposed framework which lets you add modules and tweak your phone like mad, you just have to have some modules. The cool thing is it runs the background on stock ICS, and if there is a problem all you have to do is disable the framework, no having to flash backups and whatnot. I've been working on a theme for stock ICS to get that CM10 style theming going on, and it's coming along pretty nicely. It uses the Xtheme module to do the work. I'll post some links and maybe you all might find some other things that you like and all that.
Xposed Framework
Xtheme Engine
Click to expand...
Click to collapse
I am trying to copy over the cyanogenmod 11 clock app to my stock rooted rom to /system/app. All copies sucessfully, but once rebooted, the clock app crashes on load.
My current rom is stock, rooted and still odex'd
thanks!
it wont work without the framework thats used in cm. stock framework isnt the same as cm.
Check out Chronus in the play store. https://play.google.com/store/apps/details?id=com.dvtonder.chronus
Sent from my Nexus 5 using Tapatalk
Arg. I really want the stock alarm/clock app running but with increasing volume. Is there a way of getting it to work? Its the only thing I have missing on my stock rom (if only there was an xposed mod for it! )