yashsingh1/xdaforums huggingface dataset:
[Android General] atarek:
Oreo SystemUI deodex failed

Hello [MENTION=4315551]Ticklefish[/MENTION],

Thanks for your amazing effort,

I was trying to deodex systemUI and i got below error in log file,

14-01-2019@1240 --- Deodexing Process Started
TOAD Version: 3.0.0.4
ABI detected as: "arm64"
API level detected as: "26"
"26.bat" to be used
-----------
Processing file - "Your_Files\priv-app\SystemUI\oat\arm64\SystemUI.vdex"
[INFO] Processing 1 file(s) from Your_Files/priv-app/SystemUI/oat/arm64/SystemUI.vdex
[ERROR] [2664] 2019/01/14 12:41:08 (vdex/vdex_006.c:167 vdex_006_SanityCheck) Verifier dependencies section points past the end of file (90ad9c + 16070 > 920e0b)
[ERROR] [2664] 2019/01/14 12:41:08 (vdex/vdex_backend_006.c:316 vdex_backend_006_process) Malformed Vdex file
[ERROR] [2664] 2019/01/14 12:41:08 (vdexExtractor.c:251 main) Failed to process Dex files - skipping 'Your_Files/priv-app/SystemUI/oat/arm64/SystemUI.vdex'
[INFO] 0 out of 1 Vdex files have been processed
[INFO] 0 Dex files have been extracted in total
[INFO] Extracted Dex files are available in 'Tool_Files'
ERROR EXTRACTION FAILED

Below link for "Your_Files" folder in TOAD directory containing build.prop , framework & systemUI hope it help you.

https://we.tl/t-ctmkS9FXAw

Regards,

Ahmed
[Android General] Ticklefish:
That's fantastic, thank you! It's very much appreciated!

I think this might be due to the build.prop file. TOAD reads the whole file to get the information it needs and the parentheses in this file might be causing trouble.

#760765 is decimal sum after removing following parser flags
# - AC3 (0x00000002)
# - DTS (0x00000040)
# - MKV (0x00000400)
# - MP3 (0x00002000)
# - OGG (0x00004000)
# - AIFF (0x00040000)
# - DSF (0x00400000)
# - DSDIFF (0x00800000)

The language that TOAD is written in might be getting confused by those and falling over. If that's the case it's going to be tricky to resolve.

BUT if it's the case we can just go around it.

In the tool files folder there is a blank build.prop that I use for testing. You can edit that with Notepad++ or similar to have these two lines:

ro.build.version.sdk=26
ro.product.cpu.abi=arm64-v8a

Those are the lines that tell TOAD which SDK your rom is and which type of processor (ABI) to use for the ODEX files.

Why not try using that as your build.prop in the your files folder instead? It won't work on your phone but will work for deodexing.

Hopefully that'll solve the problem.

Thank you for uploading your files - that's really handy. However I can't do anything with them. The error's not in the code - vdexextractor can't handle one of your APK files as it's malformed. Unfortunately we can't deodex a bad file.
[Android General] Beetle84:
I have the same issue with Sony pie firmware's on any version of TOAD after 2.0.1. Thanks for the tip about the included build.prop, I will give that a go soon.

Just to confirm, all I have to change in the above lines for pie would be sdk to 28?
[Android General] khanhesham:
[MENTION=4315551]Ticklefish[/MENTION] this is the content of LOG.txt after placing sample build.prop from Tool_Files folder but TOAD still crashes when API26 batch file is used for xperia oreo 8.0 rom :(

--@1405 --- Deodexing Process Started

TOAD Version: 3.0.0.4
ABI detected as: "arm64"
API level detected as: "26"
"26.bat" to be used
[Android General] KP@2016:
It supports Android 9.
[Android General] Ticklefish:
Hi, sorry for the delay in responding. Work has been insane lately, although it's starting to get quiet now.

Are you still having issues with this? If so, are you able to share your files? I appreciate that can be a lot but it'd really help me work out what's going wrong.
[Android General] khanhesham:
i'll give you the system dump and let us enlighten what's really messing with the deodex process, it's probably 1:34 am in the morning here, i'll upload the dump asap today itself ?
[Android General] Ticklefish:
Thank you. I'm starting to get back into my coding now and I'm hoping we can get this working.
[Android General] khanhesham:
[MENTION=4315551]Ticklefish[/MENTION] here's the system dump from xperia xzs dual g8232 february sec patch 2019

system : https://drive.google.com/open?id=1OJNt-IALVQQthN2VX5zesM5luJVd19Pz

kernel : https://drive.google.com/open?id=1BC1ihgAj-E0bVpyIn5jtLkoY3yXknnvb
[Android General] Azazel6002:
Having the same problem, trying to deodex Samsung Galaxy Tab S4. put framework, build.prop and priv-app in your_file folder and soon as I run toad, it opens a cmd window and immediately crashes.
[Android General] Ticklefish:
Thanks. I tried it and 7z wouldn't open it. So I'm downloading it again, just in case I didn't download the whole thing.

I am on the case and should hopefully have a solution soon. :D
[Android General] TheDevelopper:
No download link attached?
[Android General] kevintm78:
It's under the Download tab at the top of the page.
[Android General] hahmad78:
i have a stupid problem. i am running windows 7 64 bit. when i extract TOAD (c:/ or some other directory) , it runs . but when i copy frame work and build.prop and other folders, it do not run. screen splashes and and than close.

kindly guide me where i am wrong.
[Android General] Ticklefish:
It looks like TOAD struggles if there's any parentheses/brackets in the build.prop file. This is from [MENTION=6250451]khanhesham[/MENTION]'s build.prop:

#system props for the MM modules
media.stagefright.enable-player=true
media.stagefright.enable-http=true
media.stagefright.enable-aac=true
media.stagefright.enable-qcp=true
media.stagefright.enable-scan=true
mmp.enable.3g2=true
media.aac_51_output_enabled=true
mm.enable.smoothstreaming=true
media.settings.xml=/vendor/etc/media_profiles_vendor.xml
#760765 is decimal sum after removing following parser flags
# - AC3 (0x00000002)
# - DTS (0x00000040)
# - MKV (0x00000400)
# - MP3 (0x00002000)
# - OGG (0x00004000)
# - AIFF (0x00040000)
# - DSF (0x00400000)
# - DSDIFF (0x00800000)
# See MMParserExtractor.h to confir above values.
#185971 is decimal sum of supported parsers in AAL
#37491 is decimal sum of supported codecs in AAL
#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE
mm.enable.qcom_parser=760765
persist.mm.enable.prefetch=true

I removed the lines with the parentheses in and the tool runs without any trouble at all.

This could be tricky to resolve. The code reads the character and thinks it's a command, which is why it's causing trouble. But I'll see what I can do. I need to find a way to read the lines from the file without this character causing any issues.

In the meantime, there is a temporary solution. The build.prop is only needed for two specific lines:

ro.build.version.sdk=26
ro.product.cpu.abi=arm64-v8a

Those are the lines that tells TOAD which version of Android you're running and which type of processor to allow for.

If you're having this issue, you could try deleting all the lines in the build.prop apart from those and that should helpfully fix it. The build.prop file isn't used again, it's not part of the ZIP that TOAD creates, so this won't cause any trouble.
[Android General] Azazel6002:
So I just added the two lines to build prop. Command window is up now but unresponsive. Has error 'mode' is not recognized as internal or external command, operable program or batch file.

I could see this error when program was crashing, just couldn't read it fast enough.
[Android General] pendor24:
Hello

maybe TOAD could extract the 2 lines of the build. prop

and write them in another document than the build. prop and no longer take care of the build. prop but new document.
[Android General] hahmad78:
thanks dev, i removed the lines with brackets () and TOAD runs now.:D
[Android General] hahmad78:
Dear Dev, thanks a lot.

i have successfully deodex the oreo 8.0 system for lg v20 h990ds and h990n.

Thanks again
[Android General] Ticklefish:
I've had an idea about this. Currently the code that reads the build.prop looks like this:

:Read_Build_Prop
for /f "tokens=1,2" %%a in (Your_Files\build.prop) do (
call :Read_Build_Prop_1 %%a %%b
)
goto :eof
:Read_Build_Prop_1
set TOAD_temp=%1%2
if %TOAD_temp:~0,20% neq ro.build.version.sdk (
if %TOAD_temp:~0,22% neq ro.product.cpu.abilist (
goto :eof
)
)
if %TOAD_temp:~0,24%==ro.product.cpu.abilist32 (
goto :eof
) else if %TOAD_temp:~0,24%==ro.product.cpu.abilist64 (
goto :eof
)
if %TOAD_temp:~0,20%==ro.build.version.sdk (
set TOAD_API=%TOAD_temp:~20,100%
goto :eof
)
if %TOAD_temp:~0,22%==ro.product.cpu.abilist (
set TOAD_ABI=%TOAD_temp:~22,5%
)
if %TOAD_ABI:~3,2%==32 (
goto :eof
)
if %TOAD_ABI:~3,2%==64 (
goto :eof
)
set TOAD_ABI=%TOAD_ABI:~0,3%
goto :eof

This is a loop that reads every single line in build.prop. I just need to put in a few lines that breaks the loop once the needed information has been acquired.

That shouldn't be a problem. I just need to find the time to do it. Maybe tomorrow..

That's great to hear, thank you for letting me know! :highfive:
[Android General] TheDevelopper:
Yup! Sorry i was missed up, thank you man :)
[Android General] Azazel6002:
sorry wrong board
[Android General] AlvyRage:
Hello dear [MENTION=4315551]Ticklefish[/MENTION]

Thanks for your amazing work, and thanks again for this application.

But... I have trouble trying to deodex my "services.jar" file.

I have the whole "framework" folder and build.prop from my phone, did all the steps, and everything was fine till it says that it might be some files that couldn't be deodexed.

I checked the LOG file and it says:

Please help me. My phone is a Samsung J7 2016 (J710MN to be specific), running Android 8.1.0 (stock - rooted).
[Android General] Sm0k3r83:
Would anyone be able to deodex my framework for me please https://drive.google.com/file/d/17ei7vxnjKJI8972Ne2Eghq0peFM41pw9/view?usp=sharing ive included the build.prop and framework folder thanks
[Android General] whalesplaho:
any help on deodexing android 9 PIE.... i tired but shows error!. [MENTION=4315551]Ticklefish[/MENTION]

thanks
[Android General] whalesplaho:
i was able to deodex removing the lines from my build.prop but not all files was deodex especially my services.jar! [MENTION=4315551]Ticklefish[/MENTION]

thanks.
[Android General] Ticklefish:
This is saying that the file failed a checksum. There's nothing I can do about that.

Unless there's a different way to deodex these files, or a way to make VdexExtractor not do a checksum, I wouldn't know how to get past this.

Hopefully somebody out there has come up with something clever and I can use that clever thing in TOAD.

What kind of problem are you having when you try?

Have a look at the error messages in the log to find out why those files weren't deodexed.
[Android General] Sm0k3r83:
Toad just crashes as soon as I open the app on my pc
[Android General] whalesplaho:
Just previous pages for solution...
[Android General] Sm0k3r83:
i keep getting this error when i try to deodex my systemui

Processing file 10 of 11 - "Your_Files\priv-app\OPSystemUI\oat\arm64\OPSystemUI.vdex"

[INFO] Processing 1 file(s) from Your_Files/priv-app/OPSystemUI/oat/arm64/OPSystemUI.vdex

[INFO] 1 out of 1 Vdex files have been processed

[INFO] 0 Dex files have been extracted in total

[INFO] Extracted Dex files are available in 'Tool_Files'

If someone with a better mind would be able to deodex it for me or point me in the right direction i would appreciate it

https://drive.google.com/file/d/1hQZWdiySefZ456EYtQT3Jk0Y0O_KAdFB/view?usp=sharing
[Android General] whalesplaho:
I have checked tha log but noticed it just deodex 23 files out of 200+ files... I dnt know why but it pops an error when about to start dah cannot find boot.oat or so n it continues... Boot.oat is present and toad uses method 28.bat to deodex! Please help [MENTION=4315551]Ticklefish[/MENTION]

---------- Post added at 06:17 AM ---------- Previous post was at 05:34 AM ----------

1 more observation, toad didnt asked if i wanted to deodex framework or not, just said it can deodex my files using method 28.bat and started..... The screen below didnt appeared and i copied my framework folder with build.prop removing other contents leaving ro.build.version and ro.product.cpu.abi.

