yashsingh1/xdaforums huggingface dataset:
[Android Software Development] abcdjdj:
Hi everyone,

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.

NOW EVEN ON XDA PORTAL - http://www.xda-developers.com/android/deodex-all-the-things-with-universal-deodexer/

NOW WITH A BEAUTIFUL NEW GUI:D

Requirements:-

--->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)

Instructions :-

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 "source" 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 Launcher.bat to start the tool.

5. Select the various options (android version, compression level).Then chose the deodex option. The deodexing process can be seen in the cmd window, and the log for the process can be found in the "working" folder.

6. Deodexed files will be found in the "done" directory. This is how the window looks after the process is complete :-

Download link -

V5 - http://www.mediafire.com/download/dz5z7oa3mbmwwom/Universal_Deodexer_V5.zip

V4 - http://d-h.st/bMp

V3 [FIXED] - http://d-h.st/QGo [MIRROR OF V3 - https://dl.dropboxusercontent.com/s...rxa7Thm9776KkEFAN87WMgcsF5NwDgiQ8CpkUFA&dl=1]

V2 - http://d-h.st/MZR

V1 - http://d-h.st/jGf

Source Code - https://github.com/abcdjdj/Universal_Deodexer

To do:-

--->Add JAR support for deodexing

--->Make linux version

--->Make it more of a "one-click deodexing"

--->Multiple apk support

Credit:-

---> iBotPeaches (apktool)

---> Google and all the guys who wrote tutorials on creating batch files

---> My teachers who teach me Java:)

import java.iForgotYou.*;;)
[Android Software Development] abcdjdj:
Changelog

V5
-->Re-wrote the entire tool from scratch (improved code, more efficient and professional code)
-->Added KitKat support
-->Updated to latest Smali and Baksmali (2.0.3)
-->Fixed the logging mechanism. Now everything gets logged properly in the file.
-->No more annoying windows opening and closing. Everything gets done in one window silently.
-->Added a verification check to see if the deodexing is successful
-->Added an option to reset tool to default (clears all files, makes it just as it was when downloaded)
-->Using a single script to deodex jar and apk files
-->Removed the flashy multi-coloured background. Switched to a simple Holo blue background
-->Lots of other small fixes and changes

V4
--->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

V3
---> Added option to deodex JAR files.
---> Added option to pull framework files from phone.
---> Fixed a very important logical error in the Java code

V2
---> Built from scratch again.
---> Added multiple apk deodexing support. Deodex all apks at once.
Completely one-clickish!
---> 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!:)

V1
---> Initial Release
[Android Software Development] Abhinav1997:
FAQ

-
[Android Software Development] shprakash:
Nice maddy. Keep up the good work.
[Android Software Development] sandyworsnop:
Re: [TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]

Great :eek:

Keep it up
[Android Software Development] JustCause:
Me Likey:good:
[Android Software Development] fendytrancers89:
Great work.. Thank you..
[Android Software Development] guitmz:
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 :)
[Android Software Development] Peteragent5:
Source Code..? (The Slow.class)
[Android Software Development] predatOr:
Re: [TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]

Good work guys. :thumbup:
[Android Software Development] abcdjdj:
Well uh um, is it compulsary to make it open source?(I don't know much about those GPL licenses but I thought that was only for the Linux kernel) Anyway, I will provide it with the V2 update.

@everyone - V2 will be much much more user-friendly.:)

Thank you for using our tool guys.
[Android Software Development] abcdjdj:
Hi guys!

V2 is completely ready. Completely one click to deodex now. No need to enter anything extra. Just click on one button and deodex all apks. Support for deodexing multiple apks has been added. No need to use apktool at all now. Will update OP very soon..:D

Thank you,

abcdjdj
[Android Software Development] Stealyourface:
That's great. Can't wait as I'm actually using the tool right now.
[Android Software Development] abcdjdj:
OP updated. V2 has been released!!:)
[Android Software Development] abcdjdj:
Source code has been added in the first post.:good:
[Android Software Development] Jaizu:
Thanks for the tool! I´m deodexing apks now, works fine, but is slowly...

