Anyone successfully deodex stock oreo systemUI?

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
As far as I can tell. 3minit mod is working great as well as internet speed indicator. Only one smali class now where there used to be two.
Excellent news. So it is the VDEX file that has the relevant code in it in 8.1! :highfive:

Now all I need is some tool that can decode them from the Windows command line and I can automate the process. Hopefully smali and baksmali will be updated soon.
 
  • Like
Reactions: joeyhuab

joeyhuab

Recognized Developer
Nov 5, 2012
2,924
11,851
203
26
Antipolo
evolution-x.org
Wow. This conversation is very promising. As I was looking to tinker around with an odexed/vdexed DocumentsUI app from 8.1 so I can insert it in a deodexed ROM, I dropped by and happen to see your topic. Seems like the timing is right. Hoping smali and baksmali will support vdex files as well.
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
So VdexExtractor is now working as expected and Android 8.0 & 8.1 can be deodexed... @superr has even added kitchen support.

I am not working on a Pixel device, I am on the HTC U11.... It appears that the changes introduced in Android O prevent dex2oat building the dalvik-cache.

Are you guys facing the same challenges?
I don't have Oreo yet, sadly. Unfortunately I think I may have chosen the wrong phone for modding purposes..
But it's interesting to see that VdexExtractor works. Now all I need is something that will work on Windows..

Sent from my Sony Xperia XA1 using XDA Labs
 

LeeDroid

Recognized Developer
Jan 13, 2007
28,850
45,642
0
Newton Aycliffe
www.leedroid.co.uk
I don't have Oreo yet, sadly. Unfortunately I think I may have chosen the wrong phone for modding purposes..
But it's interesting to see that VdexExtractor works. Now all I need is something that will work on Windows..
There is a vdexExtractor for Windows & a version of Superrs kitchen for Windows..

I just hope we can get dex2oat working as it used to on Nougat :-/
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
There is a vdexExtractor for Windows & a version of Superrs kitchen for Windows..

I just hope we can get dex2oat working as it used to on Nougat :-/
I haven't been able to find a VdexExtractor for Windows. Could you please link to it? It's possible I'm being stupid and just can't see it.

About this dex2oat business..so you deodex, wipe the vdex and the odex files, wipe the Dalvik cache and Android doesn't rebuild it? Have I got that right?

Sent from my Sony Xperia XA1 using XDA Labs
 

LeeDroid

Recognized Developer
Jan 13, 2007
28,850
45,642
0
Newton Aycliffe
www.leedroid.co.uk
I haven't been able to find a VdexExtractor for Windows. Could you please link to it? It's possible I'm being stupid and just can't see it.

About this dex2oat business..so you deodex, wipe the vdex and the odex files, wipe the Dalvik cache and Android doesn't rebuild it? Have I got that right?
Not sure who built it so can't credit accordingly but here it is..

https://www.dropbox.com/s/cbqs5e8nwytk676/vdexExtractor.exe?dl=0

Yes exactly, on the front of it it appears that dex2oat doesn't have the correct permissions to write to the directory.

Caches are built fine until framework is deodexed, then it all goes wrong, I am currently running partially deodexed, app priv-app & services.jar
 
  • Like
Reactions: Ticklefish

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Not sure who built it so can't credit accordingly but here it is..

https://www.dropbox.com/s/cbqs5e8nwytk676/vdexExtractor.exe?dl=0

Yes exactly, on the front of it it appears that dex2oat doesn't have the correct permissions to write to the directory.

Caches are built fine until framework is deodexed, then it all goes wrong, I am currently running partially deodexed, app priv-app & services.jar

Thanks for the link. Sorry for taking so long to reply - it's been really busy at work.


It doesn't look like baksmali's compatible with 8.1 yet and there's no news about this cache issue. Guess we need to be patient...not an easy task!
 

LeeDroid

Recognized Developer
Jan 13, 2007
28,850
45,642
0
Newton Aycliffe
www.leedroid.co.uk
Thanks for the link. Sorry for taking so long to reply - it's been really busy at work.


It doesn't look like baksmali's compatible with 8.1 yet and there's no news about this cache issue. Guess we need to be patient...not an easy task!
I have worked around the cache issue by patching sepolicy & allowing zygote to access dalvik cache.. arm64 still doesn't build until the 2nd boot, I have added a script that executed on boot complete to auto reboot if arm64 is empty.. loads of fun but it's running perfectly!

The next challenge is apktool handling private attributes, having to do some very messy patching to mod systemui xmls
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Time to resurrect an old thread..

Thanks to the files kindly shared by @Tulsadiver, I've been able to update my theming tool so it can now deodex 8.1 roms.
This post isn't to advertise that though, it's more of an observation. The layout for Oreo 8.1 seems to be full of redundant files and I'm not convinced that there isn't something else going on..

The whole point of VDEX files, from what I understand, is that they are read by Android when you do an OTA update and it speeds up the process of preparing your system apps for the new rom.
Which does raise the question of why the ODEX files are still in the rom. Surely if "Verified" DEX files are quicker to process, there'd be no need for "Optimised" DEX files? And why is there still a boot.oat when all the core framework files have their own individual "boot-*" VDEX and ODEX files?

I'm no expert when it comes to software, the days when I understood what computers did have long since gone, but this doesn't make any sense to me. I'm sure Google know what they're doing but I don't get why they'd deliberately take up more space with extra files..:confused:

Oh well..rant over for now. I'm sure Android P will make things even more confusing..
 

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
Time to resurrect an old thread..

Thanks to the files kindly shared by @Tulsadiver, I've been able to update my theming tool so it can now deodex 8.1 roms.
This post isn't to advertise that though, it's more of an observation. The layout for Oreo 8.1 seems to be full of redundant files and I'm not convinced that there isn't something else going on..

The whole point of VDEX files, from what I understand, is that they are read by Android when you do an OTA update and it speeds up the process of preparing your system apps for the new rom.
Which does raise the question of why the ODEX files are still in the rom. Surely if "Verified" DEX files are quicker to process, there'd be no need for "Optimised" DEX files? And why is there still a boot.oat when all the core framework files have their own individual "boot-*" VDEX and ODEX files?

I'm no expert when it comes to software, the days when I understood what computers did have long since gone, but this doesn't make any sense to me. I'm sure Google know what they're doing but I don't get why they'd deliberately take up more space with extra files..:confused:

Oh well..rant over for now. I'm sure Android P will make things even more confusing..
Kind of the opposite they did before. The vdex files were in along with the odex files for quite a while before they were used.
 

EMSpilot

Recognized Themer
May 31, 2012
1,096
2,054
153
Havasu
Time to resurrect an old thread..

Thanks to the files kindly shared by @Tulsadiver, I've been able to update my theming tool so it can now deodex 8.1 roms.
This post isn't to advertise that though, it's more of an observation. The layout for Oreo 8.1 seems to be full of redundant files and I'm not convinced that there isn't something else going on..

The whole point of VDEX files, from what I understand, is that they are read by Android when you do an OTA update and it speeds up the process of preparing your system apps for the new rom.
Which does raise the question of why the ODEX files are still in the rom. Surely if "Verified" DEX files are quicker to process, there'd be no need for "Optimised" DEX files? And why is there still a boot.oat when all the core framework files have their own individual "boot-*" VDEX and ODEX files?

I'm no expert when it comes to software, the days when I understood what computers did have long since gone, but this doesn't make any sense to me. I'm sure Google know what they're doing but I don't get why they'd deliberately take up more space with extra files..:confused:

Oh well..rant over for now. I'm sure Android P will make things even more confusing..
So your version 15.4.0 will deodex 8.1?
Cheers
EMS
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Just tried to download from the link to AndroidFileHost

https://androidfilehost.com/?fid=5862345805528047301

And Windows antivirus reports that it contains a trojan Win32/Vigorf.A

It know this could be a false positive, but I rarely get false positives with the Microsoft antivirus, so I'm a bit suspicious in this case
Some AV programs get a bit upset with the way that the EXE is constructed. I'm turning a BAT into an EXE and this can sometimes cause false positives.

But you don't have to take my word for it. I'm pretty sure that the file has no malware in it but I would say that if I was up to no good. I reckon you'll be safe but you'll have to use your own judgement. Malware is horrible stuff these days..:eek:
 

an-_-dro

Senior Member
Dec 28, 2012
438
185
0
Los Fabulous
I have worked around the cache issue by patching sepolicy & allowing zygote to access dalvik cache.. arm64 still doesn't build until the 2nd boot, I have added a script that executed on boot complete to auto reboot if arm64 is empty.. loads of fun but it's running perfectly!

The next challenge is apktool handling private attributes, having to do some very messy patching to mod systemui xmls
i have similar problem on android Pie A6+, every reboot always rebuild cache. I also partially deodexed (only services.jar), because if framework.jar deodexed it will prevent to boot.
have you solution for this Sir? or can you share the scipt that you use for this workaround? thanks in advance.