Thanks [MENTION=4315551]Ticklefish[/MENTION]
[Android General] and2:
So, i could fix the 28.bat to work with samsung pie. But the flash won't work. After a look into the updater-script i don't understand this part

ui_print(" Deleting VDEX/ODEX files for 'com.samsung.device.[COLOR="Red"]vdex[/COLOR]'..");
delete("/system/framework/oat/arm64/com.samsung.device.odex");
delete("/system/framework/oat/arm64/com.samsung.device.vdex");
ui_print(" Adding Deodexed 'com.samsung.device.[COLOR="red"]vdex[/COLOR]'..");
package_extract_file("system/framework/com.samsung.device.[COLOR="red"]vdex[/COLOR]","/system/framework/");
ui_print(" Setting Permissions..");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework/");

Should the red colored vdex not to be jar. This exists for 72 files and for .jar i have 32 hits.
[Android General] Ticklefish:
Whoops... Replied early. Ignore this post!
[Android General] Ticklefish:
Confirmed. I get that error with your file as well.

Unfortunately vdexExtractor isn't actually detailing why it's not processing your file, which isn't too useful.

The best thing I can suggest is logging the issue on the vdexExtractor github here: https://github.com/anestisb/vdexExtractor

Your screenshot isn't working. Could you share your files please? I can try it on my setup and see if I can work out what's going on.

You're right, those lines should say "jar" instead of "vdex".

This is easy enough to change. In 28.bat there are these lines:

echo.ui_print(" Deleting VDEX/ODEX files for '%%b'.."^);>>Tool_Files\META-INF\com\google\android\updater-script
if exist Your_Files\%%a\oat\%TOAD_ABI%\%%~nb.odex (
echo.delete("/system/%%a/oat/%TOAD_ABI%/%%~nb.odex"^);>>Tool_Files\META-INF\com\google\android\updater-script
)
if exist Your_Files\%%a\oat\%TOAD_ABI%\%%~nb.vdex (
echo.delete("/system/%%a/oat/%TOAD_ABI%/%%~nb.vdex"^);>>Tool_Files\META-INF\com\google\android\updater-script
)
echo.ui_print(" Adding Deodexed '%%b'.."^);>>Tool_Files\META-INF\com\google\android\updater-script
echo.package_extract_file("system/%%a/%%b","/system/%%a/"^);>>Tool_Files\META-INF\com\google\android\updater-script

They just need to change to:

echo.ui_print(" Deleting VDEX/ODEX files for '%%[COLOR="Red"]~n[/COLOR]b[COLOR="Red"].jar[/COLOR]'.."^);>>Tool_Files\META-INF\com\google\android\updater-script
if exist Your_Files\%%a\oat\%TOAD_ABI%\%%~nb.odex (
echo.delete("/system/%%a/oat/%TOAD_ABI%/%%~nb.odex"^);>>Tool_Files\META-INF\com\google\android\updater-script
)
if exist Your_Files\%%a\oat\%TOAD_ABI%\%%~nb.vdex (
echo.delete("/system/%%a/oat/%TOAD_ABI%/%%~nb.vdex"^);>>Tool_Files\META-INF\com\google\android\updater-script
)
echo.ui_print(" Adding Deodexed '%%[COLOR="Red"]~n[/COLOR]b[COLOR="Red"].jar[/COLOR]'.."^);>>Tool_Files\META-INF\com\google\android\updater-script
echo.package_extract_file("system/%%a/%%[COLOR="Red"]~n[/COLOR]b[COLOR="Red"].jar[/COLOR]","/system/%%a/"^);>>Tool_Files\META-INF\com\google\android\updater-script

I can make those changes easily enough but you mentioned that you fixed this file so it worked on your rom? What did you do to fix it? Is it something that can be put into the stock file?
[Android General] and2:
Thank you mate.

i changed

1.

Your_Files\framework\%TOAD_ABI%\boot-*.vdex

to

Your_Files\framework\boot-*.vdex

2.

Your_Files/framework/%TOAD_ABI%/boot.vdex

to

Your_Files/framework/boot.vdex

3.