Why not select a folder and deodex the folder? 1 to 1 is more slowly, is better select a folder CCCC:
[Android Software Development] abcdjdj:
I think that you are using V1. Please use V2 because you can deodex multiple apks at once and it is completely one clickish. Please check the OP for more info.

Thank you for using my tool.:)
[Android Software Development] fryingpan0613:
Awesome!
[Android Software Development] abcdjdj:
Anyone tried V2?:)
[Android Software Development] Joffie87:
Hey there. I'm trying to use your deodexer as we speak and a couple issues I've had with it were fixable by me, namely a pathing error regarding java. However, I am getting this:

Deodexing apk..

Error occured while loading boot class path files. Aborting.

org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core

.odex

at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.jav

a:218)

at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:14

6)

at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(Cla

ssPath.java:111)

at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:94)

at org.jf.baksmali.main.main(main.java:308)

C:\Users\blarg\Downloads\Compressed\Deodex_V2\apks\AccuweatherDaemon.apk

1 File(s) copied

UNEXPECTED TOP-LEVEL EXCEPTION:

java.lang.RuntimeException: Cannot find file or directory "out/"

at org.jf.smali.main.main(main.java:180)

File not found - classes.dex

Any idea what I can do to fix this?
[Android Software Development] alberan:
Well, in my framework folder there is only one apk -Framework-res.apk, and this is deodexed originaly... the rest is only .jar, so I will take the other possibility you mentioned trying one by one and see what happens...

Then I will put feedback, and if succeed I will tell how I did it. Thanks [MENTION=4663391]abcdjdj[/MENTION].
[Android Software Development] OpenMinded:
simply does not work for me.

Made apks don't work.

With debug on it says no smali and baksmali found.

Downloaden 1.4.2 of those and put them in dir and get an error Unable to access jar file (smali and baksmali).

does anyone know how to fix that?

thanks
[Android Software Development] abcdjdj:
[MENTION=353809]OpenMinded[/MENTION] - Are you trying to deodex an apk which you have made in Eclipse? Because they are already deodexed. Also, please tell me if you see baksmali.jar and smali.jar in the framework folder. If you don't see it then kindly re-download the tool.
[Android Software Development] OpenMinded:
thanks for your quick reply.

The files were missing there, perhaps because I emptied it.

I thought from looking at the bat file it was looking 1 folder up.

perhaps a suggestion for a next version :)?

I was unable to get a working apk for now, so I did it manually :).

thanks any way!
[Android Software Development] damiann69:
Hey. Seems to be nice application, but I'm struggling to run deodexed apps...

I think I do everything OK.

I have GB 2.3.7. I chose 2.3.4 2.3.3 option and I tried compression level 5, 0 or 1 and applicantions don't work (force close or somthing) after paste it by file manager to system/app and deleting odex file. Reboot doesn't help.
[Android Software Development] alberan:
[MENTION=4252919]damiann69[/MENTION] if you followed the steps ... maybe you fail when you put deodexed app in system...

Do this: after put the app in system/app, first set permisions, then delete .odex files and finally reboot... it worked for me this way.

---------- Post added at 06:19 PM ---------- Previous post was at 06:09 PM ----------

@abcdjdj Finally I could make deodexed jar app work well... did the following: deodexed as you said in tutorial.

Put jar deodexed files in system/framework... set permissions, then delete .odex files and finally rebooted device... and voilá... it worked fine... and there is more space in system... only notice that jar files have dalvik-cache in in dalvik-cache folder (that's something I didn't see before there)... but think that the way it woks.

Have to say that this is the best tool to deodex app... Thanks again abcdjdj.

PD: Is there some magic tool like this one to port rom?
[Android Software Development] damiann69:
After overwrite apk file permissions are set as default: -rw-r--r-- it is OK?

It is strange, because after place apk in system/app and reboot application even doesn't appear in drawer...

