FORUMS
Remove All Ads from XDA

Auto-Deodexer 2.3 [SCRIPT] [FROYO SUPPORT] [Devs Only]

3,332 posts
Thanks Meter: 663
 
By Daneshm90, Retired Recognized Developer on 11th December 2009, 12:28 AM
Post Reply Email Thread
Hey guys, so this script de-odexe's a rom's apks and jar's.

Many thanks to ofcourse JesusFreke who created this method and the way to do it. Also to coolbho for his apkopt script from which i learnt certain techniques of batch programming. This is crzyruski script updated with jesus freke's latest smali/baksmali update ver 1.2.3

It incorporates detecting the bootclasspath of the odex instead of the user specifying it. For non standard odex however a specific bootclass path must be defined. For example:

According to Jr33 for rosie deodexing u have to add class paths com.htc.framework.jar. Thank him for the new Sense bootclasspaths

For those who dont know, this essentially uses jf's method of baksmali'ing the odex file into smali files, and then recreating the classes.dex file and packaging it into the apk hence disregarding the need for the odex.

*New Menu added
*Ability to specify custom bootclasspath (eg for sense ui)
*Added a java check at the beginning
*Added 1.2.3 smali/baksmali with froyo support(thank jf ofcourse )
*Modified it so if an error is encountered during deodexing, it leaves that file behind so once done you know what files encountered errors
*Added Ignore Mode
*Removed zipalign
*If apk doesnt have corresponding odex, it moves it to deodexed_APK instead of user manually moving it

*Added compression level option
*You can monitor the status of ignore mode / compression level right above the main menu

DISCLAIMER:
Its a batch file so it'll only work on windows.
Convince farmatito to bring this to linux

Thanks

The Following 11 Users Say Thank You to Daneshm90 For This Useful Post: [ View ] Gift Daneshm90 Ad-Free
 
 
11th December 2009, 12:45 AM |#2  
enomther's Avatar
Senior Member
Thanks Meter: 150
 
More
Cool
So I checked this out and all ...

It's only apk's, right?

I only glanced but I didn't see anything in there for framework, etc.

If I'm right, then perhaps .. you should just say it de-odex's a ROM's apk's instead of the entire ROM.

~enom~
11th December 2009, 12:55 AM |#3  
Daneshm90's Avatar
OP Retired Recognized Developer
Thanks Meter: 663
 
More
Red face
Quote:
Originally Posted by enomther

So I checked this out and all ...

It's only apk's, right?

I only glanced but I didn't see anything in there for framework, etc.

If I'm right, then perhaps .. you should just say it de-odex's a ROM's apk's instead of the entire ROM.

~enom~

Oh, yea so it takes the apk and odex and creates the classes.dex and repackages into the apk so u only need the apk. Ok, ill change the post a bit also yes, it doesnt do frameworks cuz i dont think they have odex's and the jar's do but i dunno of a method to do tht
11th December 2009, 01:05 AM |#4  
enomther's Avatar
Senior Member
Thanks Meter: 150
 
More
Cool
Quote:
Originally Posted by Daneshm90

Oh, yea so it takes the apk and odex and creates the classes.dex and repackages into the apk so u only need the apk. Ok, ill change the post a bit also yes, it doesnt do frameworks cuz i dont think they have odex's and the jar's do but i dunno of a method to do tht

Yea ... the jar's have dex's too and can be odex-d and can also be un-odex-d. I personally have never been able to successfully de-odex a fully odex'd framework (but I haven't tried hard enough either ). The main difference is once they are de-odex'd ... you insert the classes.dex into the jar and no re-signing required (as they aren't signed).

Either way, nice script mate. Good Job!

~enom~
11th December 2009, 01:09 AM |#5  
Daneshm90's Avatar
OP Retired Recognized Developer
Thanks Meter: 663
 
More
Quote:
Originally Posted by enomther

Yea ... the jar's have dex's too and can be odex-d and can also be un-odex-d. I personally have never been able to successfully de-odex a fully odex'd framework (but I haven't tried hard enough either ). The main difference is once they are de-odex'd ... you insert the classes.dex into the jar and no re-signing required (as they aren't signed).

Either way, nice script mate. Good Job!

~enom~

Ah sweet, something i shall incorporate in the script later on. thanx
11th December 2009, 01:22 AM |#6  
Joe333x's Avatar
Senior Member
Thanks Meter: 94
 
More
so will this script allow you to take an app from say a cliq dump and allow it to run on any android device?
11th December 2009, 01:37 AM |#7  
mrandroid's Avatar
Senior Member
Flag Miami
Thanks Meter: 17
 
More
Will this allow you to grab the MyFaves from a TMO rom and de-odex it and install?
11th December 2009, 01:38 AM |#8  
Daneshm90's Avatar
OP Retired Recognized Developer
Thanks Meter: 663
 
More
Quote:
Originally Posted by Joe333x

so will this script allow you to take an app from say a cliq dump and allow it to run on any android device?

Emm...no im 99.99% sure it doesnt help tht way. I know that odex's cause customization problems in roms....there are other factors im sure
11th December 2009, 01:43 AM |#9  
enomther's Avatar
Senior Member
Thanks Meter: 150
 
More
Cool
Quote:
Originally Posted by mrandroid

Will this allow you to grab the MyFaves from a TMO rom and de-odex it and install?

MyFaves == No Go ... it requires some other form of trickery ... I'm not sure what exactly ... as I did de-odex it and it would not work properly on test-key ROM's like CM, etc.

... So it requires more than a simple de-odex.

~enom~
11th December 2009, 01:48 AM |#10  
mrandroid's Avatar
Senior Member
Flag Miami
Thanks Meter: 17
 
More
does your phone need to be connected? I noticed some ADB commands in the script
11th December 2009, 01:51 AM |#11  
wesgarner's Avatar
Senior Member
Flag Birmingham, AL
Thanks Meter: 62
 
More
Quote:
Originally Posted by Daneshm90

Hey guys, so this script de-odexe's a rom's apks.
Many thanks to ofcourse JesusFreke who created this method and the way to do it. Also to coolbho for his apkopt script from which i learnt certain techniques of batch programming

For those who dont know, this essentially uses jf's method of baksmali'ing the odex file into smali files, and then recreating the classes.dex file and packaging it into the apk hence disregarding the need for the odex.

Oh also make sure to place only apk's that have their corresponding odex's. Dont place only apk's !!!!!

Instructions:[WINDOWS ONLY & Phone Must stay connected with adb WORKING]
1. Download http://www.mediafire.com/?mwownkhzm4m
2. Extract to a folder
3. Place all your rom's apk's which have odex's attached to them into that folder
4. Run deoall
5. Copy all the apk's from the deodexed folder into ur corresponding rom app folder

Thanks

Upcoming:
Seperate Framework & apps folder
De-odex framework apk's and jar's (thanx for the tip enomther )

So the apk after that has the DEX built in or is dexopt still needed?
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes