Unified Deodexer - Support deodexing upto 9.0

Search This thread

KP@2016

Senior Member
Apr 21, 2016
288
244
Mumbai
kpstvhub.com
This tool is a part of ADK software, thread can be found here (For summary read Introduction part below). Links to download this program will be found at the end of this post. Usage info can be found in second thread.
deodex1.png
Introduction
Deodexing ROM is not so simple task since the recent changes in Android 9 introducing .vdex files. Thanks to anestisb for his vdexExtractor, now deodexing android 9.0 is not quite a difficult task. But hey, let me tell you not all APK, JAR can be deodexed as OEMs god knows adds what's so ever classpath in their vdex, odex, etc. to prevent it from converting to classes.dex
The tool requires build.prop file & app, priv-app, framework folder of either system or vendor partition. Browse it, check if it's supported by the tool. Hit Play button that's it. It may not take much time deodexing your ROM. The tool just process files and deodex them for you, it can be easier if you use an kitchen with it i.e first unpack ROM or decode system.img then run this tool on it. Well I'll recommend you to use ADK kitchen as it's currently made for that :p

What is ADK?
Well if I've to say, ADK (Android Development Kit) is a complete Windows based GUI application which allows you to edit Android apk files, ROM zips, boot or recovery images, Android Firmware and also to create TWRP/CWM flashable recovery zips easily. It's like a complete Android Kitchen with lots of mods, patches, scripts, templates, rich text editor, etc. like an IDE. For more info visit official thread here.
[/QUOTE]

Features
Well here you go,,,
  • Supports Android 9 ROM.
  • Powerfull analyzing or ROM structure.
  • Logs all the process in tools\deodex.log and shows summary within tool.
  • Manually set tool dir through settings.

Changelog and Known Issues
Changelog as per release 1.0.0.0 (19th January 2019) :)

*Initial Release


Downloads & Instructions
To use these tool you must have ADK to be installed. So read steps below (noob friendly) in order to get it. If you want to know what is ADK read Introduction Part above. Also this tool supports deodexing from Android 5.0 to 9.0.

Step 1: Install ADK

Grab a latest release of the software from above link (should be greater than 1.0.4.6).
step1-1.jpg


Step 2: Extract the ZIP and install setup.exe as we normally do.

Do not install the software in C:\Program Files or Program Files (x86) folder.
step2.png


Step 3: Launch ADK from desktop shortcut, check & download updates if available for ADK.
update-1.png

Step 4: Now open the Deodex Tool.

The tool can be opened from Tools > Deodex Tool or create a ROM Project in ADK then select Project > Deodex Project.

deodex2.png


Step 5: Read Usage Instructions below.
 
Last edited:

KP@2016

Senior Member
Apr 21, 2016
288
244
Mumbai
kpstvhub.com
Using the Program
Standard way

Once you've successfully installed and updated ADK to the latest version. Click on Tools > Deodex Tool option. A window will pop up as shown in first post.

Now click on browse button. The three dot button and select a folder containing apps, priv-apps, frameworks folder & build.prop file. The tool will load all the details.

Now click on the Play button to start the deodexing, it will not take much time (as shown below).
deodex3.png

In above image Green text showing number 18 is the success rate, Orange showing 0 is warning messages & Red showing number 21 is Error i.e the number of failed to deodex files.

Logs along with the exception will be generated in tools\debug.log file. A summary will be shown within the output in the tool.

It will notify you once the task is Finished.

Using ADK

First we are going to create a ROM project. Not only this will allow us to deodex ROM but also to add more mods and tweaks to ROM.

So let's start ADK, then click File > New > New project a window will pop-up from there select ROM/Update.zip. Give your project a name and browse for the ROM zip file from below three dot button (as shown below).

deodex4.png
In above image, 360OS_LP is my project name and C:\Users\Dell\Documents\Roms\360_OS_VF1.zip is the location of ROM zip.

Now click create button to start the project creation. The process will take time according to your ROM structure. Once done you will see something like below.
deodex5.png
Now directly click on Project > Deodex Project then simply hit Play button as we do. Done...!

Also you to load updater-script from your ROM, you can click Project > Load updater-script. See Project tab or read the current Getting started Page to know what cool things you can do to your ROM project.
:)
 
Last edited:

rodolphe06

Senior Member
Jan 25, 2016
894
325

Hi, thanks for the tool.
one question , can it be used to deodex an apk with (odex,vdex) files and then recompile it as single apk file ?
in fact i want to port an apk from an odex stock Rom to custom rom

EDIT:
mh this tool seems to powerful to convert a single App lool
 
Last edited:

KP@2016

Senior Member
Apr 21, 2016
288
244
Mumbai
kpstvhub.com
Hi, thanks for the tool.
one question , can it be used to deodex an apk with (odex,vdex) files and then recompile it as single apk file ?
in fact i want to port an apk from an odex stock Rom to custom rom

