5,600,841 Members 41,279 Now Online
XDA Developers Android and Mobile Development Forum

[APP] 'ODEX ME': Odexing deodexed roms for a BOOST IN PERFORMANCE

Tip us?
 
open1your1eyes0
Old
#41  
open1your1eyes0's Avatar
Senior Member
Thanks Meter 3066
Posts: 2,037
Join Date: Dec 2010
Location: New York City

 
DONATE TO ME
Quote:
Originally Posted by flolep View Post
Wth?!

I am on b26 and have odexed and again no problem...

Are you guys on cdma or gsm devices. I am on gsm... Maybe it's the cause but I really won't understand if it's the case...

Sent from my Galaxy Nexus using xda premium
CDMA here.




 
ArmanUV
Old
#42  
ArmanUV's Avatar
Senior Member
Thanks Meter 222
Posts: 825
Join Date: Jan 2012
Quote:
Originally Posted by flolep View Post
Grrr. Did you really try before saying these things too?

I am a long time android user, was on i7500, then i9000, had an Asus transformer, and now have a galaxy nexus and transformer prime.

I read the same articles than yours. But you know what, I did my experience though, in reality and with day to day use.

And you know what is my own experience? My devices were all smoother when odexed than when deodexed. Ok?

So please let the users who want to try and have their own experience do their things...

+ +

Sent from my Galaxy Nexus using xda premium
I'm not holding anyone back. I am just inviting everyone to know the true pros and cons of something they are gonna flash on their 500+ phone. If you read the articles and still want to ignore all the technical evidence, then that's your choice.
And no, I didn't try it because i use the black exedus theme and I don't want to worry about messing everything up everytime I want to update it.
And remember stock is odexed and all the roms like aokp are not. Which one is smoother in your experience?
Galaxy Nexus GSM
 
fused2explod
Old
#43  
Junior Member
Thanks Meter 0
Posts: 17
Join Date: Jun 2010
Quote:
Originally Posted by flolep View Post
Boot time is better AND system applications are optimized (the o of odex) and thus slightly smoother...

Sent from my Galaxy Nexus using xda premium
Are you serious? Sys apps are optimized?

f2e
 
flolep
Old
#44  
flolep's Avatar
Senior Member - OP
Thanks Meter 212
Posts: 512
Join Date: Aug 2010
Quote:
Originally Posted by fused2explod View Post
Are you serious? Sys apps are optimized?

f2e
Go here and read...

---> http://android.stackexchange.com/que...-deodexed-roms

odex means Optimized Dalvik EXecutable...
The Following User Says Thank You to flolep For This Useful Post: [ Click to Expand ]
 
flolep
Old
#45  
flolep's Avatar
Senior Member - OP
Thanks Meter 212
Posts: 512
Join Date: Aug 2010
Quote:
Originally Posted by ArmanUV View Post
I'm not holding anyone back. I am just inviting everyone to know the true pros and cons of something they are gonna flash on their 500+ phone. If you read the articles and still want to ignore all the technical evidence, then that's your choice.
And no, I didn't try it because i use the black exedus theme and I don't want to worry about messing everything up everytime I want to update it.
And remember stock is odexed and all the roms like aokp are not. Which one is smoother in your experience?
AOKP is smoother for sure but the reasons are not about deodexing...

Stock would be even slower if it wasn't odexed...

And AOKP is smoother when odexed.

The pros and cons are in the article I quoted just before.

++
 
flolep
Old
#46  
flolep's Avatar
Senior Member - OP
Thanks Meter 212
Posts: 512
Join Date: Aug 2010
Quote:
Originally Posted by frantic912 View Post
i'm on GSM to....no idea....
Quote:
Originally Posted by open1your1eyes0 View Post
CDMA here.
Can you describe what exact configuration you have in rom control of aokp on status bar and navigation / soft keys so I could try it to see what is the culprit?
(screenshots would be good too...)
 
frantic912
Old
#47  
frantic912's Avatar
Senior Member
Thanks Meter 6
Posts: 102
Join Date: Jan 2011
Location: Kuala Lumpur
Quote:
Originally Posted by flolep View Post
Can you describe what exact configuration you have in rom control of aokp on status bar and navigation / soft keys so I could try it to see what is the culprit?
(screenshots would be good too...)
now it working..just don't mod transparent status bar, that is the problem before....:thumbup:

Sent from my Galaxy Nexus using Tapatalk
The Following User Says Thank You to frantic912 For This Useful Post: [ Click to Expand ]
 
flolep
Old
#48  
flolep's Avatar
Senior Member - OP
Thanks Meter 212
Posts: 512
Join Date: Aug 2010
Quote:
Originally Posted by frantic912 View Post
now it working..just don't mod transparent status bar, that is the problem before....:thumbup:

Sent from my Galaxy Nexus using Tapatalk
Ok. Thanks.

I am adding this to OP.
 
Mekrel
Old
#49  
Senior Member
Thanks Meter 130
Posts: 342
Join Date: Apr 2010
Location: Buckinghamshire
Quote:
Originally Posted by flolep View Post
Grrr. Did you really try before saying these things too?

I am a long time android user, was on i7500, then i9000, had an Asus transformer, and now have a galaxy nexus and transformer prime.

I read the same articles than yours. But you know what, I did my experience though, in reality and with day to day use.

And you know what is my own experience? My devices were all smoother when odexed than when deodexed. Ok?

