[Desire HD Themes and Apps] sopL87:
Complete guide to SKINs for Sense 2.0

Rule: Now remember: if you want post result of your work (modified skin) you MUST have permission to use .png's from person who originally created them or also from me (if you are using png's from one of my skins in this thread). If you are only modifying skins for personal use, you can use what you want without asking anybody.

Note1: I'm using Windows 7 32 Bit PC, so tutorial is written for this platform. In "[]" are my comments. If you seeing "" you're not writing it, only sentence between them.

Note2: If you want relese skin, post it, and I will create link to your post in my second post, over tutorial.

Note3: If anybody would have any problems or will find any bug in my tutorial - post it.

So, you have awesome idea for a skin for Desire HD, but you don't know how to build it? Here is your answer:

Download & install 7zip.

Download & install Java Development Kit (JDK) & Java Runtime Environment (JRE): http://www.oracle.com/technetwork/java/javase/downloads/index.html

Download & install Android Software Development Kit (SDK): http://developer.android.com/sdk/index.html

Download Auto-sign.zip by Dave Da illest 1: http://www.mediafire.com/download.php?uwzjjydnm2r

Download Apktool by Brut.alll: http://code.google.com/p/android-apktool/downloads/list

I. Installation of Auto-sign:

1. Unpack Auto-sign.zip to any folder and you're done.

II. Installation of Apktool:

1. Unpack: "apktool-install-windows-2.2_r01-3.tar.bz2" and "apktool1.3.2.tar.bz2" to "C:/Windows" directory.

2. Pull from your Desire HD: framework-res.apk and com.htc.resources.apk. They are in "root/system/framework" directory. Save them on your PC.

3. Place com.htc.resources.apk in "C:/Users/'your name'/" directory.

4. Open terminal/command line [Start->Run->type "cmd"->press <enter>] and type "apktool", press <enter>. Then you should see usage help.

5. Write: "apktool if com.htc.resources.apk DesireHD" [There should be created directory "C:/Users/"your name"/apktool/framework" and 2 apk files in it].

III. We will start with modifying standard, HTC made Slate skin. First, we must pull Slate.apk from "root/system/app" folder. In this directry there are also skis: Metal.apk, Wood.apk, Blackboard.apk.

1. Extract pulled Slate.apk with 7zip. [Right mouse button click on skin .apk, from menu choose: 7zip->Extract to "Slate\"]. Now you can edit/replace all .png's stored in "Slate/res/drawable-hdpi; drawable-port-hdpi; drawable-land-hdpi".

2. Place pulled original Slate.apk in "C:/" directory.

3. In command line write: "apktool d -f -t DesireHD C:/Slate.apk".

4. There should be created directory "C:/Users/"your name"/Slate".

5. Editing name of skin, colors, and other miscellaneous things [in decompiled .xml files]:

a. Name of skin: with notepad we are editing AndroidManifest.xml in "C:/Users/"your name"/Slate" folder.

-line: <manifest android:hasCode="false" android:versionCode="8" android:versionName="2.2" package="com.htc.skin.Slate"

change to: <manifest android:hasCode="false" android:versionCode="8" android:versionName="2.2" package="com.htc.skin."your name of skin without spacebar""

with notepad we are editing strings.xml in "C:/Users/"your name"/Slate/res/values" folder.

-line: <string name="skin_name">Slate</string>

change to: <string name="skin_name">"your name of skin"</string>

b. Colors: with notepad we are editing colors.xml in "C:/Users/"your name"/Slate/res/values" folder. [Colors of specified areas of Sense UI are in HTML code. You can check and edit them with help of some sites].

c. Flipping of clock and screen indicator courve line: with notepad we are editing integers.xml in "C:/Users/"your name"/Slate/res/values" folder.

-line: <integer name="clockwidget_flip">1</integer> means that clock will flip. If "1" changed to "0", clock will not flip.

-line: <integer name="rosie_scrollbar_curve">0</integer> means that screen indicator will move in curve line. If "0" changed to "1", indicator will move in strait line [there is no mistake here!].

6. Now if you edited .xml's in the way you want, you must compile .apk of skin. In command line write: "apktool b -f C:/Users/"your name"/Slate "your name of skin without spacebar".apk" [for example: apktool b -f C:/Users/****/Slate Dick_Slate.apk].

7. In "C:/Users/"your name"/" directory will appear compiled skin .apk.

8. Open it with 7zip. [Right mouse button click on skin .apk, from menu choose: 7zip->Open archive]. You will see in this directory 2 folders: assets & res, and 2 files: AndroidManifest.xml [which is edited already] & resources.arsc.

a. In "assets/image" directory there are stored preview.png [which you see when you choosing skin in Skin Picker, on your phone] and wallpaper.jpg.

b. In "res" directory there are folders: drawable [which contains .xml's], drawable-hdpi, drawable-land-hdpi & drawable-port-hdpi [containing .png's which you will replace]. Now you can drag'n'drop previously prepared

[in point III.1.] .png's [or whole folders], so your new files replace those in opened .apk. Close 7zip window.

9. Now take edited "your name of skin without spacebar".apk to Auto-sign root directory [see point I.]. Change it's name to update.zip. Drag'n'drop update.zip at Sign.bat file and in command window press <enter> when signing will be finished. There should appear new file called update_signed.zip. Now you can change it's name to "name of you skin".apk and youre done. This file is installable on your Desire HD.