Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,779,097 Members 44,086 Now Online
XDA Developers Android and Mobile Development Forum
View Poll Results: Did this guide help you out?
Yes 1,162 91.42%
No 109 8.58%
Voters: 1271. You may not vote on this poll

[GUIDE] Want to learn how to theme?

Tip us?
 
theimpaler747
Old
(Last edited by theimpaler747; 26th January 2011 at 07:11 PM.)
#1  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
Post [GUIDE] Want to learn how to theme?

I'm asked all the time how to theme; what's the best way, the best tools, etc. Well, I'm going to compile the best resources that I think will get you up and theming. It's a process, and you'll need to have time and devotion, but these tools and tips will help

This is the best guide that I know of out there for theming; it is comprehensive, and if you use it, you should give a big thanks to the makers of it.

I find both of these to be great; I have apk manager (windows and linux) on my pc, and apktool (windows, mac, and linux) on my mac. APK manager will likely be best for beginners due to its simplistic and user friendly UI, and it offers some more features then apktool, like zipaligning, optimizing, etc. Both are fantastic, and absolutely a huge help for theming and decompiling apps.

It's always helpful to know how to use the SDK for adb, zipaligning, and other tasks. Remember, even if you have other tools like apk manager to zipalign, it's always good to know how to do it by hand And you'll need tools in it like draw9patch for those pesky .9pngs

You will use this all the time. Editing files like decompiled XMLs on this is a breeze

You'll use this every time you do XML edits; you'll need these color codes to tell the XMLs what color you want to show up

Want to go all out? Go photoshop. Want a great, free tool to theme with? Gimp is the way to go. Either way, you'll want to use one of these tools for png edits when theming. Paint.net is also another good free tool for edits.

For you mac users like me, Hex Fiend comes in handy if you ever need to edit binary (non readable or decompiled) XML.

Fabulous tool on windows to create and modify elements of updates zips

Want to make an ADW theme? This is a great tool to get you started on that
  • Knowledge

You'll want some general knowledge with terminal or windows cmd prompt. Because you will use it. Also, you'll need to know what to edit in a theme to change aspects of color and such correctly. Well, this is a great tool to find out what you need to edit


I'll be adding to this guide as needed. Please, feel free to ask any questions, and I'll be here to answer them Hope this helps everyone!
The Following 418 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
(Last edited by theimpaler747; 26th January 2011 at 06:36 PM.)
#2  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
In Depth Look: XMLs

For the first in depth look, I'm going to focus on XML edits, as they are a major component to having a complete and thorough theme. Image edits are easy enough, but many don't know where to go when it comes to XMLs. Well, here's where I'll tell you
  • What is an XML?

Here's is a nice read on XMLs and what they are.
  • What do XMLs have to do with Android?

XMLs can control many functions in android apps. For the scope of this thread, we'll be changing binary XML into a readable XML file to make our edits, which will usually result in color changes in apps.
  • How do I edit an XML?
  1. Make sure you have apktool or apk manager correctly set up. They'll make XML edits a breeze. If you need help setting them up, wither ask me or see their manuals.
  2. Take the apk you want to edit, and decompile it with one of those two tools. Make sure if it's dependent on Sense resources or TW ones that you have those set up. (Again, either ask me or see instructions for apktool and apk manager)
  3. Once decompiled, open the XML you'll need/want to edit. See the link I have above under knowledge for finding out what XML you may need to edit
  4. For Windows, use Notepad ++ to edit, and for Mac, use TextWrangler (just suggestions, others work as well)
  5. Use the Hex Color code link I have listed above in the OP to find the suitable code for the color you'll want if you;re making a color change. Remember, the color codes will be 6 digits, but there'll be 2 digits in the XML before the color code. 00 is transparent, and FF is the "regular" color for lack of a better term.
  6. When done with the XML changes, recompile the apk
  7. Sign if needed, and install to see if the changes you've made are worth it
The Following 96 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
(Last edited by theimpaler747; 15th May 2011 at 07:18 PM.)
#3  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
In Depth Look: Using Apktool or Apk Manager.
  • What are they?

Apktool and Apk Manager allow you to decompile, reengineer, and compile apks after making changes to files in the decompiled apk.
  • Why would I need them?

These tools allow you to edit XMLs, edit smali files, and change many other aspects of the apk that you wouldn't be able to do without decompiling the apk.
  • Setting up apktool on a mac

If you have a mac like me, remember that apk manager doesn't work on macs. So, you must use apktool, which is absolutely fine, as in my opinion apktool is better than apk manager. To set up apktool, you must have root mode enabled on your mac. To do that, simply follow these steps:
  1. Open system preferences
  2. Open accounts
  3. Go to login options
  4. Hit join next to network account server
  5. Select open directory utility
  6. Click the lock at the bottom of the window that pops up and enter an admin password
  7. Then, go to the top bar on your mac, hit edit, and select enable root mode

Once you have root mode enabled, you're ready to set up apktool:
  1. From the apktool website, download apktool1.3.2.tar.bz2 and apktool-install-macosx-2.2_r01-1.tar.bz2
  2. Next, open terminal
  3. su
  4. tar -C /usr/local/bin -xvf <zipped file name>
  5. tar -C /usr/local/bin -xvf <zipped file name> (for the second file)
  6. Now to confirm it worked, type "apktool" no quotes
  7. You should get a help menu for apktool
  8. If so, you're good to go!

Now, once you have it set up, you're ready to go! After typing apktool, you'll see the help menu which'll give you the commands available for apktool, but I'll go over the basic ones here.
  • apktool d "apk path here" will decompile the apk
  • apktool b "decompiled apk path here" will build an apk from a previously decompiled one
  • apktool if "framework-res.apk path here" will install a framework res or any app really to allow you to work with dependent apps. For example, if you want to modify an HTC sense apk, you'll need to install the htc.resources.apk first through this method before decompiling the sense apk.
  • What if I have windows?

The steps will be very similar. See the apktool website I have listed above for a bit more info, but as I said, it's not too far off minus the having to get root access part.
  • This seems to complex, and I hate using commands! I wish there were another way....

Oh, but there is! *ends cheesy infomercial voice* Apk manager will give you a simplified setup, and all of the same features plus more; all you need is windows or linux.
  • Great! How do I get that?
  1. Download Apk Manager
  2. Extract the zip
  3. Open up the enclosed script
  4. The rest is pretty self explanatory

Now, even will apk manager, you'll need to make sure you know how to set frameworks up and such, but it makes it much easier with its convenient scripts. If you have any questions, ask them here and I'll certainly do my best to answer them

Helpful Hint!
  • Remember, once you have an apk decompiled with apktool or apk manager, you have the best chance to correctly edit .9pngs!
  • If you open the .9png in the decompiled app and edit it with gimp or photoshop while leaving the pre-drawn boarder there, you'll be able to recompile the apk with a properly edited and themed .9png


Advanced Decompiling
  • Sometimes, you have that pesky app that just won't decompile correctly. Usually, it's an app related to others, like a proprietary system app based off framework-res.apks.
  • When this happens, you need to ensure that the frameworks are there to have the app's recourse tables properly compile.
  • For either apktool or apk manager, find a folder on your computer called "apktool."
  • The should be a folder in here called "framework," and inside that, a 1.apk.
  • For an app that is dependent on the framework-res.apk in a specific phone/rom, take the framework-res.apk for that rom and rename it 1.apk.
  • Replace the default one in the folder with yours.
  • If there's a second one, like the twframework-res.apk for Samsung phones, rename it 2.apk and place it in the "framework" folder.
  • Now, decompile like normal, and everything should be good
The Following 92 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
(Last edited by theimpaler747; 12th May 2011 at 09:27 PM.)
#4  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
Editing Smali


Right here, thanks to Yorzua
The Following 44 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
smoochiezz24
Old
#5  
smoochiezz24's Avatar
Senior Member
Thanks Meter 123
Posts: 409
Join Date: Apr 2010
Cool, so what about theming market apps. I mean like changing the icon. I know how to change them individually but what about changing them in bulk. Where would one put them inside of an update.zip?

Sent from sweet G2
The Following 2 Users Say Thank You to smoochiezz24 For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
#6  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
Quote:
Originally Posted by smoochiezz24 View Post
Cool, so what about theming market apps. I mean like changing the icon. I know how to change them individually but what about changing them in bulk. Where would one put them inside of an update.zip?

Sent from sweet G2
Changing them in bulk would require you to theme each icon you'd like, and then you could do one of a couple things:
  1. Make them your custom icon with ADW or LP (easiest way)
  2. Install them over the apps you have on your phone to get your custom themed app
  3. Make a flashable zip to add the apps to system/app, resulting in a themed set of apps, now in system/app

I should probably add a bit to the guide on making zips, yes?
The Following 8 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
#7  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
Added update zip tool to the guide
The Following 5 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
kellinwood
Old
#8  
kellinwood's Avatar
Recognized Developer
Thanks Meter 129
Posts: 225
Join Date: Aug 2010
Location: Kailua, HI

 
DONATE TO ME
Section 6. ZipThemer: an alternative theme installer with MetaMorph compatibility and advanced features.

Ken
The Following 3 Users Say Thank You to kellinwood For This Useful Post: [ Click to Expand ]
 
theimpaler747
Old
#9  
theimpaler747's Avatar
Retired Forum Moderator / Retired Recognized Developer - OP
Thanks Meter 2666
Posts: 21,289
Join Date: Mar 2010
Location: The Ninth Circle of Dante's Inferno

 
DONATE TO ME
Quote:
Originally Posted by kellinwood View Post
Section 6. ZipThemer: an alternative theme installer with MetaMorph compatibility and advanced features.

Ken
Or that'd work too from a phone I'm targeting computer usage, but that's a nice app, well done
The Following 3 Users Say Thank You to theimpaler747 For This Useful Post: [ Click to Expand ]
 
user7618
Old
#10  
user7618's Avatar
Senior Member
Thanks Meter 231
Posts: 3,349
Join Date: Jul 2010
Location: Indianapolis

 
DONATE TO ME
Thanks for this resource! *tagged*

-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!

Did I help you or make something you love? Help me send Mrs. User through Nursing School.



The Following 2 Users Say Thank You to user7618 For This Useful Post: [ Click to Expand ]
Tags
how to theme, theimpaler747, theme guide, themes, theming help
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes