[Captivate Themes and Apps] tsachi:
Expanded Information

Introduction

The link in OP gives you instructions on how to replace images, but it lacks information for the inexperienced themer. Here is some background information and some more details on the steps before and after you insert new images in your framework.

System Icons and background images sit in two main files: framework-res.apk and twframework-res.apk. Within these files there is a res directory, and under that you have the folders containing data. Google has guidelines on icon design, although themers usually ignore those in order to get a different from stock look. One thing you would notice is that there are a lot of repeated icons. For example, framework-res.apk has both drawable-hdpi and drawable-hdpi-v4. The first is there for compatibility with older APIs (anroid 1.6 or older) so I am not sure why it is still there, but if you remove it your phone will not like it.

Each application has its own res folder where the launcher icon and other visuals are kept. There are, however, a lot of applications that reference the framework.apk for visuals. An example is the dialer that calls on some background images from both framework-res and twframework-res.

There are 2 types of images that you would encounter. Normal icons and images are non-scalable. They take a certain amount of real estate on the phone, and that’s it. Example of these are the battery levels and notification icons. The other type is the .9 images. These are images that are going to be stretched to fit whatever space is needed. An example of that are the menu backgrounds. The .9 images have a special format. The one pixel border around them defines how they stretch and how content is displayed in them. It is highly recommended to follow the standards in order to get repeatable and consistent look. Android SDK has a tool to help with .9 file design: draw9patch.bat.

Important note: The .9 files show the borders ONLY when de-compiled. If you grab a file from the framework directly you will not see that line. It is therefore required to compile the .9 files after you make them. You can use apk manager or ThemePro-JAVA to recompile the framework apk after modifying the files.

Definitions for which image is used where sit in the xml files under the drawable folder. These are compiled xml files, you can’t edit them with a text editor. For this introduction I will not go into modifying xml files. Each apk also has a resources file that describes what is in there. If you add, remove, or rename files in the apk you will have discrepancy with the resource file and the theme will not work (more likely you will be stuck in an infinite bootup loop)

Before you start:

Warning: frameworks are highly linked with other files. You can’t just take a framework from one ROM and put it in another. Always keep a backup of the original files ready to be installed (see below), otherwise you may need to re-flash the ROM. Frameworks are also sensitive to compression. DO NOT use winzip to handle the files, it can cause problems with the final apk file.

There are several things you would need before you start

A rooted phone

SDK installed on the computer

A zip handling software other than winzip (winRAR and 7-zip are both good options)

Auto-sign (http://xdaforums.com/showthread.php?t=471634) or signing tool (http://xdaforums.com/showthread.php?t=473580)

Create a backup

Grab the framewor

k-res.apk and twframework-res.apk from your phone. They are located in the system/framework folder. You would need them as a starting point for your modification and you need them for a backup

Create a clockwork installation file of the original files (see post below)

Name the installation framework-original.zip, or something else that would be easily recognized in

case of trouble, and then copy it to your internal sd card.

After you are done modifying files

Create an installation file (see post below)

Give the file a name that is easy to recognize and copy it to your internal sd card

Reboot into recovery

Select install zip from card -> choose zip from sdcard

Select the installation of the new framework and confirm the installation

Reboot

If you are stuck in an infinite boot-up cycle

Take the battery out

Using 3-key combination boot into recovery (up-down volume + power. Hold until the AT&T screen cycles back, then release)

Install your original framework backup and reboot