FORUMS
Remove All Ads from XDA

Unified Deodexer - Support deodexing upto 9.0

225 posts
Thanks Meter: 188
 
Post Reply Email Thread
Quote:

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.

image1
Introduction
Quote:

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
Quote:

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
Quote:

Changelog as per release 1.0.0.0 (19th January 2019)

*Initial Release


Downloads & Instructions
Quote:

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


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.
2


Step 3: Launch ADK from desktop shortcut, check & download updates if available for ADK.
image4

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.

2


Step 5: Read Usage Instructions below.

The Following 3 Users Say Thank You to [email protected] For This Useful Post: [ View ] Gift [email protected] Ad-Free
 
 
19th January 2019, 04:15 PM |#2  
KP@2016's Avatar
OP Senior Member
Flag Dombivali
Thanks Meter: 188
 
Donate to Me
More
Using the Program
Quote:

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

1

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.

Quote:

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

1
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.
2
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.

The Following 2 Users Say Thank You to [email protected] For This Useful Post: [ View ] Gift [email protected] Ad-Free
22nd January 2019, 08:01 AM |#3  
Senior Member
Thanks Meter: 318
 
More
Quote:
Originally Posted by [email protected]

Using the Program

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
22nd January 2019, 01:21 PM |#4  
KP@2016's Avatar
OP Senior Member
Flag Dombivali
Thanks Meter: 188
 
Donate to Me
More
Quote:
Originally Posted by rodolphe06

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!
The Following User Says Thank You to [email protected] For This Useful Post: [ View ] Gift [email protected] Ad-Free
3rd April 2019, 07:20 PM |#5  
Junior Member
Flag Depok
Thanks Meter: 2
 
More
nice job... how to know deodex rom or not ?
4th April 2019, 03:20 AM |#6  
KP@2016's Avatar
OP Senior Member
Flag Dombivali
Thanks Meter: 188
 
Donate to Me
More
Quote:
Originally Posted by zynonimoux

nice job... how to know deodex rom or not ?

That's a good question! This feature is not implemented yet. I will implement it soon.

If you manually want to check if ROM is deodexed or not! Go to folders like app, priv-app. Check if there exist files like .odex or .vdex. If they exist then it means ROM is not deodexed.
19th April 2019, 02:42 AM |#7  
Senior Member
Flag Hebei Province
Thanks Meter: 157
 
More
@[email protected]
Can't deodex this ROM:
http://download.h2os.com/OnePlus%203...af1e5d4362.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.O nMessage (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.W ndProc (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.
Attached Files
File Type: zip build.prop.zip - [Click for QR Code] (5.5 KB, 46 views)
19th April 2019, 04:37 AM |#8  
Senior Member
Flag Hebei Province
Thanks Meter: 157
 
More
Quote:
Originally Posted by qqzwc

@[email protected]
Can't deodex this ROM:
http://download.h2os.com/OnePlus%203...af1e5d4362.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.O nMessage (Message& m)
In System.Windows.Forms.Control.ControlNativeWindow.W ndProc (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%203...af1e5d4362.zip
17th May 2019, 09:00 AM |#9  
lieuliau's Avatar
Senior Member
Thanks Meter: 25
 
More
This tool does not deodex boot.oat?
17th May 2019, 02:38 PM |#10  
KP@2016's Avatar
OP Senior Member
Flag Dombivali
Thanks Meter: 188
 
Donate to Me
More
Quote:
Originally Posted by lieuliau

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.
The Following User Says Thank You to [email protected] For This Useful Post: [ View ] Gift [email protected] Ad-Free
Post Reply Subscribe to Thread

Tags
android, deodex, oreo, pie, tool

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes