[Android Software/Hacking General [Developers Only]] alkhafaf:
NEW VERSION 2.1, it is now much easier and like a breeze...

Before u read, u should know that this thread is for themers and modders only... and this is not a tool for odexing the whole ROM.

Hello everybody

While I was working on my ROM, and releasing an odex version, I suffered alot in working on the odex files and modifying them. Every time I should use the command line and copy certain commands from a notepad, in addition I have to edit the notepad file to make the commands odex other files... that was a pain... :(

ok.. the odex commands that were used are taken from this thread by sicopat, big thanks to his efforts. Actually I was thinking in how to make it easier for me to odex these modified files, so I tried to make a script that easily odex files, put the files in the right folder, run the script, and then write the name of the file u want to odex, then..... Waw the file is odexed in the phone and ready to run :) :)

For anyone that want to use these scripts, I wanted to share it with you, and I hope they would be useful to you.

Update (2/22/13) v2.1:

1. bootclasspath should be put manually from now, because $BOOTCLASSPATH doesn't work when no root in recovery.

2. Fixed a mistake in extracting and archiving files, now it's ok.

3. Now you can restore the original files if you like after odexing.

4. 7zip 32 bit is used instead of 64 bit, sorry for this, now it should work with 32 bit windows too.

5. Script re-arranged, and 7zip log operations saved in 7z_log.txt. you can check this one if you suspect in 7zip operation.

6. Backup of the original files before odexing and restore them after odexing.

Update (1/4/13) v2: All things automated, no need to edit the script for bootclasspath, and even no need to drag and drop the edited files from the modded apk or jar.

Update (9/20/12) v1.4: remount using busybox, this solves some remounting problems.

update (9/18/12) v1.3: adb added to the program, to make it work independently. And now you can pull the files after odexing if u need that.

update (9/10/12) v1.2: updated and added a missed command, it should works perfect. No need to put any files in your sdcard to make the operations... and the operations are commented so you can diagnose the problem if occurred.

download from here

Before you use, make sure u r running the corresponding odex rom in your device, then read how to use this tool.

How to use:

first extract the downloaded file to a folder then:

1. Put your bootclasspath in bootclasspath.txt (follow the instruction below in Important Note 2).

2. Put the original odex and apk (or jar) file in the "original" folder.

3. Put your modded deodexed apk (or jar) file in the "mod" folder

4. Connect your phone with usb and make sure adb is working. ( and don't forget to check the USB Debugging in the settings of your device).

5. It is better that you boot in recovery mod, specially when odexing framework files.

6. Now run the script (.bat file), choose the one for apk or for the jar, according to file you want to odex.

7. after the script opens, write the name of the apk (or jar) file without the .apk (or .jar)

8. Odexing......done.

9. after finishing odexing, u can pull the odexed apk or jar file by pressing 1 then Enter, the it will be pulled in the (pulled_files) folder. Or if you want to restore the original apk (or jar) file with its odex, then press 2.

If you find this thread useful, pressing the thanks button is appreciated.

Important note: If you r using a rooted stock kernel, then u could face problem in remounting, hence a problem in the script. To solve this problem check this post.

Important note 2:To get Your BOOTCLASSPATH:

1. In adb:

adb devices

adb remount

adb shell echo $BOOTCLASSPATH

after that, you can right click and choose (mark), then mark the bootclasspath then press (enter) now you have copied the bootclasspath. go to bootclasspath.txt in the extracted folder of the script, then paste the bootclasspath and save the file.

OR

2. In the root of your device, in the init.rc file:

look for a line with (bootclasspath= ), then copy everything on the right hand of the equal mark. Go to bootclasspath.txt then paste it there, then save the file.

screenshot:

Credit:

Sicopat- for his guide on odexing.

M_j_Nazari- for his guide on odexing and his written commands for the odexing operation. thread link