Difficulty Level: Beginner-Intermediate
Introduction
This guide will teach you how to to proceed about theming the basic parts of a ROMROM is literally “read-only memory” but its usage has changed over time. Today ROM can refer to the non-volatile area of a device’s flashFlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. FlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. memory on which read-only data resides or the packed image to be written to that flashFlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. FlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. area.
First up, learn to use GIMP/Photoshop very very well. You just cannot live without it if you want to create a themeA set of properties (text size, background color, and so on) bundled together to define various default display settings. Android provides a few standard themes, listed in R.style (starting with “Theme_”)..
Next, have a basic idea how Android styles are defined in the XML format. ( Android Developer Site )
Now, the next stage is actually modifying parts of the system graphics. Most of the images are in /system/app/SystemUI.apk and /system/framework/framework-resNonprogrammatic application components that are external to the compiled application code, but which can be loaded from application code using a well-known reference format. Android supports a variety of resource types, but a typical application’s resources would consist of UI strings, UI layout components, graphics or other media files, and so on. An application uses resources to efficiently support localization and varied device profiles and states. For example, an application would include a separate set of resources for each supported local or device type, and it could include layout resources that are specific to the current screen orientation (landscape or portrait). The resources of an application are always stored in the res/* subfolders of the project..apk. You can get these apks by connecting your phone in USB Debugging mode, and typing the following commands in a terminal.
|
|
adb pull /system/app/SystemUI.apk adb pull /system/framework/framework-res.apk |
Next, its time to decompile them. There are various decompiling/building tools available out of which the most used is “apktool” ( APKTool HomePage ). If you’re on Windows, AndroidSuite is a pretty productive tool for compiling/decompiling ( XDA Thread ).
APktool requires you to install these packages to the local system so that apktool can use the resourcesNonprogrammatic application components that are external to the compiled application code, but which can be loaded from application code using a well-known reference format. Android supports a variety of resource types, but a typical application’s resources would consist of UI strings, UI layout components, graphics or other media files, and so on. An application uses resources to efficiently support localization and varied device profiles and states. For example, an application would include a separate set of resources for each supported local or device type, and it could include layout resources that are specific to the current screen orientation (landscape or portrait). The resources of an application are always stored in the resNonprogrammatic application components that are external to the compiled application code, but which can be loaded from application code using a well-known reference format. Android supports a variety of resource types, but a typical application’s resources would consist of UI strings, UI layout components, graphics or other media files, and so on. An application uses resources to efficiently support localization and varied device profiles and states. For example, an application would include a separate set of resources for each supported local or device type, and it could include layout resources that are specific to the current screen orientation (landscape or portrait). The resources of an application are always stored in the res/* subfolders of the project./* subfolders of the project. from them during the decompile/build process. This can be done by executing the following command
|
|
java -jar apktool.jar -if framework-res.apk java -jar apktool.jar -if SystemUI.apk |
For decompiling using apktool use the following command in the terminal
|
|
java -jar apktool.jar -d <apk-name-here-with-extention> |
After you’ve decompiled the apk, study it. Study the images, the XML files. Get to know how the things are working. Then, modify what you need to. Modify the images using GIMP or Photoshop.
You cannot use regular image editing techniques on *.9.png files, as these require special handling in order to preserve their transparency. Refer to a guide to working with nine-patchA resizeable bitmap resource that can be used for backgrounds or other images on the device. files for more information
Notepad++ is a very nice XML editor in Windows, in Linux there’s gedit or Kate. After you’re done with the modifications, now is the time to recompile the apk. Recompile using apktool using the following command
|
|
java -jar apktool.jar -b <apk-name-here-without-extension> |
Then, if it a system apk, you’re done. Push it back to the system or create flashableFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. ZIP and flashFlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. FlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. it. If its not a system apk, you’re not done yet. Sign the apk and then flashFlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. FlashingFlashing is the process of writing data to the internal memory on your phone. Normally, you would flash a ROM image to the phone, which would give you a different version of system software on your phone. Flashing can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. can also refer to updating/writing to any of the other parts of the phone, such as the SPL, Radio etc. or push it.