Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As far as I understand it, it is a big system file that apparently controls a big part of the phone. I am interested because I wanted to do some themeing and so far I had edited SystemUI.apk, but if I ever ran into any problems (and being a beginner that was bound to happen) nothing seemed to happen other than the fact that I lost my notification bar.

Problem is, I have heard of some people who touched framework-res.apk and they wound up not being able to even boot their phone. I decided before carelessly poking around with something that could potentially soft brick my phone, I would like to learn a bit more about it.

So what exactly is framework-res.apk? What is it used for? What does it control? Where do we visually see its use? What could potentially happen to my phone should something go amiss with framework-res? Anything else I should know before poking my nose where it shouldn't be?

share|improve this question

Framework-res.apk basically contains the elements of the Graphical User Interface for the phone. This file is available at /system/framework/framework-res.apk.

Poking in this file would mean changing the complete look and feel of your device. Since it is the main element of your screen, replacing it directly by pushing it through ADB would lead to soft-brick. Therefore, this apk should carefully be modified and replaced using the recovery module of the phone.

Check this link for details on the same: Modifying the framework-res.apk (Theming the UI)

share|improve this answer

From my coding experience, I can say the following as my understanding:

If you are familiar with application development terminologies, this framework-res.apk is just a resource library. Continuing with that assumption, other modules, libraries depend on this file to get images, sound etc. For example the boot animation sound is embedded in this file. Every resource will generally be given an identifier through with the other modules load and they will just assume or take it for granted that such resource will be available in this file.

Generally there will be a manifest file which will index all the resources (images, sounds etc) against its identifier. The code segments that maps the resources against its identifier and that fetches the requested resource will be compiled against one platform/version/library and hence tweaking and recompiling if not done carefully will make the framework-res.apk incompatible with its consuming modules. Depending on how things are implemented, you would get away with an error, but developers can't expect to verify everything and they have to take certain things for granted (like presence of a resource as it is they who had planted it). Hence usually the consuming module freezes and hence the whole phone appears to be frozen as system modules as well depends on this apk.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.