Alokbina and I have created a tool which allows users to very easily deodex apks from a rom. This tool is very useful for Rom developers too. For now only windows is supported but we will try our best to make the same tool for linux too and make the tool as user friendly as possible. And, please don't forget to thank alokbina too.
--->Java installed on your PC
--->system/framework folder from your rom
--->apks from that SAME ROM with the respective .odex file
--->Patience and a calm head (common sense included)
1. Download and extract the zip. You will get a folder called "Universal Deodexer VX"
2. Open the folder and place your framework files [/system/framework] in the "framework" folder.
3. Place all your apks or jars in the "apks" folder. No need to manually check if a apk has the corresponding .odex file or not. Apks or Jars which do not have .odex files are automatically deleted.
4. Double click on Universal Deodexer VX.jar. If it does not open then right click--->Properties--->change the Opens With: to "Java(TM) Platform SE Binary". Now double click and it will open. If it still doesn't open then shift+right click anywhere in the folder and open a terminal window there. Then type -
java -jar "Universal Deodexer V4.jar"
(no quotes) and see the output.
5. Select the various options (android version, compression level, debug mode).Then chose the deodex apk/deodex jar option. Once the deodex is complete, you will get a popup message if it was successful or not.
6. You can find the deodexed apks in the "deodexed" folder. Enjoy
7. You can even clear the framework files by chosing the "clear framework files" in the GUI menu.
--->Made the tool a GUI based tool/software!:D
--->Lightweight Java Swing API is being used.
--->Added option to set compression level from the GUI.
--->Added option to set api level from the GUI.
--->Added a debug mode which can be easily enabled from the GUI. Debug mode prevents the deodexing window from closing
automatically so that it is easier to diagnose any errors if present.:)
--->Moved the framework files to a separate "framework" folder. It looks much cleaner now:)
--->Apks/Jars which do not have .odex files are now automatically deleted. No need to manually go through the files and delete anything.
--->Randomly assign a colour to each button on every run.
--->Fixed some other minor bugs.
--->As this has become a big project with a big source code, I will be uploading the source code on Github:D
---> Added option to deodex JAR files.
---> Added option to pull framework files from phone.
---> Fixed a very important logical error in the Java code
---> Built from scratch again.
---> Added multiple apk deodexing support. Deodex all apks at once.
---> No need for apktool now. 7z is used instead
---> Updated some Java code and added "clear framework" and logs option
---> Java source code is now open source!:)
---> Initial Release
Q1) I could see some kind of errors while
deodexing but the cmd window closes very
quickly and automatically..
A - Before starting the doedexing process, be
sure to check the debug mode option. Now
the cmd windows won’t close automatically,
so you can post a screen shot here.
Q2) After following all the instructions, I
double clicked on Universal Deodexer VX.jar
but nothing happens.
A- Open up a cmd window by holding shift
and right clicking anywhere in the folder and
chose open command window here. Then
type this command –
Java –jar “Universal Deodexer VX.jar”
Now you will be able to identify the problem.
Q3) After typing the above command, I get
this error -
Exception in thread "main"
Control : Uns
upported major.minor version 51.0
(Unknow n Source)
Could not find the main class: Control.
Program will exit.
A- Please uninstall all previous versions of
java and download the latest version of Java
for your OS.
Q4) During the deodexing process, I get
some error like this –
UNEXPECTED TOP-LEVEL EXCEPTION:
regCount does not match the number of
arguments of the method
A – Before starting the deodexing process,
be sure to select the correct Android Version
in the list on the right side of the screen.
That should solve the problem. If it still
persists then please provide us with the rom/
device/android version etc.
Q5) My apks and jar files got deodexed
properly but my phone is stuck in a
A- Try deodexing the apk with a lower
compression level. If this does not help then
fix permissions in your recovery. If nothing
helps in please post a logcat.
Q6) One or two applications are force
closing after deodexing them.
A- Deodex those particular apks with the
compression level as 0.
Q7) I get this error while my files are getting
‘xcopy’ is not recognized as an internal or
external command, or operable program or
A- Your environment variables are not set
properly. Check this - http://
Q8) The deodexing process has got stuck..
A- Leave it for some time. It takes some
time to convert the .odex file into smali and
then into classes.dex. If nothing happens
after some time, please let us know by
leaving your comment below along with your
device name/rom/android version etc.
There's a great team (Team BlueRidge) supporting us day and night selflessly. Please consider donating them
Very nice! Im porting it to linux - easy work once I remember how bat files works haha long time since im a bash rat.. i still miss using .bat files anyway, but sticking to the subject, i'll try to port it
Earlier today, we talked about how Google brought two new apps to … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?