EDIT:
mh this tool seems to powerful to convert a single App lool
Single APK option is not added yet, I will add an update to it as quick as I can!
 
  • Like
Reactions: rodolphe06

qqzwc

Senior Member
Jul 19, 2012
212
156
Hebei Province
@KP@2016
Can't deodex this ROM:
http://download.h2os.com/OnePlus 3T...8_OTA_060_all_1903310222_b76c39af1e5d4362.zip
for build.prop see attached file.

For more information about calling real-time (JIT) debugging instead of this dialog box,

See end of this message.
Exception text **************
System.IndexOutOfRangeException: The index exceeds the array boundary. In ADK_context.
Classes.Tasks.GetPropValue (String ID, String filename)
In DeodexTool.Form1.loadinfo (Boolean first)
In DeodexTool.Form1.button1_Click (Object sender, EventArgs e)
In System.Windows.Forms.Control.OnClick (EventArgs e)
In System.Windows.Forms.Button.OnClick (EventArgs e)
In System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent)
In System.Windows.Forms.Control.WmMouseUp (Message& m, MouseButtons button, Int32 clicks)
In System.Windows.Forms.Control.WndProc (Message& m)
In System.Windows.Forms.ButtonBase.WndProc (Message& m)
In System.Windows.Forms.Button.WndProc (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.OnMessage (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.WndProc (Message& m)

In System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Loaded Assemblies **************
Mscorlib
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Deodex
Assembly version: 0.5.0.0
Win32 version: 0.5.0.0
Basic code: file:///D:/ADK/deodex.exe
----------------------------------------
System.Windows.Forms
Assembly version: 4.0.0.0
Win32 version: 4.7.3324.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
---------------------------------------- ADK.
FastColoredTextBox
Assembly version: 2.16.23.0
Win32 version: 2.16.23.0
Basic code: file:///D:/ADK/ADK.FastColoredTextBox.DLL
----------------------------------------
System.Configuration
Assembly version: 4.0.0.0
Win32 version: 4.7.3324.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
---------------------------------------- ADK.
Progress
Assembly version: 1.0.0.0
Win32 version: 1.0.0.0
Basic code: file:///D:/ADK/ADK.Progress.DLL
----------------------------------------
Mscorlib.resources
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll

----------------------------------------
JIT Debugging **************
To enable real-time (JIT) debugging,
Must be set in the system.windows.forms section of the application or computer's. config file (machine.config)
JitDebugging value.
You must also enable the application when compiling the

Debugging.

For example:

<configuration>
<system.windows.forms jitdebugging=""true""></system.windows.forms>
</configuration>
When JIT debugging is enabled, any unhandled exceptions
Will be sent to the JIT debugger registered on this computer, Instead of processing from this dialog box.
 

Attachments

  • build.prop.zip
    5.5 KB · Views: 185
Last edited:

qqzwc

Senior Member
Jul 19, 2012
212
156
Hebei Province
@KP@2016
Can't deodex this ROM:
http://download.h2os.com/OnePlus 3T...8_OTA_060_all_1903310222_b76c39af1e5d4362.zip
for build.prop see attached file.

For more information about calling real-time (JIT) debugging instead of this dialog box,

See end of this message.
Exception text **************
System.IndexOutOfRangeException: The index exceeds the array boundary. In ADK_context.
Classes.Tasks.GetPropValue (String ID, String filename)
In DeodexTool.Form1.loadinfo (Boolean first)
In DeodexTool.Form1.button1_Click (Object sender, EventArgs e)
In System.Windows.Forms.Control.OnClick (EventArgs e)
In System.Windows.Forms.Button.OnClick (EventArgs e)
In System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent)
In System.Windows.Forms.Control.WmMouseUp (Message& m, MouseButtons button, Int32 clicks)
In System.Windows.Forms.Control.WndProc (Message& m)
In System.Windows.Forms.ButtonBase.WndProc (Message& m)
In System.Windows.Forms.Button.WndProc (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.OnMessage (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.WndProc (Message& m)

In System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Loaded Assemblies **************
Mscorlib
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Deodex
Assembly version: 0.5.0.0
Win32 version: 0.5.0.0
Basic code: file:///D:/ADK/deodex.exe
----------------------------------------
System.Windows.Forms
Assembly version: 4.0.0.0
Win32 version: 4.7.3324.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
---------------------------------------- ADK.
FastColoredTextBox
Assembly version: 2.16.23.0
Win32 version: 2.16.23.0
Basic code: file:///D:/ADK/ADK.FastColoredTextBox.DLL
----------------------------------------
System.Configuration
Assembly version: 4.0.0.0
Win32 version: 4.7.3324.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly version: 4.0.0.0
Win32 version: 4.7.3362.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
---------------------------------------- ADK.
Progress
Assembly version: 1.0.0.0
Win32 version: 1.0.0.0
Basic code: file:///D:/ADK/ADK.Progress.DLL
----------------------------------------
Mscorlib.resources
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Assembly version: 4.0.0.0
Win32 version: 4.7.3190.0 built By:net472rel1last_c
Basic code: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll

----------------------------------------
JIT Debugging **************
To enable real-time (JIT) debugging,
Must be set in the system.windows.forms section of the application or computer's. config file (machine.config)
JitDebugging value.
You must also enable the application when compiling the

Debugging.

For example:

<configuration>
<system.windows.forms jitdebugging=""true""></system.windows.forms>
</configuration>
When JIT debugging is enabled, any unhandled exceptions
Will be sent to the JIT debugger registered on this computer, Instead of processing from this dialog box.

I got how to solve this problem.
1. your tool expect [ro.build.version.release=9.0.0] but actually it is [ro.build.version.release=9 and ro.rom.version=9.0]
2. your tool expect [ro.product.name=OnePlus3T] but actually it is [ro.product.device=OnePlus3T]
So this tool crashes.

But it still cann not deodex the provided rom for me, you can have a try:
http://download.h2os.com/OnePlus 3T...8_OTA_060_all_1903310222_b76c39af1e5d4362.zip
 
Last edited:

KP@2016

Senior Member
Apr 21, 2016
288
244
Mumbai
kpstvhub.com
This tool does not deodex boot.oat?
I tried deodexing it for some ROMs for 2 of my devices using latest oat2dex, but it does not work and sometimes failed to boot (Roms were above 8.1), so I thought of removing deodexing of boot.oat from release! But in future I will add an option for user to choose if they want to deodex them at their own risk.
 
  • Like
Reactions: quanqw and lieuliau

ankh3

Member
Oct 21, 2019
9
0
Hello


Features


Changelog and Known Issues



Downloads & Instructions[/QUOTE]


Great tool !!! very beautiful! on the roms android 8 everything ok, perfect !!! while on the rom android 9 I have an error in unzipping the file "system.new.dat.br ... so with another program I converted it to:
"system.new.dat". Now your tool executes the Unzip of "filesystem.new.dat", but when I run the deodex tool it gives me an error in all the apks. (Error: or: "Could not deodex!")
 

KP@2016

Senior Member
Apr 21, 2016
288
244
Mumbai
kpstvhub.com
Great tool !!! very beautiful! on the roms android 8 everything ok, perfect !!! while on the rom android 9 I have an error in unzipping the file "system.new.dat.br ... so with another program I converted it to:
"system.new.dat". Now your tool executes the Unzip of "filesystem.new.dat", but when I run the deodex tool it gives me an error in all the apks. (Error: or: "Could not deodex!")

Do this:
1. Yesterday i release a new version of ADK so update it from website https://androdevkit.github.io by downloading latest release and perform an overwrite install.
2. Now create a ROM project in ADK (i fixed the issue you are facing).
3. Once you have your system folder in Solution, select Tools > Deodex Tool.
4. Now try deodexing it. (Note: when you are trying to Deodex framework folder some of the apk and binaries will remain odexed due to incompatibility)
 
  • Like
Reactions: ankh3

ankh3

Member
Oct 21, 2019
9
0
Do this:
1. Yesterday i release a new version of ADK so update it from website by downloading latest release and perform an overwrite install.
2. Now create a ROM project in ADK (i fixed the issue you are facing).
3. Once you have your system folder in Solution, select Tools > Deodex Tool.
4. Now try deodexing it. (Note: when you are trying to Deodex framework folder some of the apk and binaries will remain odexed due to incompatibility)

Thanks! I tried your procedure but during the deodex I have the same error ...
 

Zealot2k3

New member
Dec 20, 2017
1
0
Hi! and thank you for this app.

I've same error with LineageOS for Sony xz1 compact (this Rom: lineage-16.0-20191118-UNOFFICIAL-RC6-lilac, By Modpunk on XDA. Sorry, I can't to post external links because I'm new user).
"Error: Could not deodex!" in all the apks.
Have you got a solution?

Thanks!
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    This tool is a part of ADK software, thread can be found here (For summary read Introduction part below). Links to download this program will be found at the end of this post. Usage info can be found in second thread.
    deodex1.png
    Introduction
    Deodexing ROM is not so simple task since the recent changes in Android 9 introducing .vdex files. Thanks to anestisb for his vdexExtractor, now deodexing android 9.0 is not quite a difficult task. But hey, let me tell you not all APK, JAR can be deodexed as OEMs god knows adds what's so ever classpath in their vdex, odex, etc. to prevent it from converting to classes.dex
    The tool requires build.prop file & app, priv-app, framework folder of either system or vendor partition. Browse it, check if it's supported by the tool. Hit Play button that's it. It may not take much time deodexing your ROM. The tool just process files and deodex them for you, it can be easier if you use an kitchen with it i.e first unpack ROM or decode system.img then run this tool on it. Well I'll recommend you to use ADK kitchen as it's currently made for that :p

    What is ADK?
    Well if I've to say, ADK (Android Development Kit) is a complete Windows based GUI application which allows you to edit Android apk files, ROM zips, boot or recovery images, Android Firmware and also to create TWRP/CWM flashable recovery zips easily. It's like a complete Android Kitchen with lots of mods, patches, scripts, templates, rich text editor, etc. like an IDE. For more info visit official thread here.
    [/QUOTE]

    Features
    Well here you go,,,
    • Supports Android 9 ROM.
    • Powerfull analyzing or ROM structure.
    • Logs all the process in tools\deodex.log and shows summary within tool.
    • Manually set tool dir through settings.

    Changelog and Known Issues
    Changelog as per release 1.0.0.0 (19th January 2019) :)

    *Initial Release


    Downloads & Instructions
    To use these tool you must have ADK to be installed. So read steps below (noob friendly) in order to get it. If you want to know what is ADK read Introduction Part above. Also this tool supports deodexing from Android 5.0 to 9.0.

    Step 1: Install ADK

    Grab a latest release of the software from above link (should be greater than 1.0.4.6).
    step1-1.jpg


    Step 2: Extract the ZIP and install setup.exe as we normally do.

    Do not install the software in C:\Program Files or Program Files (x86) folder.
    step2.png


    Step 3: Launch ADK from desktop shortcut, check & download updates if available for ADK.
    update-1.png

    Step 4: Now open the Deodex Tool.

    The tool can be opened from Tools > Deodex Tool or create a ROM Project in ADK then select Project > Deodex Project.

    deodex2.png


    Step 5: Read Usage Instructions below.
    3
    Using the Program
    Standard way

    Once you've successfully installed and updated ADK to the latest version. Click on Tools > Deodex Tool option. A window will pop up as shown in first post.

    Now click on browse button. The three dot button and select a folder containing apps, priv-apps, frameworks folder & build.prop file. The tool will load all the details.

    Now click on the Play button to start the deodexing, it will not take much time (as shown below).
    deodex3.png

    In above image Green text showing number 18 is the success rate, Orange showing 0 is warning messages & Red showing number 21 is Error i.e the number of failed to deodex files.

    Logs along with the exception will be generated in tools\debug.log file. A summary will be shown within the output in the tool.

    It will notify you once the task is Finished.

    Using ADK

    First we are going to create a ROM project. Not only this will allow us to deodex ROM but also to add more mods and tweaks to ROM.

    So let's start ADK, then click File > New > New project a window will pop-up from there select ROM/Update.zip. Give your project a name and browse for the ROM zip file from below three dot button (as shown below).

    deodex4.png
    In above image, 360OS_LP is my project name and C:\Users\Dell\Documents\Roms\360_OS_VF1.zip is the location of ROM zip.

    Now click create button to start the project creation. The process will take time according to your ROM structure. Once done you will see something like below.
    deodex5.png
    Now directly click on Project > Deodex Project then simply hit Play button as we do. Done...!

    Also you to load updater-script from your ROM, you can click Project > Load updater-script. See Project tab or read the current Getting started Page to know what cool things you can do to your ROM project.
    :)
    2
    This tool does not deodex boot.oat?
    I tried deodexing it for some ROMs for 2 of my devices using latest oat2dex, but it does not work and sometimes failed to boot (Roms were above 8.1), so I thought of removing deodexing of boot.oat from release! But in future I will add an option for user to choose if they want to deodex them at their own risk.
    1
    Hi, thanks for the tool.
    one question , can it be used to deodex an apk with (odex,vdex) files and then recompile it as single apk file ?
    in fact i want to port an apk from an odex stock Rom to custom rom

    EDIT:
    mh this tool seems to powerful to convert a single App lool
    Single APK option is not added yet, I will add an update to it as quick as I can!
    1
    Great tool !!! very beautiful! on the roms android 8 everything ok, perfect !!! while on the rom android 9 I have an error in unzipping the file "system.new.dat.br ... so with another program I converted it to:
    "system.new.dat". Now your tool executes the Unzip of "filesystem.new.dat", but when I run the deodex tool it gives me an error in all the apks. (Error: or: "Could not deodex!")

    Do this:
    1. Yesterday i release a new version of ADK so update it from website https://androdevkit.github.io by downloading latest release and perform an overwrite install.
    2. Now create a ROM project in ADK (i fixed the issue you are facing).
    3. Once you have your system folder in Solution, select Tools > Deodex Tool.
    4. Now try deodexing it. (Note: when you are trying to Deodex framework folder some of the apk and binaries will remain odexed due to incompatibility)