[ODEX][SCRIPT] Odexer Tool 1.6 (11-04-2014)(MM-dd-yyyy)

Do you prefer deodex ore odex?


  • Total voters
    52
Search This thread

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
Would you like to increase stability and battery life, to don't have lag to open system app and to have better ram utilization? Now you can! (Only for rooted phone and deodexed ROM)

This is possible with Odexer Tool created by myself.
I've worked a lot of time to create this script and I want to share it with you.


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.

My explanation is this:
If you odex the rom, you'll have more space in data (this is important because if you don't have partition ext4 in sdcard, you won't have too free space), you'll increase battery life, you'll have more stability and perfomance (the ROM is more faster to load system and app) but it's too difficult to modifie apk after odex (you can't mod APKs if there isn't classes.dex inside before deodex it).
In fact 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
Stock ROMs are all odexed to have this features and my script allow you to re-add these on your custom ROM.

With these explanations you can understand that:
Odexed ROM = Faster, more stability and battery life, less ram utilization but difficult customization of APKs and a little bit slower boot
Deodexed ROM = Slower, less stability and battery life, more ram utilization but easy customization of APKs and a little bit faster boot

If you run this script with "Remove classes.dex: Disabled", your rom will be odexed without difficult customization of APKs but remember to re-odex it after mod.

My script does (it depends by option):
- Odex framework (of course also bootstrap)
- Odex app in system/app
- Odex app in system/priv-app (if you have android kitkat)
- Remove classes.dex from jar/apk (if you enable this option)

All commands of my script:
+ frame [odex all framework]
+ sysapp [odex all system apps]
+ all [odex framework and system apps]
+ set [change settings of the script]
+ exit [exit from the script]
+ easter egg [nothing important]

WORKING WITH FOLLOWING ANDROID VERSIONS
- Froyo
- GingerBread
- Honeycomb
- IceCreamSandwich
- JellBean
- KitKat
- NO LOLLIPOP (for now)

Credits:
- @MatrixDJ96 (Me)
- MrTony68 (Beta Tester)
- @Thyrus (Beta Tester)
- @angel.sea (For Support)
- Stericson (For BusyBox)

TO DEVELOPES
If you want to use or add this script on your ROM, you MUST give me credit in your thread.
Thanks for the cooperation


Follow me here: Odexer Tool Official Community

ENJOY WITH ODEXER TOOL!!!

Please, give me a thanks if you like my work:)

By MatrixDJ96
 
Last edited:

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
CHANGELOGS:
*** Odexer Tool 1.6 ***
- Fixed TOO MANY bugs
-----------------------------------
*** Odexer Tool 1.5 TEST ***
- Fixed bugs
-----------------------------------
*** Odexer Tool 1.4 ***
- Reworked a lot of the script
- Fixed some bugs
- Added ability to start directly odex (for ex. now you can start it with 'odex all' without type before only 'odex' and after the command)
- Added support of X86 (Mips not support yet)
-----------------------------------
*** Odexer Tool 1.3 TEST ***
- Added check of root
- Reworked completely the script
- Fixed a lot of bugs
- Removed creation of update.zip (removed option)
- Only for ARMEABI
-----------------------------------
*** Odexer Tool 1.2 ***
- Fixed creation of flashable zip in some device
- Fixed a lot of bugs
- More compatible
-----------------------------------
*** Odexer Tool 1.1.1 ***
- Fixed "elif syntax error"
-----------------------------------
*** Odexer Tool 1.1 ***
- Fixed creation of flashable zip in some device
- Disabled command to change settings with kitkat
- Fixed minor bugs
-----------------------------------
*** Odexer Tool 1.0 ***
- First stable version
 
Last edited:

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
HOW TO ODEX YOUR ROM:
To odex framework you must have at least 14% of free space in system.
To odex system apps you must have at least 24% of free space in system.
To odex all system you must have at least 31% of free space in system.


IT'S BETTER DOING A NANDROID BACKUP BEFORE BUT IT'S UP TO YOU
1 - Download Odexer Tool
2 - Reboot into recovery
3 - Install Odexer Tool
4 - Reboot into system
5 - Open Terminal Emulator (will be installed automaticaly)
6 - Type su to obtain root permission
7 - Type odex and enjoy!

I hope that all are clear ;)

+++++++++++++++++++++++++++++++++
Download link:
Odexer Tool
+++++++++++++++++++++++++++++++++
 
Last edited:

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
v1.5 released but need test
6f0a9e4ac0edeb75cfbf89e4c71ce0ad.jpg
 

Kamy

Senior Member
Aug 29, 2012
5,335
19,307
Beijing
Great tool and nice to see you here @MatrixDJ96! I just have once question, is odex file (smali) completely removed from the deodex apk files, once I read on another thread that smali files would be still remained within the apk which makes the total size of one apk+odex bigger than original ones.
 

MatrixDJ96

Senior Member
Nov 9, 2012
1,065
2,504
Genova
Great tool and nice to see you here @MatrixDJ96! I just have once question, is odex file (smali) completely removed from the deodex apk files, once I read on another thread that smali files would be still remained within the apk which makes the total size of one apk+odex bigger than original ones.

From first version of Android to JB 4.3.1 you could remove classes.dex from APKs to gain free space and don't show android is upgrading on every boot but on android 4.4+ use must have APKs with classes.dex inside and if you want file odex external like File.apk, File.odex because Dalvik (classes.dex and not only odexed file) is necessary if you want to change runtime to art
 

Top Liked Posts

  • There are no posts matching your filters.
  • 31
    Would you like to increase stability and battery life, to don't have lag to open system app and to have better ram utilization? Now you can! (Only for rooted phone and deodexed ROM)

    This is possible with Odexer Tool created by myself.
    I've worked a lot of time to create this script and I want to share it with you.


    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.

    My explanation is this:
    If you odex the rom, you'll have more space in data (this is important because if you don't have partition ext4 in sdcard, you won't have too free space), you'll increase battery life, you'll have more stability and perfomance (the ROM is more faster to load system and app) but it's too difficult to modifie apk after odex (you can't mod APKs if there isn't classes.dex inside before deodex it).
    In fact 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
    Stock ROMs are all odexed to have this features and my script allow you to re-add these on your custom ROM.

    With these explanations you can understand that:
    Odexed ROM = Faster, more stability and battery life, less ram utilization but difficult customization of APKs and a little bit slower boot
    Deodexed ROM = Slower, less stability and battery life, more ram utilization but easy customization of APKs and a little bit faster boot

    If you run this script with "Remove classes.dex: Disabled", your rom will be odexed without difficult customization of APKs but remember to re-odex it after mod.

    My script does (it depends by option):
    - Odex framework (of course also bootstrap)
    - Odex app in system/app
    - Odex app in system/priv-app (if you have android kitkat)
    - Remove classes.dex from jar/apk (if you enable this option)

    All commands of my script:
    + frame [odex all framework]
    + sysapp [odex all system apps]
    + all [odex framework and system apps]
    + set [change settings of the script]
    + exit [exit from the script]
    + easter egg [nothing important]

    WORKING WITH FOLLOWING ANDROID VERSIONS
    - Froyo
    - GingerBread
    - Honeycomb
    - IceCreamSandwich
    - JellBean
    - KitKat
    - NO LOLLIPOP (for now)

    Credits:
    - @MatrixDJ96 (Me)
    - MrTony68 (Beta Tester)
    - @Thyrus (Beta Tester)
    - @angel.sea (For Support)
    - Stericson (For BusyBox)

    TO DEVELOPES
    If you want to use or add this script on your ROM, you MUST give me credit in your thread.
    Thanks for the cooperation


    Follow me here: Odexer Tool Official Community

    ENJOY WITH ODEXER TOOL!!!

    Please, give me a thanks if you like my work:)

    By MatrixDJ96
    11
    HOW TO ODEX YOUR ROM:
    To odex framework you must have at least 14% of free space in system.
    To odex system apps you must have at least 24% of free space in system.
    To odex all system you must have at least 31% of free space in system.


    IT'S BETTER DOING A NANDROID BACKUP BEFORE BUT IT'S UP TO YOU
    1 - Download Odexer Tool
    2 - Reboot into recovery
    3 - Install Odexer Tool
    4 - Reboot into system
    5 - Open Terminal Emulator (will be installed automaticaly)
    6 - Type su to obtain root permission
    7 - Type odex and enjoy!

    I hope that all are clear ;)

    +++++++++++++++++++++++++++++++++
    Download link:
    Odexer Tool
    +++++++++++++++++++++++++++++++++
    10
    CHANGELOGS:
    *** Odexer Tool 1.6 ***
    - Fixed TOO MANY bugs
    -----------------------------------
    *** Odexer Tool 1.5 TEST ***
    - Fixed bugs
    -----------------------------------
    *** Odexer Tool 1.4 ***
    - Reworked a lot of the script
    - Fixed some bugs
    - Added ability to start directly odex (for ex. now you can start it with 'odex all' without type before only 'odex' and after the command)
    - Added support of X86 (Mips not support yet)
    -----------------------------------
    *** Odexer Tool 1.3 TEST ***
    - Added check of root
    - Reworked completely the script
    - Fixed a lot of bugs
    - Removed creation of update.zip (removed option)
    - Only for ARMEABI
    -----------------------------------
    *** Odexer Tool 1.2 ***
    - Fixed creation of flashable zip in some device
    - Fixed a lot of bugs
    - More compatible
    -----------------------------------
    *** Odexer Tool 1.1.1 ***
    - Fixed "elif syntax error"
    -----------------------------------
    *** Odexer Tool 1.1 ***
    - Fixed creation of flashable zip in some device
    - Disabled command to change settings with kitkat
    - Fixed minor bugs
    -----------------------------------
    *** Odexer Tool 1.0 ***
    - First stable version
    6
    HOW TO FIX 'Android is upgrading...' FOR ANDROID VERSION 2.2 TO 4.3.1 :
    *** Remove files classes.dex from APKs/JARs in /system/app and /system/framework that have classes.dex ***
    6
    IMPORTANT TO ODEX KITKAT ROM:
    *** The options "Remove classes.dex" must be disabled (the script autodetect it and disable this option automatically) ***