copy Your_Files\framework\!Filename!.jar Tool_Files\system\framework\ >nul
Tool_Files\vdexextractor.exe -i Your_Files/framework/%TOAD_ABI%/%%a -o Tool_Files -f >>log.txt 2>&1

to

copy Your_Files\framework\!Filename!.jar Tool_Files\system\framework\ >nul
Tool_Files\vdexextractor.exe -i Your_Files/framework/%TOAD_ABI%/%%a -o Tool_Files -f >>log.txt 2>&1
Tool_Files\vdexextractor.exe -i Your_Files/framework/%%a -o Tool_Files -f >>log.txt 2>&1

I hope this is right. You had already discussed this with edzamber.
[Android General] whalesplaho:
[MENTION=4315551]Ticklefish[/MENTION] thanks for always rendering selfless help buddy.

Here is tha link; https://drive.google.com/file/d/100eAlvvR405lnO_rJ3CE18oTiK190M4m/view
[Android General] Ticklefish:
I've just uploaded a new version. This gets around the issue with reading the build.prop file.

I've also made some tweaks to the 28.bat batch file so it now detects boot-*.vdex files in the framework folder and processes them if they're there. It seems to be more of a common thing now that these files are in 'framework' and not in 'framework\arm64'. I don't know if this is a deliberate choice or not. It doesn't seem to make any sense to me but that doesn't mean anything at all.

I've tried your files on the latest version and they work without any trouble at all. Can you try them again please?
[Android General] whalesplaho:
Yeah i ll give it a shot for sure bro.. Thanks buddy!!!
[Android General] whalesplaho:
v3.0.5 works good buddy.... Yaay!!
[Android General] Mik-el:
Hi [MENTION=4315551]Ticklefish[/MENTION] , first of all thanks for the software.

I get this error:

E: Error in /sdcard/toad_flashable.zip
(Status 0)
Installation aborted

I created 2 flashable zip: one with deodexed framework and one with non-deodex framework but I always get the same error.

I am using ClockWorkMod 5.0.2.6 on Android 2.3
[Android General] kevintm78:
Try replacing the update binary in the TOAD zip with one from a zip that you know is working.

On a side note- I believe that android versions that are pre Lollipop can be deodexed by titanium backup. It's been a long time so I don't quite remember the process but I know there's a guide for it somewhere here on XDA.
[Android General] Mik-el:
Wow! Thank you. Nice idea, I'll try and let you know.

Actually I'm trying to deodex 2-3 apks from a stock rom to install them in my custom rom.

Since the flashable zip generated by toad didn't work I tryed this:

---I extracted the apks from the zip.

---My phone refused to normally install them, so

---I copied the apks in my "system/app folder" (with correct permissions). Should this method work the same? Because one apk works perfectly while the other gives me "The application Music (process com.android.music) has stopped unexpectedly"

I didn't know this. Thanks for the info. I tryed deodexing also with two different versions of apktool but it doesn't start on my Gingerbread and Nougat devices, apparently it starts only on a 4.0.1 device.
[Android General] kevintm78:
Yeah, copying to the system and setting the permissions should work. Try to capture a log when the music app is crashing maybe there's something else missing that it needs
[Android General] Mik-el:
Woah! Usually I browse xda using the old 2013 layout so the download section for this thread was not showed. Not finding the download from the "link above" I downloaded Toad searching for it on google. I downloaded v1.0 and I correctly used it!

Now, using the new web page layout instead, I can see the new version (v3.0). I downloaded it but it didn't work. When I double click on toad I just have a blinking underscore in the main window and the program closes. I am using Windows 8.1 64bit... That's very strange considering that v1,0 works!
[Android General] whalesplaho:
[MENTION=4315551]Ticklefish[/MENTION], i just tried to use smali magisk patcher to patch services.jar, it says error! Needs to be deodexed...... Im surprised. Any help please!!!
[Android General] Ticklefish:
Version 1.0 and version 3.0 use some different code and it's not impossible one of the changes in the latest version is causing an issue with your setup.

Are you able to run the program from inside a command prompt? That way, when it closes, the whole window doesn't close and there'll be an error message displayed on the screen.

Have you tried deodexing your services.jar with TOAD?
[Android General] Mik-el:
Thanks for the reply!

I opened Toad 3.0 from a terminal with administrator privileges. I get "20. non atteso" that in english means "20. unexpected"... :(
[Android General] whalesplaho:
[MENTION=4315551]Ticklefish[/MENTION] yeah i did n ot created a flashable zip file and took services.jar from it.

Thanks...
[Android General] whalesplaho:
[MENTION=4315551]Ticklefish[/MENTION] bro, still waiting for your response and help please... Thanks man!
[Android General] Ticklefish:
Whoops. Didn't see that post. I'll have a dig through the code and see if I can work out what's going on.

Sorry, I thought you'd said that you had deodexed your file. Was it actually deodexed? Does it have the dex files in it? Did you remove the relevant odex/vdex files?
[Android General] whalesplaho:
When i deodexed, it works and was successful.... Buh wen i used tha services.jar from tha toad flashable zip created in smalipatcher, it shows not deodexed..... There was no vdex/odex files in tha toad flashable zip created.
[Android General] Ticklefish:
There wouldn't be...

I'm not that familiar with smali patcher but it looks like it's supposed to work on the services.jar that's currently in your phone. Have you flashed the ZIP that TOAD made? Or have you replaced the JAR manually? Is the ODEX/VDEX file still in the framework folder? Does the new JAR definitely have the DEX files inside it?
[Android General] whalesplaho:
I didnt flashed any zip to my fone bro. Tha point is im using smalipatcher to patch services.jar to disable signature enforcement..... Tha smalipatcher app uses deodexed services.jar to create a magisk module flashable zip to flash on tha fone.... So wah i did was to use TOAD to deodexed my framework folder and i drag deodexed services.jar from tha TOAD flashable zip created to tha smalipatcher app buh it pops error dah tha services.jar isnt deodexed..... Here is smalipatcher thread, https://xdaforums.com/apps/magisk/module-smali-patcher-0-7-t3680053

Thanks bro.... Appreciate yur help always!
[Android General] Ticklefish:
Hmm. I'm not sure then. Does the file have the DEX files inside it?
[Android General] whalesplaho:
Tha ones i copied to tha Your files folder did buh in tha Toad flashable zip created, none except tha jar files.
[Android General] whalesplaho:
i just tried v4.3 of tha smali patcher now & it works....... thanks for toad!
[Android General] Degani:
Can someone help me?

I keep getting this error:

Processing file 273 of 293 - "Your_Files\framework\arm64\boot.oat\/system/framework/QPerformance.jar"

[ERROR] [19464] 2019/03/29 10:59:16 (utils.c:118 utils_init) Couldn't stat the input file/dir 'Your_Files/framework/arm64/boot.vdex': No such file or directory

[FATAL] [19464] 2019/03/29 10:59:16 (vdexExtractor.c:159 main) Couldn't load input files

ERROR EXTRACTION FAILED

I just need to deox my services.jar

:(
[Android General] Ticklefish:
Excellent! I was starting to drive myself crazy thinking what the problem could be..

Hmm. It's trying to find your boot.vdex file but can't see it where's it's expected. I have a suspicion about this. Could you share your framework folder and build.prop please?
[Android General] Degani:
https://ufile.io/y79rq

they are there
[Android General] Heliochrome:
Hello [MENTION=4315551]Ticklefish[/MENTION], thanks for the tool

I have a similar issue to Mich-C, when i use the tool version v3.0.0.4 and 3.0.0.5 that it says "( was unexpected at this time"

and when i try v2.0.1.0 i get "(goto was unexpected at this time" and then they force close. Both 64 bit. Windows 10 b1703

I am trying to deodex sdk 22 x86 device cpu abi x86 and abilist x86,armeabi-v7a,armeabi.

The thing is when i put the build.prop from my phone sdk26 arm64 device it suggests 26.bat and asks yes or no.

Am i doing something wrong? Can you help me out? Thanks alot for your time...

Edit:When i try the smalipatcher adb patch it says "unsupported oat version: 48" i guess im out of luck.

I can oat2dex but baksmali doesnt work because of this. And when i rename the .dex files to classes.dex, put it into .jar of the same name and push them to device then set the permissions, delete the odex files it gets stuck on boot screen, anything i can do to solve this?