I'm trying to deodex a system file (/system/framework/arm/services.odex) as I need to modify it.

I've tried every possible commands found online, but

  • baksmali complains for "unsupported oat version: 45"
  • oat2dex complains for "oat header checking.. : FAIL"

What I need is to find the source which is responsible to print this line into Logcat:

07-30 14:00:23.704 970-970/? D/FmReceiverService: onReceive:ACTION_AIRPLANE_MODE_CHANGED

First I decompiled /system/app/Radio3/Radio3.apk, but it doesn't have FmReceiverService.

Then I found out there is a "service" via service list:

fm_receiver: [com.stericsson.hardware.fm.IFmReceiver]

This might be the one contains the above log, and I found a services.odex in /system/framework/arm.

But this particular file I'm not able to properly deodex, and therefore I can't investigate it.

Please give me some hints on how can I do this, it's a pretty old architecture, and I can't believe there is no way for doing this :)

Thank you.

  • Have you read the comment in this issue about why oat version: 45 can't be properly decoded? Most likely this is the problem with all the available oat processing tools. You should better write why you want to modify services.odex, may be there are other ways to achieve what you want without modifying this file.
    – Robert
    Aug 1 '21 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.