Is it possible that Universal Deodexer works buggy or it is problem with installation deodexed app?
[Android Software Development] alberan:
Yes, those are permissions in system/app... yes do that.
[Android Software Development] OpenMinded:
got what to work and how?

Please share details to help others, there are few things more annoying for people to find a problem and a someone posting "it works for me" without a solutions.

Thanks.
[Android Software Development] pemell:
It was probably a stupid question, otherwise I wouldn't put it that way.
[Android Software Development] abcdjdj:
Well there are a quite a few tools which port roms for you but the chance of the ported Rom booting is very less. It depends on the type of the Rom you are trying to port. In the end, you will have to manually take a logcat to see why the Rom isn't booting..

I am quite sure that there is no problem in the tool. Some step is going wrong while replacing the files on your phone. After you replace the files on your phone and delete the .Odex files, boot into cwm and choose the fix permissions option. That should hopefully solve your problem.
[Android Software Development] saldymhmd:
I can't use this tool anymore. On GUI menus, when I click option 1 and 2, nothing happened. When use the deodex_apk.bat and deodex_jar.bat always giving me errors. Already copied all on /system/framework to framework folder, and all on system/app to apks folder. Java version is up to date, environtment variables also good. Can somebody help me?

EDIT: Here is the log errors:

WELCOME!
Deodexing apk..
Compression=
API=
File not found - .odex
0 File(s) copied
usage: java -jar baksmali.jar [options] <dex-file>
disassembles and/or dumps a dex file
-?,--help prints the help message then exits.
Specify twice for debug options
-a,--api-level <API_LEVEL> The numeric api-level of the file
being disassembled. If not
specified, it defaults to 14 (ICS).
-b,--no-debug-info don't write out debug info (.local,
.param, .line, etc.)
-c,--bootclasspath <BOOTCLASSPATH> the bootclasspath jars to use, for
analysis. Defaults to
core.jar:ext.jar:framework.jar:andro

id.policy.jar:services.jar. If the
value begins with a :, it will be
appended to the default
bootclasspath instead of replacing
it
-d,--bootclasspath-dir <DIR> the base folder to look for the
bootclasspath files in. Defaults to
the current directory
-f,--code-offsets add comments to the disassembly
containing the code offset for each
address
-l,--use-locals output the .locals directive with
the number of non-parameter
registers, rather than the .register

directive with the total number of
register
-m,--no-accessor-comments don't output helper comments for
synthetic accessors
-o,--output <DIR> the directory where the disassembled

files will be placed. The default is

out
-p,--no-parameter-registers use the v<n> syntax instead of the
p<n> syntax for registers mapped to
method parameters
-r,--register-info <REGISTER_INFO_TYPES> print the specificed type(s) of
register information for each
instruction. "ARGS,DEST" is the
default if no types are specified.
Valid values are:
ALL: all pre- and post-instruction
registers.
ALLPRE: all pre-instruction
registers
ALLPOST: all post-instruction
registers
ARGS: any pre-instruction registers
used as arguments to the instruction

DEST: the post-instruction
destination register, if any
MERGE: Any pre-instruction register
has been merged from more than 1
different post-instruction register
from its predecessors
FULLMERGE: For each register that
would be printed by MERGE, also show

the incoming register types that
were merged
-s,--sequential-labels create label names using a
sequential numbering scheme per
label type, rather than using the
bytecode address
-v,--version prints the version then exits
-x,--deodex deodex the given odex file. This
option is ignored if the input file
is not an odex file

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Cannot find file or directory "out/"
at org.jf.smali.main.main(main.java:180)
File not found - classes.dex
0 File(s) copied
File not found - .apk
0 File(s) copied
D:7za.exe
1 File(s) copied
Overwrite D:\saldymhmd\ANDROID\Downloads\Universal Deodexer V4\Universal Deodexe
r V4\deodexed\Done.apk (Yes/No/All)?
[Android Software Development] abcdjdj:
If you directly open the batch file then it definitely won't work. Could you please try re-downloading the tool and check if it works?
[Android Software Development] damiann69:
I tried fix permissions in recovery, but app still didn't appear in drawer...

