Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

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

OP flolep

27th February 2012, 04:39 AM   |  #41  
open1your1eyes0's Avatar
Senior Member
Flag New York City
Thanks Meter: 3,387
 
2,297 posts
Join Date:Joined: Dec 2010
Donate to Me
More
Quote:
Originally Posted by flolep

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.
27th February 2012, 05:08 AM   |  #42  
ArmanUV's Avatar
Senior Member
Thanks Meter: 222
 
825 posts
Join Date:Joined: Jan 2012
More
Quote:
Originally Posted by flolep

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?
27th February 2012, 06:42 AM   |  #43  
Junior Member
Thanks Meter: 0
 
23 posts
Join Date:Joined: Jun 2010
Quote:
Originally Posted by flolep

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
27th February 2012, 09:17 AM   |  #44  
flolep's Avatar
OP Senior Member
Thanks Meter: 221
 
536 posts
Join Date:Joined: Aug 2010
More
Quote:
Originally Posted by fused2explod

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: [ View ]
27th February 2012, 09:27 AM   |  #45  
flolep's Avatar
OP Senior Member
Thanks Meter: 221
 
536 posts
Join Date:Joined: Aug 2010
More
Quote:
Originally Posted by ArmanUV

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.

++
27th February 2012, 09:41 AM   |  #46  
flolep's Avatar
OP Senior Member
Thanks Meter: 221
 
536 posts
Join Date:Joined: Aug 2010
More
Quote:
Originally Posted by frantic912

i'm on GSM to....no idea....

Quote:
Originally Posted by open1your1eyes0

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...)
27th February 2012, 01:12 PM   |  #47  
frantic912's Avatar
Senior Member
Flag Putrajaya
Thanks Meter: 10
 
108 posts
Join Date:Joined: Jan 2011
More
Quote:
Originally Posted by flolep

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: [ View ]
27th February 2012, 02:05 PM   |  #48  
flolep's Avatar
OP Senior Member
Thanks Meter: 221
 
536 posts
Join Date:Joined: Aug 2010
More
Quote:
Originally Posted by frantic912

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.
27th February 2012, 03:54 PM   |  #49  
Senior Member
Flag Buckinghamshire
Thanks Meter: 130
 
342 posts
Join Date:Joined: Apr 2010
More
Quote:
Originally Posted by flolep

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.
27th February 2012, 04:36 PM   |  #50  
flolep's Avatar
OP Senior Member
Thanks Meter: 221
 
536 posts
Join Date:Joined: Aug 2010
More
Quote:
Originally Posted by Mekrel

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.

Post Reply Subscribe to Thread

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

Advanced Search
Display Modes