So please let the users who want to try and have their own experience do their things...

+ +

Sent from my Galaxy Nexus using xda premium
It doesn't matter if you're a long time Android user. There are no measurable benefits to having odexed system/app directory apart from boot up time and space.

How do I know? I took Paul's script and amended it to odex the /system/framework directory before odexing the /system/app. The /system/app/ dex files are dependent on the framework files which is why the framework requires odexing before the system/app directory.

Now I can't recall how Paul specifies the bootclass path in his script as I'm at work and do not have the resources to decompile his application, but if he hardcoded the bootclass path into the script; there's a likely hood the app won't be 100% reliable on the Nexus due to the bootclass path most likely being different (especially as they're different versions of Android, with 4.0 being vastly different).

In my script, the bootclass path is hardcoded as there's a strict file sequence that needs to be odexed in order when it comes to odexing the framework. This isn't my latest version either, as I eventually went on to making the script check for deodexed system applications on boot and odexing them.

Warning: Don't use the script on the Galaxy Nexus, it was my script I used on the Galaxy SII
Code:
#!/system/bin/sh

chmod 755 /system/bin/dexopt-wrapper
chmod 755 /system/bin/zip
chmod -R 777 /data/original-framework/*.odex

coreframework="/system/framework/core.jar /system/framework/bouncycastle.jar /system/framework/ext.jar /system/framework/framework.jar /system/framework/android.policy.jar /system/framework/services.jar /system/framework/core-junit.jar"

echo "Odexing /system/framework/*jar files"

for i in $coreframework
do	
	filename=$(basename $i .jar)
	dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
	zip -d $i classes.dex
	busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
done


for i in /system/framework/*.jar
do
	if [ $i == "/system/framework/core.jar" -o $i == "/system/framework/bouncycastle.jar" -o $i == "/system/framework/ext.jar" -o $i == "/system/framework/framework.jar" -o $i == "/system/framework/android.policy.jar" -o $i == "/system/framework/services.jar" -o $i == "/system/framework/core-junit.jar" ]
		then
			echo "Already odexed in sequence"
		else
			filename=$(basename $i .jar)
			dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
			zip -d $i classes.dex
			busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
	fi
done

echo "Giving permissions to all *odex files"

chmod -R 777 /system/framework/*.odex

rm -r /data/dalvik-cache/*
I made all my own ROMs for the Galaxy SII and always odexed them but I never experienced a smoother phone, just quicker boot up times and space was never an issue for the Galaxy SII as it had plenty.
Galaxy Nexus GSM [ Stock 4.11 & Rooted ]
Asus EeePad Transformer Prime [ Stock .25 & Rooted ] <--- Worst device I've ever bought
 
flolep
Old
#50  
flolep's Avatar
Senior Member - OP
Thanks Meter 212
Posts: 512
Join Date: Aug 2010
Quote:
Originally Posted by Mekrel View Post
It doesn't matter if you're a long time Android user. There are no measurable benefits to having odexed system/app directory apart from boot up time and space.

How do I know? I took Paul's script and amended it to odex the /system/framework directory before odexing the /system/app. The /system/app/ dex files are dependent on the framework files which is why the framework requires odexing before the system/app directory.

Now I can't recall how Paul specifies the bootclass path in his script as I'm at work and do not have the resources to decompile his application, but if he hardcoded the bootclass path into the script; there's a likely hood the app won't be 100% reliable on the Nexus due to the bootclass path most likely being different (especially as they're different versions of Android, with 4.0 being vastly different).

In my script, the bootclass path is hardcoded as there's a strict file sequence that needs to be odexed in order when it comes to odexing the framework. This isn't my latest version either, as I eventually went on to making the script check for deodexed system applications on boot and odexing them.

Warning: Don't use the script on the Galaxy Nexus, it was my script I used on the Galaxy SII
Code:
#!/system/bin/sh

chmod 755 /system/bin/dexopt-wrapper
chmod 755 /system/bin/zip
chmod -R 777 /data/original-framework/*.odex

coreframework="/system/framework/core.jar /system/framework/bouncycastle.jar /system/framework/ext.jar /system/framework/framework.jar /system/framework/android.policy.jar /system/framework/services.jar /system/framework/core-junit.jar"

echo "Odexing /system/framework/*jar files"

for i in $coreframework
do	
	filename=$(basename $i .jar)
	dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
	zip -d $i classes.dex
	busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
done


for i in /system/framework/*.jar
do
	if [ $i == "/system/framework/core.jar" -o $i == "/system/framework/bouncycastle.jar" -o $i == "/system/framework/ext.jar" -o $i == "/system/framework/framework.jar" -o $i == "/system/framework/android.policy.jar" -o $i == "/system/framework/services.jar" -o $i == "/system/framework/core-junit.jar" ]
		then
			echo "Already odexed in sequence"
		else
			filename=$(basename $i .jar)
			dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
			zip -d $i classes.dex
			busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
	fi
done

echo "Giving permissions to all *odex files"

chmod -R 777 /system/framework/*.odex

rm -r /data/dalvik-cache/*
I made all my own ROMs for the Galaxy SII and always odexed them but I never experienced a smoother phone, just quicker boot up times and space was never an issue for the Galaxy SII as it had plenty.
Thank you for your interesting explanations.

Tags
deodex, nexus, odex, performance, rom
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes