Anyone successfully deodex stock oreo systemUI?

Pain-N-Panic

Senior Member
Mar 24, 2013
1,624
527
143
Droid
I'd like to get 3minit battery mod on my pixel XL. I'm rooted and on the latest Oreo October build.

On my 6p running 7.1.2 I was able to deodex the systemui so I could decompile smali code and make the required edits.

On Oreo in the GoogleSystemUI folder not only do I find the apk and odex files but now there's a googlesystemUI.vdex.

From the little I could find on the web, the vdex file is just the dex code. I have no idea where to start with deodexing the app now that I have this vdex file in there.

Any tips or tutorials out there on how to deodex Oreo system apps?

Thanks!
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
I'd like to get 3minit battery mod on my pixel XL. I'm rooted and on the latest Oreo October build.

On my 6p running 7.1.2 I was able to deodex the systemui so I could decompile smali code and make the required edits.

On Oreo in the GoogleSystemUI folder not only do I find the apk and odex files but now there's a googlesystemUI.vdex.

From the little I could find on the web, the vdex file is just the dex code. I have no idea where to start with deodexing the app now that I have this vdex file in there.

Any tips or tutorials out there on how to deodex Oreo system apps?

Thanks!
I know it's been a few months but I was wondering if you've been able to deodex your files?

I have a theming tool that can, in theory, deodex Oreo but I don't have a phone with Oreo on to test it with. If you're willing, it'd be great if you could give it a try..

Sent from my Sony Xperia XA1 using XDA Labs
 
  • Like
Reactions: Pain-N-Panic

Pain-N-Panic

Senior Member
Mar 24, 2013
1,624
527
143
Droid
I know it's been a few months but I was wondering if you've been able to deodex your files?

I have a theming tool that can, in theory, deodex Oreo but I don't have a phone with Oreo on to test it with. If you're willing, it'd be great if you could give it a try..
Are you speaking of Tickle My Android? If you are, I sure do have it and will gladly try. I was under the impression it couldn't be done on Oreo yet but I can give it a shot.

Also, @Ticklefish, I found a guide you wrote years ago on XML editing. I've read it probably fifty times now, it's been really good to me in learning how to theme my own device. Just wanted to say thanks!
 
  • Like
Reactions: Ticklefish

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Are you speaking of Tickle My Android? If you are, I sure do have it and will gladly try. I was under the impression it couldn't be done on Oreo yet but I can give it a shot.

Also, @Ticklefish, I found a guide you wrote years ago on XML editing. I've read it probably fifty times now, it's been really good to me in learning how to theme my own device. Just wanted to say thanks!
I do mean TMA, yes. Always good to see somebody using it! I've been doing research into the VDEX files that were introduced with Oreo and I think I've got a solution for them. I just need somebody who actually has an Oreo rom to try it out.

And I'm glad you find the guide useful. That's exactly what I wrote it for. I'm very happy now!

Sent from my Sony Xperia XA1 using XDA Labs
 

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
I do mean TMA, yes. Always good to see somebody using it! I've been doing research into the VDEX files that were introduced with Oreo and I think I've got a solution for them. I just need somebody who actually has an Oreo rom to try it out.

And I'm glad you find the guide useful. That's exactly what I wrote it for. I'm very happy now!

Sent from my Sony Xperia XA1 using XDA Labs
Hey, @Ticklefish! Gave it whirl on Oreo 8.1 but no luck. It just cannot be deodexed at this time it seems. I've tried lots of different methods but no luck. I'm going to try 8.0 next. I have been able to deodex that.

Edit: Looks like it handled 8.0 just fine. I just deodexed the priv-app folder but it looks good.
 

Attachments

Last edited:

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Hey, @Ticklefish! Gave it whirl on Oreo 8.1 but no luck. It just cannot be deodexed at this time it seems. I've tried lots of different methods but no luck. I'm going to try 8.0 next. I have been able to deodex that.

Edit: Looks like it handled 8.0 just fine. I just deodexed the priv-app folder but it looks good.
Thanks for that, that's very handy. Is it possible you could share your 8.1 files please?
It looks like it falls over with the first file in the framework folder. The program appears to deodex it once..and then try to deodex it again. The problem is that when the first deodex happens, the original odexed file is deleted. So if it tries to deodex it a second time, there's nothing there to process.

This may be connected to 8.1 or it may be something I need to fix in the code.

Sent from my Sony Xperia XA1 using XDA Labs
 
  • Like
Reactions: Pain-N-Panic

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
Thanks for that, that's very handy. Is it possible you could share your 8.1 files please?
It looks like it falls over with the first file in the framework folder. The program appears to deodex it once..and then try to deodex it again. The problem is that when the first deodex happens, the original odexed file is deleted. So if it tries to deodex it a second time, there's nothing there to process.

This may be connected to 8.1 or it may be something I need to fix in the code.

Sent from my Sony Xperia XA1 using XDA Labs
I will give you the files as soon as possible. There was more to it than it stopping though. The files that were supposed to have been deodexed, wasn't. The odex files were gone but the apks we're not deodexed.
 
  • Like
Reactions: Pain-N-Panic

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
Thanks for that, that's very handy. Is it possible you could share your 8.1 files please?
It looks like it falls over with the first file in the framework folder. The program appears to deodex it once..and then try to deodex it again. The problem is that when the first deodex happens, the original odexed file is deleted. So if it tries to deodex it a second time, there's nothing there to process.

This may be connected to 8.1 or it may be something I need to fix in the code.

Sent from my Sony Xperia XA1 using XDA Labs
There is a report on Jesusfreaks smali about the out of bounds error when trying to deodex 8.1. Google just released the sources for Android 27 so that should help. I also get an out of bounds error when trying to unpack Pixel 2 and Pixel 2 xl system.imgs

Here are the system files for Pixel 8.1
https://www.androidfilehost.com/?fid=673791459329068735
 
  • Like
Reactions: Ticklefish

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
There is a report on Jesusfreaks smali about the out of bounds error when trying to deodex 8.1. Google just released the sources for Android 27 so that should help. I also get an out of bounds error when trying to unpack Pixel 2 and Pixel 2 xl system.imgs

Here are the system files for Pixel 8.1
https://www.androidfilehost.com/?fid=673791459329068735
Thanks, I'll take a look. Sorry for the delay..Xmas was crazy..
 
  • Like
Reactions: Pain-N-Panic

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
There is a report on Jesusfreaks smali about the out of bounds error when trying to deodex 8.1. Google just released the sources for Android 27 so that should help. I also get an out of bounds error when trying to unpack Pixel 2 and Pixel 2 xl system.imgs

Here are the system files for Pixel 8.1
https://www.androidfilehost.com/?fid=673791459329068735
There doesn't seem to be anything in your framework folder at all...
 

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
There doesn't seem to be anything in your framework folder at all...
Sorry about that. I must have moved them instead of copying them. I'm extracting them again. I'll upload the framework folder in a bit.

---------- Post added at 10:37 AM ---------- Previous post was at 09:51 AM ----------

There doesn't seem to be anything in your framework folder at all...
Here you go!

https://www.androidfilehost.com/?fid=673791459329070410
 
  • Like
Reactions: Ticklefish

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
Sorry about that. I must have moved them instead of copying them. I'm extracting them again. I'll upload the framework folder in a bit.

---------- Post added at 10:37 AM ---------- Previous post was at 09:51 AM ----------



Here you go!

https://www.androidfilehost.com/?fid=673791459329070410
Thanks for that. I'll check it out next year.. ;)


Hey, @Ticklefish! Gave it whirl on Oreo 8.1 but no luck. It just cannot be deodexed at this time it seems. I've tried lots of different methods but no luck. I'm going to try 8.0 next. I have been able to deodex that.

Edit: Looks like it handled 8.0 just fine. I just deodexed the priv-app folder but it looks good.
Did your deodexed priv-app folder work? I've been reading more about vdex files and I think I may have got things the wrong way round.

Sent from my Sony Xperia XA1 using XDA Labs
 

Ticklefish

Recognized Themer
Oct 27, 2011
6,743
8,533
263
Hampshire, UK
It worked on 8.0...
That's good to know. And yet, somehow, a little confusing.

I think, from what I understand of Google's documentation, that VDEX files now contain all the classes.dex information from 8.1 onwards. In the files you kindly shared, the ODEX files are all the same size in "framework\oat\arm64" and the VDEX files are lots of different sizes.
This seems to be backed up by this issue on smali's GitHub: https://github.com/JesusFreke/smali/issues/579

Unfortunately it looks like we have to wait for smali and baksmali to be updated to cope with VDEX files before we can deodex 8.1.

As for TMA...well, that's not really what this thread is about but I'll be updating the code now so it actually reports the error that it was experiencing..
 

Tulsadiver

Recognized Contributor
Jul 11, 2013
7,797
5,509
253
That's good to know. And yet, somehow, a little confusing.

I think, from what I understand of Google's documentation, that VDEX files now contain all the classes.dex information from 8.1 onwards. In the files you kindly shared, the ODEX files are all the same size in "framework\oat\arm64" and the VDEX files are lots of different sizes.
This seems to be backed up by this issue on smali's GitHub: https://github.com/JesusFreke/smali/issues/579

Unfortunately it looks like we have to wait for smali and baksmali to be updated to cope with VDEX files before we can deodex 8.1.

As for TMA...well, that's not really what this thread is about but I'll be updating the code now so it actually reports the error that it was experiencing..
Ticklefish, I have managed to deodex the vdex files for 8.1 using a vdex extractor on GitHub. It is Linux based though.
https://github.com/anestisb/vdexExtractor
 
  • Like
Reactions: Ticklefish