If my installation process is corrects... Do you have any idea what could go wrong?

What option in UD V4 do you recommend which is most safe?

I have GB 2.3.7, CM7.2. I tried deodex calculator application :)

Android versions set to 2.3.4 2.3.3 and compression level to 0?

Do you think put apk file and delete odex file in ROM archive and install ROM by recovery it is good way to install deodexed application?
[Android Software Development] abcdjdj:
CM 7.2? CM roms are already deodexed (mostly I think). Anyway, level 0 is the safest. Overwriting the apk file in /system/app and deleting the odex file should work..
[Android Software Development] damiann69:
It is sick. I tried at 0 compress level deodex with all Android Versions from 2 to 3 and none of them works...

Application doesn't appear in drawer...
[Android Software Development] abcdjdj:
Could you please enable debug mode and take a screenshot of the deodexing process? It will help me diagnose the problem faster.
[Android Software Development] mjs87:
Not working for xperia z firmware 244
[Android Software Development] abcdjdj:
Could you please elaborate the problem?
[Android Software Development] t-minik:
hi, this tool is excellent but is there a way to hide the command box popping an closing all the time ?

it makes your computer unusable when using it.
[Android Software Development] mjs87:
a few trys and now succesvol thanx
[Android Software Development] damiann69:
Did you mention that I need "Pull framework..." first to work it properly?

Now everything is OK.
[Android Software Development] abcdjdj:
That is step 2 in the instructions..
[Android Software Development] blackbuffalo:
I get this messenger when try deodex file VietnameseInputMethod.apk from HTC One X Android 4.2.2 Sense 5
[Android Software Development] blackbuffalo:
Help me deodex this file in att
[Android Software Development] abcdjdj:
Can you please upload even the framework files? Without the framework files, deodexing is not possible.
[Android Software Development] blackbuffalo:
I'm using Maximus v21 android 4.2.2
[Android Software Development] abcdjdj:
If you could kindly upload only the files in /system/framework, it would save me from downloading the entire huge rom only for a few small files.
[Android Software Development] blackbuffalo:
It's here. Pls help me and check me again error at previous post above

Framework: https://docs.google.com/file/d/0B9hsvqns6CCbY2ZVNU5JRDVqcjQ/edit?usp=sharing
[Android Software Development] gercen:
Is there a guide how to re-odex jar files? I'm on odex rom and i modified my android.policy.jar
[Android Software Development] abcdjdj:
Could you please execute the following command on your phone using a terminal emulator and post the screenshot here?

Command-

echo $BOOTCLASSPATH

