[SCRIPT TO ODEX] Universal Odex Script Version 6.4.2 (02-19-2014)(MM-dd-yyyy)

Do you prefer an odexed rom or deodexed rom?


  • Total voters
    360
Search This thread

dk_zero-cool

Senior Member
Nov 6, 2010
3,529
4,996
Horsens
Do you have latest 4.3 nightly?

Since yesterday, I have Odexed CM10.2 (2013-09-02 nightly) on an Galaxy S3, CM7 on an Samsung Galaxy Y and HTC Wildfire S, CM9 on an HTC Legend and CM10.1 on an HTC Desire. All from an ADB Shell within the booted system (Since recovery will not work), all using the command "dexo -all" and all went fine.
 

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
Since yesterday, I have Odexed CM10.2 (2013-09-02 nightly) on an Galaxy S3, CM7 on an Samsung Galaxy Y and HTC Wildfire S, CM9 on an HTC Legend and CM10.1 on an HTC Desire. All from an ADB Shell within the booted system (Since recovery will not work), all using the command "dexo -all" and all went fine.

Thank you for your feedback <3 :)

Sent from my GT-S5570 using xda app-developers app
 

dk_zero-cool

Senior Member
Nov 6, 2010
3,529
4,996
Horsens
Thank you for your feedback <3 :)

Np. Now that I have your attention, I wanted to ask. I update my ROM regularly, so to make things easier, I have a custom package that I flash after each ROM updates which runs different custom scripts and such to setup things the way that I like them. Saves me a bunch of time on manual work. I wanted to add your dexo to this as well, to have it auto odex the ROM whenever I run the package, but it does not work in the recovery. It just prints "Failed To Odex ..." on each file it attempts to run it on. It seams to only work in a booted system.

I thought about taking a look, but I am pressed on time with other projects, and since you made it, you can navigate the script a lot faster than me, and properly find the issue in no time? Might be interesting to others as well to be able to run this in recovery.

I did try changing the PATH variable to make sure it used the same binaries as when the system was booted, but this still did not work.
 

UnitedOceanic

Senior Member
Nov 14, 2010
342
118
Np. Now that I have your attention, I wanted to ask. I update my ROM regularly, so to make things easier, I have a custom package that I flash after each ROM updates which runs different custom scripts and such to setup things the way that I like them. Saves me a bunch of time on manual work. I wanted to add your dexo to this as well, to have it auto odex the ROM whenever I run the package, but it does not work in the recovery. It just prints "Failed To Odex ..." on each file it attempts to run it on. It seams to only work in a booted system.

I thought about taking a look, but I am pressed on time with other projects, and since you made it, you can navigate the script a lot faster than me, and properly find the issue in no time? Might be interesting to others as well to be able to run this in recovery.

I did try changing the PATH variable to make sure it used the same binaries as when the system was booted, but this still did not work.

First could you share your package i would love to see what you have included.
Second what recovery do you use? As far as I know twrp can't use binaries that are dynamically linkes.
 

dk_zero-cool

Senior Member
Nov 6, 2010
3,529
4,996
Horsens
First could you share your package i would love to see what you have included.
Second what recovery do you use? As far as I know twrp can't use binaries that are dynamically linkes.

TWRP is sadly refusing to include sd-ext support for the Samsung i9300, so I am using PhilZ Touch (A CWM port) who was kind enough to include it on my request.

About my package, not much to see. It includes what is needed to run Xposed Modules and XPrivacy (Which needs a special Xposed binary), my Xposed Additions module, my sd-ext script, some custom kernel tweaks for the custom kernel that I am using, the custom kernel that I am using with my own ramdisk changes to include a better init.d support, a script to change some build.prop values like DPI and such. Mostly device specific changes and mostly me specific :)
 
  • Like
Reactions: UnitedOceanic

rignfool

Senior Member
Dec 8, 2010
5,010
2,734
The Poconos
It seems that I am not lucky with this script; I successfully odexed my CM10.2 using stock kernel.
I had a lot of FC during odexing progress, I had to put back clock widget in my homescreen, but everything worked.
Except that I get the "Android is upgrading" at every reboot...
Any help, please?

That comes from an odexed services.jar iirc... No fix... Just patience

Sent from my Vivid 4G using Tapatalk 4
 
  • Like
Reactions: gpvecchi

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,465
TampaBay
@MatrixDJ96, Apologize if this has been addressed already.
Could you please add a few scripts to pull files to SD from root.
For instance:

dexo -fr -pullfr could odex entire framework, then pull files to SD.
dexo -pullfr could pull entire framework to SD without involving odexing process
dexo -cpa pullcpa
dexo -csa pullcsa

I think you get the idea. My purpose is to create an odexed version of a stable custom rom for the extra speed that users can use too.

Love the scripts. Tnx - TD
 

Narenji89

Senior Member
Aug 2, 2012
186
34
I wanna odex all my data partition except one app. Is there a way?

Sent from my GT-I9500 using Tapatalk 4
 

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,465
TampaBay
I wanna odex all my data partition except one app. Is there a way?
Copy the app to SD with root explorer (probably in data/app) for safekeeping.
Then do the entire data partition. Afterwards, delete the xxx.apk and xxx.odex files for the one app and put your saved copy back and set correct permissions. The system won't know the difference. ;)
 

pemell

Senior Member
Jan 4, 2012
1,353
1,325
Gothenburg
I can assure you that it don't. Tried everything. And I mean everything.

com.android.process has stopped working or something. Don't remember exactly so I guess this bug report is of no worth. (Sorry about that).
 

datvui2211

Senior Member
Aug 2, 2013
360
88
Could anyone give me a mirror link? Thanks

Gửi từ Galaxy Y bằng cách sử dụng tia X truyền từ mặt trời!
 

Narenji89

Senior Member
Aug 2, 2012
186
34
Odexed data partition and performance boost is noticeable but why Google has not done it itself?

Sent from my GT-I9500 using Tapatalk 4
 
Last edited:
FWIW, tried this twice on an HTC Rezound. First time it was running a lightly modified stock deodexed ROM and the result was the disappearance of about half of the HTC built-in widgets, resulting in my wiping and restoring the prior deodexed ROM.

Second time was on a rooted pure stock deodexed ROM. First I ran the -fr variant. While the reboot command didn't work (I did so manually), the ROM booted up fine and everything was peachy. Next ran the -sys command and the script got about half way through then the handset auto-rebooted. Checked the log and it hadn't finished so ran it again, rebooted again after a little bit; checked the log and while it had gone further, it hadn't finished.

Third time was the charm and all widgets are still present in the ROM. Definitely detect a speed improvement in the handset's response now that the ROM is reodexed.
 

freaked9

Senior Member
Dec 10, 2009
295
39
I installed the script on my HTC One X, Sense 5 rom (Insertcoin), and it worked fine, until i wanted to update the maps app.
During the installation i got an error message that says: Error, insufficient storage available
I could update other programs (witch are not so big as maps).
Any ideas what to do with that?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 388
    Would you like to speed up your rom, more stability, more battery life, no lag to open system app and better ram utilization? Now you can! (Only For Rooted Phone And Deodexed Rom)

    IF YOU TRIED AN OLD VERSION AND YOUR PHONE STUCK IN BOOTLOOP, YOU SHOULD DOWNLOAD LAST VERSION AND YOU SHOULD TRY AGAIN

    This is possible with my Universal Odex Script Version 6.4.2 created by me (for base I used script dexo from Universal Dexo 3.1).
    I worked 8 mounth to modifie and complete this script to make it "Universal" and now I want to share it with you.
    The difference between by my script and the orginal is:
    - Added Commands To Odex What Do You Want
    - You Can Do It Without Computer
    - More Universal Than Original
    - Very Simple To Use
    - This Script Is Supported By Me And I Add New Features On Every Update
    - Flashable Zip By Recovery
    - All Tools Included In My Zip


    What is ODEX and DEODEX?

    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. So:
    Odex = +speed -customization
    Deodex = -speed +customization
    I think that you like more speed and less customization (less costumization for dev because is to difficult mod an odex file) :) and for this reason you press thank and download my work!

    Another explanation is this:

    If you odex the 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 system@app@File.apk@classes.dex, but with odex file you have File.apk in system/app and File.odex in system/app


    My script DO (it depends by option):
    - odex framework
    - odex app in system
    - odex app in preload (if your phone has preload partition for device like Galaxy S2)
    - odex app in data
    - remove classes.dex from framework, app in system, app in preload and app in data
    - zipalign from app in system, app in preload and app in data
    - remove libs from app in system and app in preload because are useless (android wants libs in system/lib not in the apk) to make more free space to odex
    - delete dalvik of system, of preload, of data and of framework from data/dalvik-cache


    How to odex:
    - download file
    - go to recovery
    - install zip
    - reboot
    - open terminal emulator (will be installed automaticaly)
    - type su to obtain root permission
    - type dexo -h to show possible commands for your phone
    - type dexo -one of the option that you have decided


    Type 'dexo -(one of the option that you have decided) -log' to create a log on sdcard

    Command For Dexo:
    + dexo -bs (odex only boot file, bootstrap, of framework)
    + dexo -fr (odex all framework)
    + dexo -csa (odex only specific app in system
    + dexo -sys (odex all app in system)
    + dexo -fcs (odex all framework and specific app in system)
    + dexo -pa (odex preload partition)
    + dexo -cpa (odex only specific app in preload
    + dexo -all (odex all rom) (bootstrap, framework, system, preload) (NOT DATA!)
    + dexo -dat (odex app in data)

    To Use dexo -csa and dexo -fcs you must create a file called csa.txt in your sdcard
    In this file you write the name of apk that you want to odex, like this:
    Phone.apk Browser.apk Mms.apk Dialer.apk


    To Use dexo -cpa you must create a file called cpa.txt in your sdcard
    In this file you write the name of apk that you want to odex, like this:
    Browser.apk Mms.apk Gmail.apk Vending.apk


    IMPORTANT TO ODEX YOUR ROM
    To Odex Bootstrap (Command 'dexo -bs') You Must Have At Least 10% Of Free Space In System.
    To Odex Framework (Command 'dexo -fr') You Must Have At Least 15% Of Free Space In System.
    To Odex System Apps (Command 'dexo -sys') You Must Have At Least 20% Of Free Space In System.
    To Odex Preload Apps (Command 'dexo -pa') You Must Have At Least 25% Of Free Space In Preload.

    For More Info Contact Me By Email: mattyro96@gmail.com


    WORKING IN ALL ROM (Froyo, GingerBread, IceCreamSandwich and JellyBean) NOT KITKAT
    AOSP
    AOKP
    CM
    PA
    PAC
    BASE STOCK
    ALL!


    Changelog:
    Universal Odex Version 6.4.2
    - Fixed Minor Bug
    ----------------------------------
    Universal Odex Version 6.4.1
    - Fixed Bugs Of V6.4
    ----------------------------------
    Universal Odex Version 6.4
    - Important Update
    - Updated Terminal Emulator
    - Remove Possibility To Odex KitKat
    - Added Script To Remove Useless Odex In Data/App
    ----------------------------------
    Universal Odex Version 6.3.1
    - Minor Bugs Fixed
    - CSA Fixed
    - Skip Odex Of Jkay Deluxe Settings
    ----------------------------------
    Universal Odex Version 6.3
    - A Lot Of Bugs Fixed
    ----------------------------------
    Universal Odex Version 6.2
    - Added 1 New Command To Odex Your Rom
    > Now You Can Odex:
    + Only Specific Preload Apps ('dexo -cpa')
    ----------------------------------
    Universal Odex Version 6.1 Private
    - Fixed Minor Bug
    - Rewritten Script
    - Changed Command 'dexo -psa' In 'dexo -pa'
    ----------------------------------
    Universal Odex Version 6.0 Private
    - Added Controll Of Free Space In System
    - Added New Command To Activate Log
    > Type 'dexo -(one of the option that you have decided) -log'
    ----------------------------------
    Universal Odex Version 5.2 Private
    - Removed 'fixbox' Script Because Now There Aren't Necessary Symlink Of BusyBox
    - Added Check Of Root Permission
    - Updated Command 'dexo -all' To Odex Also Preload Apps
    ----------------------------------
    Universal Odex Version 5.1
    - Fixed Bug Of Odex System And Preload
    ----------------------------------
    Universal Odex Version 5.0
    - Added 1 New Command To Odex Your Rom
    > Now You Can Odex:
    + Only Preload Apps ('dexo -psa') (if your phone has preload partition)
    - Skipped Odex Of RootExplorer If Is Installed In System Or Preload Or Data (beacause old version can't be odexed and i prefer old version)
    - Fixed A Lot Of Bug
    - Changed A Little Bit The Interface
    - More Universal Now
    - Add New Script (Type 'fixbox') To Fix Error Of Busybox (Like clear: not found)
    ----------------------------------
    Universal Odex Version 4.2.3
    - Added 1 New Command To Odex Your Rom
    > Now You Can Odex:
    + App In Data ('dexo -dat')
    ----------------------------------
    Universal Odex Version 4.2.2
    - Fixed Grep Of 'dexo -csa' And 'dexo -fcs'
    ----------------------------------
    Universal Odex Version 4.2.1
    - Fixed Bug Of Commands 'dexo -csa' And 'dexo -fcs'
    ----------------------------------
    Universal Odex Version 4.2 Beta
    - Added 2 New Command To Odex Your Rom
    > Now You Can Odex:
    + Only Specific App ('dexo -csa')
    + Framework With Specific App ('dexo -fcs')
    ----------------------------------
    Universal Odex Version 4.1.3
    - Fixed BootLoop On Device Like Galaxy S2 (Fixed Permission)
    ----------------------------------
    Universal Odex Version 4.1.2
    - Updated Android Terminal Emulator
    ----------------------------------
    Universal Odex Version 4.1.1.1
    - More Compatible
    ----------------------------------
    Universal Odex Version 4.1.1
    - Fixed Remove Temp File
    - Fixed Zipalign For ICS And JB
    - System Now Is Mounted By Busybox
    - Add Info For Android JB 4.3 And KLP 5.0
    - System Apps Now Have The BCP For Odex
    ----------------------------------
    Universal Odex Version 4.0.1
    - Edited Script To Fix Some Words
    ----------------------------------
    Universal Odex Version 4.0
    - Added 4 New Command To Odex Your Rom:
    > Now You Can Odex:
    + Only Bootstrap ('dexo -bs')
    + Bootstrap and Framework ('dexo -fr')
    + Only System Apps ('dexo -sys')
    + All Rom ('dexo -all')


    To Devs
    If you want to use this script to odex your ROM, please give me credit in your ROM thread.
    Thanks for the cooperation


    Credits:
    - Tommy Nguyen (For Universal Dexo Version 3.1)
    - @MatrixDJ96 (Creator Of Universal Odex Version 6.2)
    - MrTony68 (Beta Tester)
    - @angel.sea (For Support)
    - You (For Your Download)

    Download link:
    Universal Odex Script

    ++++++++++++++++++++++++++++++++++++++++++++++++

    ENJOY WITH MORE STABILITY, SPEED AND BATTERY LIFE!!!

    Please, Give Me A Thank If You Like My Work And Give Feedback About Odex


    By MatrixDJ96
    43
    Important
    During the odexing process some apps will go in force close. It's normal
    After reboot you can lost widget and google account. It's normal
    31
    9
    Await version 6.4 for support of kitkat
    8
    i tried you tool today. It was scary to see all the apps force close.

    Is it possible to run the the tool in TWRP?

    I have two feature requests.

    #1 create a log file

    #2 since a system app need its libraries in /system/libs we can remove them from the apk. doing this will give even more free space. as far as i know there is only one app (titanium backup) that breaks when removing the libs.

    Yes I think that you can do it in TWRP and... Fantatics Ideas!! Remove lib :) i add this in new version
    Ps:in v6 i add checking for root permission, checking free space in system and add log.. Now I'm testing and in a few days i share it with you