I think that we need a few more files for deodexing this apk.
[Android Software Development] gpvecchi:
Great, thanks! Why not an universal Odexer now?
[Android Software Development] error404:
bootloop here... =(

this is the 3rd method that i tried and my phone bootloop in all of them. =(
[Android Software Development] dyulay:
this is an awesome tool!! thanks to this I managed to fully deodex my rom. :)
[Android Software Development] abcdjdj:
Which phone, android version are you trying to deodex? Try selecting a lower compression level. Also, enable debug mode and watch out for any errors and post them here if any.
[Android Software Development] abcdjdj:
Probably after my exams:D
[Android Software Development] error404:
thanks for the reply, i'll try to do it. I'm trying to deodex a Samsung Galaxy S Advance (i9070) with JB 4.1.2 and cocore kernel.
[Android Software Development] ogunja:
This process works for galaxy s4? Is not recognizing my device! :confused:
[Android Software Development] abcdjdj:
If you meant that you are experiencing problems while pulling framework files, then it is a problem with the adb drivers on your pc. Installing kies will fix this problem. Also, please ensure that Usb debugging is enabled in settings--->Developer options.
[Android Software Development] ogunja:
I installed the sdk, java, xultimate, kies and yet still not recognized by the program

I managed to pull the frameworks now as pull. Apks and jar? Not have this option of pulling the phone?
[Android Software Development] abcdjdj:
Try installing this - http://developer.samsung.com/android/tools-sdks/Samsung-Andorid-USB-Driver-for-Windows

Actually installing kies should have taken care of the problem. If it doesn't work even after installing the samsung adb drivers and nothing seems to work, then download Root Browser from Play Store on your phone and manually copy all files in /system/framework to your sd card/internal storage. Then connect your phone to your pc (I am assuming that you can at least copy and view files on your pc) and copy all the files to the "framework" folder of the deodexing tool.
[Android Software Development] ogunja:
This program does not deodex the frameworks in the case of files jar.odex?

I noticed that in the apps folder have some files called pak what they would be, I've done several of deodex roms Samsung Motorola but never, questions and excuse my English.

I'm using Google Translator
[Android Software Development] abcdjdj:
You can deodex jar files by placing the jar files with their corresponding odex files in the "apks" folder. Then chose the deodex jars option in the menu.

I am sorry but I can't understand the second part of your question.
[Android Software Development] ogunja:
I think this seemingly deodex now how to pull the files inside the system?

When I give the command: mount-o remount, rw / dev/block/mtdblock4 / system gives error.
[Android Software Development] p-vlad:
Hi.

I have problem with deodexing services.odex from the framework. Many deodexer say that is ready but after flash I end up with bootloop. After flash back the jar and odex file - boot fine. The APK files and most of the framework file deodex without problem... just services.odex and 2-3 more file from framework I can not deodex. Can you help me with this please. It end up with bootloop and a line about TTS service that i do not what have to do with this file at all.

it is ICS 4.0.4 for LG Optimus 3D. Here is the framework directory - framework.rar. Tell me if you need other files.
[Android Software Development] abcdjdj:
Could you please run this command on your phone with a terminal emulator and post the screenshot -

echo $BOOTCLASSPATH

Could you kindly enable debug mode and post a screenshot of the deodexing process?
[Android Software Development] abcdjdj:
Please check your pm bro.:)
[Android Software Development] sachin273:
hi abacdjdj

i am trying to deodex a rom in the form of update.zip

1) if i deodex all apks and jars and put them back in rom.zip, will this work with CWM or TWRP?

2) i did try deodexing but there are a few things i can not get past...

the framework folder in the rom contains jar and corrosonding odex files and two apks ( framework.res and mediatek.res) do i just copy them all to framwork folder in deodexer?

i did that and placed the jars and apks in apk folder and i found that all apks got deodexed except framewok res and mediatk.res. how can i deodex these?

and only one jar file was deodexed- am.jar. all other jar files have .odex files too i checked that out.

any help would be highly appreciated.
[Android Software Development] p-vlad:
sorry... my fault.. core.odex was not in the framework folder. all is OK not. 10x
[Android Software Development] abcdjdj:
1) Yes it should work.

2) Yes, you must place all framework files in the "framework" folder. Framework-res.apk does not have any java coding. It contains only XML and drawable resources. So you do not have to deodex it. As for mediatk.apk, look out for the corresponding .odex file. If you find mediatk.odex, place the odex and apk in the apks folder and chose option 1 in the main menu. If you can't find mediatk.odex then try opening the apk with winrar and look out for classes.dex.

If other jars are not getting deodexed, enable debug mode and post a screenshot of the deodexing procedure.
[Android Software Development] sachin273:
thx for the reply.

well i did manage to deodex all apks and jars, this mediatek-res file does not have any corresponding odex so i just left it unprocessed.

and then i replaced all apks and jars in the rom with modified ones and deleted all odex files. when i flashed it the phone wont boot...

it showed the boot logo, and then just stayed on like that.

attempt 2- replaced jars and apks but did not delete odex files. the phone booted fine but all odex files are present in the system.

do i need to do something to the update file so that the flashing is correct?
[Android Software Development] abcdjdj:
Open any deodexed apk with winrar on your pc and tell me if you see classes.dex. Do the same for any one jar file.