[GUIDE] Want to learn how to theme? - Android Themes

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
A general guide (MOD Info: The document seems to have been removed and there is no possibility to recover it)
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.
Apktool or apk manager
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.
The android SDK
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
Notepad++ or TextWrangler
You will use this all the time. Editing files like decompiled XMLs on this is a breeze
A nice website for Hex colors
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
Photoshop or Gimp or Paint.net
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.
Hex Fiend
For you mac users like me, Hex Fiend comes in handy if you ever need to edit binary (non readable or decompiled) XML.
Update Zip creator/modifier
Fabulous tool on windows to create and modify elements of updates zips
ADW Themes
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!

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?
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.
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)
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
For Windows, use Notepad ++ to edit, and for Mac, use TextWrangler (just suggestions, others work as well)
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.
When done with the XML changes, recompile the apk
Sign if needed, and install to see if the changes you've made are worth it

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:
Open system preferences
Open accounts
Go to login options
Hit join next to network account server
Select open directory utility
Click the lock at the bottom of the window that pops up and enter an admin password
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:
From the apktool website, download apktool1.3.2.tar.bz2 and apktool-install-macosx-2.2_r01-1.tar.bz2
Next, open terminal
su
tar -C /usr/local/bin -xvf <zipped file name>
tar -C /usr/local/bin -xvf <zipped file name> (for the second file)
Now to confirm it worked, type "apktool" no quotes
You should get a help menu for apktool
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?
Download Apk Manager
Extract the zip
Open up the enclosed script
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

Editing Smali​
Right here, thanks to Yorzua

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

smoochiezz24 said:
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
Click to expand...
Click to collapse
Changing them in bulk would require you to theme each icon you'd like, and then you could do one of a couple things:
Make them your custom icon with ADW or LP (easiest way)
Install them over the apps you have on your phone to get your custom themed app
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?

Added update zip tool to the guide

Section 6. ZipThemer: an alternative theme installer with MetaMorph compatibility and advanced features.
Ken

kellinwood said:
Section 6. ZipThemer: an alternative theme installer with MetaMorph compatibility and advanced features.
Ken
Click to expand...
Click to collapse
Or that'd work too from a phone I'm targeting computer usage, but that's a nice app, well done

Thanks for this resource! *tagged*
-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!

user7618 said:
Thanks for this resource! *tagged*
-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!
Click to expand...
Click to collapse
No problem! I'll be adding to it as well, and I'll go more in depth to version elements in my reserved posts
Sent from a truly Epic phone!

theimpaler747 said:
No problem! I'll be adding to it as well, and I'll go more in depth to version elements in my reserved posts
Sent from a truly Epic phone!
Click to expand...
Click to collapse
Good, because I'll probably be getting a new laptop soon, so I will need to download all of this stuff again.
-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!

user7618 said:
Good, because I'll probably be getting a new laptop soon, so I will need to download all of this stuff again.
-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!
Click to expand...
Click to collapse
Ah yeah, that'll be a pain... good thing I have all the links in one place now!

theimpaler747 said:
Ah yeah, that'll be a pain... good thing I have all the links in one place now!
Click to expand...
Click to collapse
Indeed.
-----
Sent from my CDMA Hero. I got some hot Froyo-on-Hero action here!

Thank you for this. This is just what I was looking for
Sent from my DROIDX using XDA App

Dxblade said:
Thank you for this. This is just what I was looking for
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
No problem! Glad you liked it, and check back, as I'll be adding more and going more in depth with XML edits and such

I'm sure many people will find this extremely useful. There are a lot of resources out there, but finding them can be difficult.
Apart from system-level theme creation, there's a great guide to creating ADW.Launcher themes here. I would know - I created the icon naming video haha.

Vazguard said:
I'm sure many people will find this extremely useful. There are a lot of resources out there, but finding them can be difficult.
Apart from system-level theme creation, there's a great guide to creating ADW.Launcher themes here. I would know - I created the icon naming video haha.
Click to expand...
Click to collapse
Very nice! I'll add that to the OP for you

Awesome! Hopefully this will inspire more people into creating the themes of their own!

Vazguard said:
Awesome! Hopefully this will inspire more people into creating the themes of their own!
Click to expand...
Click to collapse
Agreed! I'm looking at publishing ADW themes of my own

Related

How to theme android

I'm trying to theme android.
I know that I can extract the APK's and edit the images, but what do I do after that?
how do I pack them back into APK files?
Learn to use either metamorph or ninjamorph. Their both apps by stereicson that let you change every image from an apk from within the phone.
what I meant was how would I create my own theme.
I'm not trying to apply themes that were already made, I'm trying to create a new theme.
but I've found that ubuntu lets me edit the images without extracting the apk
swee08315 said:
what I meant was how would I create my own theme.
I'm not trying to apply themes that were already made, I'm trying to create a new theme.
but I've found that ubuntu lets me edit the images without extracting the apk
Click to expand...
Click to collapse
creating your own theme is very really easy. but it can be very time consuming depending on what you are trying to accomplish and edit.
After you edited your .png file (NOT .9.ping because that requires a much more advance and complicated method) simply sign the apk file, create the update-script to place in the /META-INF/com/google/android directory and then sign the update.zip file. You will need to use the search feature to lookup.
"update-script"
"signing tool"
Good luck
mejorguille said:
Learn to use either metamorph or ninjamorph. Their both apps by stereicson that let you change every image from an apk from within the phone.
Click to expand...
Click to collapse
I would suggest the metamorph as well instead of flashing. Flashing seems like it would just take too much time.
Also, Android Commander and Droid Explorer (maybe a few others) offer easy signing tools/transferring the apk without the need of any metamorph or flashing.
Thank you Binary100100
that's exactly what I needed
and also to r3s-rt:
I need to create an update .zip for this task.
swee08315 said:
Thank you Binary100100
that's exactly what I needed
and also to r3s-rt:
I need to create an update .zip for this task.
Click to expand...
Click to collapse
For ANY themeing, you don't need an update.zip. I'm just saying look into metamorph a bit; it really is easier than flashing and reflashing if it doesn't come out right. If updates are easier for you, though, go for it. =]
thanks again.
but where exactly would I look to modify the widgets?
specifically the music and clock widgets?
swee08315 said:
thanks again.
but where exactly would I look to modify the widgets?
specifically the music and clock widgets?
Click to expand...
Click to collapse
Music widget is in Music.apk. Clock widget is in DeskClock.apk.
Though metamorph is convenient, in my opinion it is a better tool to test parts of a theme. Learn how to sign update.zip files (with ubuntu it is as simple as a right click), there will be less errors this way (and you can theme the market,....).
p.s. Do learn metamorph also, it is great.
thanks, but where is the search widget?
and yes, I will learn
swee08315 said:
thanks, but where is the search widget?
and yes, I will learn
Click to expand...
Click to collapse
launcher.apk
creating a black softkey menu pop up with white text.
Hello everyone! I posted something like this and got no real answers. I'm not trying to create a full theme just edit what I already have. I'm trying to change the stock cyanogenmod softkey menu pop up. If gotten my images in place and got the background and icons the way I want them but I don't know which values XML file I need to edit in order to change the text color. Does anyone have any insight on which file I need in order to edit the menus text to white? Already decompiled the framework-res.apk.
Thanks
This is awesome, I'm just trying to get started with customizing android and theming seemed like the logical starting point. Thanks for the input guys/gals.

[Q] xml edditor

what is a good xml editor
Eclipse
Sent from my HERO200 using XDA App
aaronpoweruser said:
Eclipse
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
im on the site witch one
Eclipse, Notepad++ or gedit
Use apk manager to decompile the apk then notepad++ to edit the XML then recompile the apk.
For editing just use notepad++ if you want an ide to manage a project and also do xml edit go the eclipse route... preferably Myeclipse.
Papa Smurf151 said:
Use apk manager to decompile the apk then notepad++ to edit the XML then recompile the apk.
Click to expand...
Click to collapse
Would this be a way to use an evo's 4g icons in place of my 3g ones? I thought it would be fun to try...
I assume I can't simply unzip framework-res.apk, paste them in and zip it back up and actually expect it to work...
Sent from my HTC Hero with Froyo...
Vandelay007 said:
Would this be a way to use an evo's 4g icons in place of my 3g ones? I thought it would be fun to try...
I assume I can't simply unzip framework-res.apk, paste them in and zip it back up and actually expect it to work...
Sent from my HTC Hero with Froyo...
Click to expand...
Click to collapse
I personally don't use apk manager for PNG edits. Never had good luck getting the apk to recompile correctly. I mainly use it to edit XML files, do Smali edits, do resources.arsc(which when decompiled is converted to values folder in the Res folder), and android manifest edits.
Eclipse is to much to confusing for a lot of people to use. I personally can't stand it. Well except to recompile .9 files.
But who am I to tell someone what to use. I've only edited a bunch of XML files and resources.arsc file and Smali edits....etc and put stuff out on the market. So I really have no idea what should be used. Lol
Simply replacing the PNG files should give u the result ur looking for. No need to decompile the apk to do that. Just make sure u change the PNG file name to the file u want to use as a replacement
Papa Smurf151 said:
I personally don't use apk manager for PNG edits. Never had good luck getting the apk to recompile correctly. I mainly use it to edit XML files, do Smali edits, do resources.arsc(which when decompiled is converted to values folder in the Res folder), and android manifest edits.
Eclipse is to much to confusing for a lot of people to use. I personally can't stand it. Well except to recompile .9 files.
But who am I to tell someone what to use. I've only edited a bunch of XML files and resources.arsc file and Smali edits....etc and put stuff out on the market. So I really have no idea what should be used. Lol
Simply replacing the PNG files should give u the result ur looking for. No need to decompile the apk to do that. Just make sure u change the PNG file name to the file u want to use as a replacement
Click to expand...
Click to collapse
I agree with you totally on Eclipse... I use it on a daily bases and sometimes its easier to just use notepad++ for smaller things.. even tho I love Eclipse.
Smali is annoying to look at and I can't stand the decompiled code... I'd love to contribute to Cyanogens or Darch Repo but I don't have the setup to do it at the moment, I have a nice box but the family would be pissed if I tried to convert them to Linux and I deplore dual boot.
So I'm happy for now with f-ing around in GIMP and doing some stuff I dont get to do in my professional life.
ASimmons said:
I agree with you totally on Eclipse... I use it on a daily bases and sometimes its easier to just use notepad++ for smaller things.. even tho I love Eclipse.
Smali is annoying to look at and I can't stand the decompiled code... I'd love to contribute to Cyanogens or Darch Repo but I don't have the setup to do it at the moment, I have a nice box but the family would be pissed if I tried to convert them to Linux and I deplore dual boot.
So I'm happy for now with f-ing around in GIMP and doing some stuff I dont get to do in my professional life.
Click to expand...
Click to collapse
Agreed. Eclipse is a pita. That's why I love apk manager. I can almost do everything with that as I can with eclipse without all the excess steps eclipse runs u through.
I have dual boot on my laptop and it works great. I mainly stay on windows but use Linux every once in a blue moon.
I also use Photoshop rather than gimp. Gimp has always seemed very not user friendly.
I hate Smali code but I'm learning how to edit it and create my own as it is the root of the apks and there r just somethings that have to be played around with in there.
The one thing I have learned is that everything is so much easier when decompiled.
I tried to edit bianary XML. I'd almost rather take a bullet in the head. LOL
Papa Smurf151 said:
Agreed. Eclipse is a pita. That's why I love apk manager. I can almost do everything with that as I can with eclipse without all the excess steps eclipse runs u through.
I have dual boot on my laptop and it works great. I mainly stay on windows but use Linux every once in a blue moon.
I also use Photoshop rather than gimp. Gimp has always seemed very not user friendly.
I hate Smali code but I'm learning how to edit it and create my own as it is the root of the apks and there r just somethings that have to be played around with in there.
The one thing I have learned is that everything is so much easier when decompiled.
I tried to edit bianary XML. I'd almost rather take a bullet in the head. LOL
Click to expand...
Click to collapse
No blasphemy against Eclipse And I love Gimp its a little flaky on Windows but its free. What APK manager are you using?
ASimmons said:
No blasphemy against Eclipse And I love Gimp its a little flaky on Windows but its free. What APK manager are you using?
Click to expand...
Click to collapse
Its a program call apk manager. U can find it on xda for free. Or u can download my everything android zip in the dev section. I put it in there. It let's u decompile Apks. Recompile apks. Sign apks optimize apks and zip align apks. All in one program. Its great.
I use apk manager 4. Something that has a script in it. Thought maybe you were using something else. Thanks for the info.
Sent from my HERO200 using XDA App
ASimmons said:
I use apk manager 4. Something that has a script in it. Thought maybe you were using something else. Thanks for the info.
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
Yeah same program I'm using. 4.8 is the newest version. I swear by it

[Q] Getting started on making themes.

Clicking the wiki just now gave me a 404 error and the sticky is a bit long and just a bit outdated in terms of the links.
What programs, apps, vids, etc do I need in order to make themes?
I have been flashing themes left and right and each have their goods and bads. The biggest bad is there doesn't seem to be a well done red theme which I would like to do. I have tried enamored but the notification icons kill it for me.
So again, are there any up to date tutorials on making themes? Thanks in advance for any help.
+1 to that
Sent from my Droid using Tapatalk
A quic and dirty how to
lovethyEVO said:
Clicking the wiki just now gave me a 404 error and the sticky is a bit long and just a bit outdated in terms of the links.
What programs, apps, vids, etc do I need in order to make themes?
I have been flashing themes left and right and each have their goods and bads. The biggest bad is there doesn't seem to be a well done red theme which I would like to do. I have tried enamored but the notification icons kill it for me.
So again, are there any up to date tutorials on making themes? Thanks in advance for any help.
Click to expand...
Click to collapse
shanesol said:
+1 to that
Sent from my Droid using Tapatalk
Click to expand...
Click to collapse
heres the How to
An apk is really just a zip file... apk stands for android package (if i remember correctly). So treat it like a standard zip file.
Youll need a pint program to make changes I use gimp its free so get it here
TIP: Your first theme should really just be a mixing and matching of other themes to get use to the process.
TIP: d/l and look at other themes and see what the have done, using the same process below you can port and mash themes. To see what is themed go to the res/drawable-xxx folders and sorte the png's in there to newest at the top and you'll see what they have changed.
TIP: system/app/xxx.apk are where most apps that are themed are contained in these apks you'll find a res folder and in there you have a bunch of folders. you really on need to look in the drawable-xxx ones mdpi, no-dpi, land and so forth. these pngs make up the apps look and feel changing them will theme the app.
You'll need apk manager this will allow you to sign zips which makes them flashable. get that here
Now get your favorite Rom and make a folder. In that folder make 2 folders one called packed the other called packed. Take your rom and unzip it in the unpacked folder. and then take the original zip and move it to the packed folder.
Next go into the unpacked folder and nav to system/framework.framework-res.apk (this holds the bulk of the android png that make up all the stuff most people change to make a theme) take this apk and unzip it in this folder and then make a copy of the apk and move the copy to the packed folder.
Now when you want to make a change to the framework-res.apk use the unpacked as a reference. us the packed as the change dir, you do this by opening but not unzipping the apk you want to change and just dragging the files you are replacing into the apk, this will replace them. You might want to make a a 3rd folder sorta of a master copy if you ever mess up the packed roms. Remember that in all three of the dirs created you want to keep the dir structure the way you extracted it from the rom and theme.
Now that you have an altered framework-res.apk you can just push it to system/framework folder (i think) and reboot and your changes are in. I never do this since flashable is easier to manage I make a flashable.
A flashable is like a rom but allot smaller, so d/l one of my themes and take the zip file and place in in a folder next to the packed and unpacked folder call it something like staging. now unzip apk manager into the top dir next to 4 other folders you just made.
Now my theme zip can be renamed to whatever you want, your going to use it as a place holder for signing flashable zips. go into the theme zip and delete ever thing in the system folder except the framework folder then go into the frame work folder and delete everything, if you have apps your theming just make the system/app.
Your flashable zip folder should only have a a meta-inf folder and a system folder, the system folder should only have a framework and or app folders. Now drag your altered framework-res.apk into the flashable zip system/framework folder you just cleaned out.
Ok now you have to sign it, copy that flashable zip to the place-apk-here-for-signing folder, this should have shown up when you unzipped apk manager into the folder the also contains unpacked and packed folders.
Now click on the script.bat and you'll see a bunch of option you can do option 16 to sign your zip. it takes a second or two and the date should get updated on the flashable.zip file in the place-apk-here-for-signing folder.
Now you have your new them ready to install. if your changing something else find the apk and replace framework-res.apk in these instruction and it works the same. note that most app reside in system/app so you next to take that into account.
Keep the questions reasonable and I'll answer then.
Thanks simmons. For the most part I have been doing the open apk without extracting and replacing png files. The one thing that I cant seem to get is changing the battery icon...it never sticks. Anyways, do the themes always have to be signed? I know amon 1.8 can flash unsigned zips but do the themes have to be signed always? I will be taking my laptop to work tonight to practice what you outlined. Thanks again.
EDIT: I noticed some themes have com.htc.resources.apk alongside framework res and some have services.jar. What are these for?
No they don't have to be signed but people will complain cause most people don't have the eng spl, it all so protects you from flashing bad stuff. If your only changing the standard 5 battery icons thus method always works.
The services.jar usually room specific and changes things like lock screen behavior mixes These with other roms will cause boot loops be careful.
Sent from my HERO200 using XDA App
Simmons thanks for answering so far.
My last question is to theme the entire phone is it basically the resources, framework, and services.jar files that need to be edited? I understand the apps would be themed themselves and then just included as part of the zip file right?
lovethyEVO said:
Simmons thanks for answering so far.
My last question is to theme the entire phone is it basically the resources, framework, and services.jar files that need to be edited? I understand the apps would be themed themselves and then just included as part of the zip file right?
Click to expand...
Click to collapse
well the service.jar is compiled and therefore can't necessarily be themed you can't hack it or mod it by decompling it or you can change it by compiling changes you made from source but for the sake of normal themes its not needed.
as for the resources I assume your referring to the resources.arsc which is basically a set of compiled xml files. In here it where you can change stuff like how many pngs are associated with the battery status icons (think of circle batter mod which has one icon per percentage instead of the 0 10 20 40 60 80 100 ? icons in the normal aosp rom) changing this can be done with the apk manage by decompiling the framework-res.zpk, making the change and compiling back. but I wouldn't recommend it to a beginner.
The problem with the above is you take the chance of the theme not be cross-rom compatible. For you normal theme all you need to change are the pngs in the res folder of the framework-apk, however somethings like the launcher or the dialer still reside in the app folder and have there own apk.
Oh and I have no question limit.
ASimmons said:
well the service.jar is compiled and therefore can't necessarily be themed you can't hack it or mod it by decompling it or you can change it by compiling changes you made from source but for the sake of normal themes its not needed.
as for the resources I assume your referring to the resources.arsc which is basically a set of compiled xml files. In here it where you can change stuff like how many pngs are associated with the battery status icons (think of circle batter mod which has one icon per percentage instead of the 0 10 20 40 60 80 100 ? icons in the normal aosp rom) changing this can be done with the apk manage by decompiling the framework-res.zpk, making the change and compiling back. but I wouldn't recommend it to a beginner.
The problem with the above is you take the chance of the theme not be cross-rom compatible. For you normal theme all you need to change are the pngs in the res folder of the framework-apk, however somethings like the launcher or the dialer still reside in the app folder and have there own apk.
Oh and I have no question limit.
Click to expand...
Click to collapse
Simmons, thank you very much. Every answer you give is clearing things up more and more for me. I have decompiled a frameworkres before when I was trying to get the circle batt mod onto the odex stock rom so I am not too unawares there. What I want to do is theme the colors on anything and everything along with making the transparent windows such as when you confirm actions and the transparent notification pull down. Are these really accomplished with simply changing the pngs or do I have to edit the xml files? If I must edit the xml files, are there key files to edit or would editing one xml affect another?
lovethyEVO said:
Simmons, thank you very much. Every answer you give is clearing things up more and more for me. I have decompiled a frameworkres before when I was trying to get the circle batt mod onto the odex stock rom so I am not too unawares there. What I want to do is theme the colors on anything and everything along with making the transparent windows such as when you confirm actions and the transparent notification pull down. Are these really accomplished with simply changing the pngs or do I have to edit the xml files? If I must edit the xml files, are there key files to edit or would editing one xml affect another?
Click to expand...
Click to collapse
The xml files really just hold names for the pngs. So for example the pngs for the battery have there names store in the xml (cant remember off hand which one of the decompiled xml from the resource.arsc.. strings??) file and then as the value value next to that filename for what percent to show that specific png at.
But 95% of your theming only involves changing the png files. So to have a clear notification back ground look in the framework-res.apk/res/drawable-mdpi/status_bar_background.png or you want to change the button to unlock your phone framework-res.apk/res/ic_jog_dial_unlock.png or to change the status bar framework-res.apk/res/statusbar_background.9.png
TIP: if you see a png with 9 in the name like xxxx.9.png its basically a stretchable png where the side that you want stechable has a one pixel wide line running the length of the png as a border this tells android that the png should stretch that side until it fills the screen.
9 patch explanation
So aside from editing the xmls for the battery percent everything is just replacong pngs? Thats awesome.
When it comes to apps like the internet browser for example, where would I find the apk? I'm assuming theming the apps is just like themeing the phone in that I just replace the .pngs right? Again your answers are very much appreciated and definitely making things seem easier. Thanks.
Hiya all.
I'm a noob at this too and I want to change the icons of some of the apps installed on my phone and theme a couple of widgets that am using. I have two questions:
1) In the system/app folder of the phone almost all the apps have a xxx.apk and a xxx.odex file. In order to change the png files in the apk does something need to be done with the odex file too?
2) Can I change the png files in the apk files in data/app the way you described above?
Sorry if the questions are noobish
From my Galaxy S loonie-phone
lovethyEVO said:
So aside from editing the xmls for the battery percent everything is just replacong pngs? Thats awesome.
When it comes to apps like the internet browser for example, where would I find the apk? I'm assuming theming the apps is just like themeing the phone in that I just replace the .pngs right? Again your answers are very much appreciated and definitely making things seem easier. Thanks.
Click to expand...
Click to collapse
To theme the browser you can alter the Browser.apk in the system/app and using the direction I posted it works the same way.
And if you make a theme pm me so I can check it out.
Fireloon said:
Hiya all.
I'm a noob at this too and I want to change the icons of some of the apps installed on my phone and theme a couple of widgets that am using. I have two questions:
1) In the system/app folder of the phone almost all the apps have a xxx.apk and a xxx.odex file. In order to change the png files in the apk does something need to be done with the odex file too?
2) Can I change the png files in the apk files in data/app the way you described above?
Sorry if the questions are noobish
From my Galaxy S loonie-phone
Click to expand...
Click to collapse
1. My theming expertise is more with AOSP roms but its my understanding that you should be able to theme a sense rom in the same way by de-odexing a rom. And yes any and all apps are themable if it has a png files in it you can unpack it alter the png's and put them back in the original apk, which overwrites the original png's and resign it and then flash or reinstall it.
2. Yes you can. any and all apks can be themed in the manner I described. for odexed roms search the forum for de-odexing techniques.
Thx for the answer. I'll search about deodexing
From my Galaxy S loonie-phone
Thanks for all the great tips I just got finished porting a theme thanks to all the help!
shanesol said:
Thanks for all the great tips I just got finished porting a theme thanks to all the help!
Click to expand...
Click to collapse
awesome pm some screenies or the op here I'd like to check it out.
ASimmons said:
awesome pm some screenies or the op here I'd like to check it out.
Click to expand...
Click to collapse
It's a simple black/white matte theme called Invertnito. It was made for Sapphire but I like CM too much to give it up lol
ASimmons said:
awesome pm some screenies or the op here I'd like to check it out.
Click to expand...
Click to collapse
Looking to have some sort of base by this weekend. I have just been mix/matching pngs I like from other themes as well as trying to make my own pngs and figuring out the transparency/borders effect. Taking my time but still want to come out with something for critique.
shanesol said:
It's a simple black/white matte theme called Invertnito. It was made for Sapphire but I like CM too much to give it up lol
Click to expand...
Click to collapse
Nice Job.
lovethyEVO said:
Looking to have some sort of base by this weekend. I have just been mix/matching pngs I like from other themes as well as trying to make my own pngs and figuring out the transparency/borders effect. Taking my time but still want to come out with something for critique.
Click to expand...
Click to collapse
Well I'm not much of a critiquer since most of the themeing stuff I've done doesn't go over so well around here (I dont like dark colors, black, dark blue blah blah) really its up to what you like, I made a couple of themes based on what I liked and left it at that. But I'll be glad to look at it and dont forget to make sure that if you use some elses stuff you give them there props in your ops and pm them a warning you going to use it, unless they specify different this is all you should need to do..
ASimmons said:
Nice Job.
Well I'm not much of a critiquer since most of the themeing stuff I've done doesn't go over so well around here (I dont like dark colors, black, dark blue blah blah) really its up to what you like, I made a couple of themes based on what I liked and left it at that. But I'll be glad to look at it and dont forget to make sure that if you use some elses stuff you give them there props in your ops and pm them a warning you going to use it, unless they specify different this is all you should need to do..
Click to expand...
Click to collapse
Definately making note of whose work I use. Though it's kind of hard because my favorite notification icons I have seen in two diff themes and neither one of them mention who was the artist for them. But still keeping at it. And like you I dont care about dark colors unless its used to contrast the main theme color. I'm working on a red theme and there will be some parts that will have a darkish background to help the red border colors and/or text pop more. In time though. Your first post here was definitely a great shove in the right direction.

How to Port themes

First off, BIG BIG thanks to dhemke17, this is only me adding to his guide.
How to Port Themes To Other roms:
First off, Slow down, relax, look at what you are doing, this is a generalization, if the xml, or image file does not exist
in the apk your trying to theme, do not add it, or subtract it, you add or subtract anything it will not work, YOU ARE ONLY
REPLACING!!(doin some math here is your ticket to boot camp)
1) Download 7-zip, or winrar as they can open .apk files without unarchiving them.
2) Download both the rom you want to theme, as well as the theme you want to port.
3) Using 7-zip, open the rom and pull out the following files:
a. Browser.apk
b. DeskClockGoogle.apk
c. GoogleQuickSearchBox.apk
d. Launcher2.apk
e. SystemUI.apk
f. Framework-res.apk
4) Make a separate folder and unarchive the theme your want to port there.
5) Open a theme .apk file(s), Open in 7zip or winrar, dont extract, just open and manipulate.(keep in mind, all your image
files you will need to replace will be in the following folders)
6) Open these folders in your themes .apk(s) files:
a. Drawable-mdpi (may be drawable-xlarge-mdpi/hdpi/nodpi)
b. Drawable-nodpi
c. Mipmap-hdpi
d. Mipmap-mdpi
7) Now, open the corresponding folders in the roms apk file,(agian, winrar, 7zip)
a. Select all images from the theme's .apk and drag-and drop to the corresponding location in your roms apk file.do this
for each image and you will be about 90% there…
b. If the image you want doe snot exist in the theme, use photoshop or gimp to produce it as you see fit, when your done
make sure you put it in the right folder, make sure its the same size and resolution and name as the original, or it will
not work!!!
8) There are several xml files that need replacing…
a. DeskClockGoogle.apk/layout-xlarge-land/desk_clock.xml
b. Launcher2.apk/layout-xlarge/
i. all_apps_paged_view_application.xml
ii. button_bar.xml
iii. customize_paged_view_item.xml
iv. customize_paged_view_wallpaper.xml
v. customize_paged_view_widget.xml
c. SystemUI.apk/drawable/
i. status_bar_notification_area.xml
ii. status_bar_notification_panel_title.xml
d. SystemUI.apk/layout-xlarge/
i. status_bar_notification_area.xml
ii. status_bar_notification_panel_title.xml
e. framework-res.apk/layout-xlarge/ keyguard_screen_status_land.xml
I your making a new theme or have nothing to port, you will need to decompile with apk tool to actually go in and edit values and colors in xmls
Below is the link to download a update.zip template, (how you and everyone will apply the theme)
By this step the structure of the folders inside of the update.zip should seem familier, just bare in mind anything you put
in there will 1. replace the existing 2. add if not there already. You will Open the update in winrar 7zip as well, if you theme an
app thats not a system app, it will go to update.zip/data/app, if it is a system app it will go to update.zip/system/app,
and the themed framework-res goes to update.zip/system/framework/
http://www.mediafire.com/?6getd70r869d7j1
Good luck, happy theming, if you need help PM me or dhemke7 and we'll see if its salvagable
Nice post...looks familiar lol...I would like to add a couple of things though since this was very specific for the the HoneyBread Theme:
Additional Steps:
1) Pull the images as described above
2) In order to determine what xml files were originally edited, one can arrange the folders by date modified and go through and find what xmls were most recently edited and pull them...OR
3) To modify the xmls yourself, you must use apktool to decompile the specific apk files. Once decompiled, you can actually read the xml files and you can edit them yourself.
Remember, when porting a theme, always give credit where credit is due and you should ask permission from the initial creator before posting. Have fun everyone...if you need any help with theming/apktool, feel free to contact me here or PM me and I will be happy to help.
Thank you thank you
So how hard do you think it would be to port the Matted Blues Theme? with jabbawalkee permission of course! Always been a fan of that theme.
Post a link, ill get it ported.asap...
Sent from my SCH-I510 using XDA App
what is the the theme from?
Its from CM...gbread...they just made it an apk to run on their theme engine. I would love to learn how to port the themes myself...I have read through this tutorial, but at some points I am getting lost. Here is the theme...I mean if you guys could help it would be awesome!
http://forum.xda-developers.com/showthread.php?t=768848
Ryan
you on this D? Let me know if there is anything I can do
MitchTank said:
you on this D? Let me know if there is anything I can do
Click to expand...
Click to collapse
I hate to say this, but there would be all sorts of compatibility issues being that the theme comes from a phone, which has different dimensions and sized images, they all have different names..it would honestly take forever to port. One would be better to completely redesign the theme for honeycomb. I don't have time for that right now
that is a good point, it is sweet though.....onward to the Charge
Id love to see this on the charge...if you plan on tackling this.beast, you have to modify the XML files yourself as aosp files aren't compatible.
Sent from my ADR6400L using XDA App
hey guys. I've been beta testing bigdx's zoom zoom theme for the galaxy tab 10.1. I've ported it to Caulkins touchwhiz km7 rom but I can seem to change the clock colors. Can you help me out?
on ours its in a values folder after recompiling with apktool
hey i was porting the aosp theme of galaxy s to galaxy fit....everything worked fyn xcpt one !! in main theme a green line comes below every power button of the pulldown status bar when it is switched on...i am just nt able to put it,pls help!!!
Sent from my GT-S5670 using XDA Premium App

[KITCHEN] MIUI v4 Theme Kitchen [WIP!!] [Beta 1] [5/25/12]

So, I'm a themer at heart, and I love MIUI. Sometimes making MIUI themes gets me confused, I have a nice compile script set up for .9.pngs but then the folders and zips and etc etc, sometimes I get a bit overwhelmed and I completely lose myself in what I was doing. So I decided to make a sort of kitchen, resembling dsixda's ROM kitchen.. currently it's still kinda far off, but that is the ultimate goal.
This is not a graphical tool. This is not an image manipulation tool.
Basically, you take the apks you want to theme and put them in their own folder. Using framework-res.apk and framework-miui-res.apk isn't 100% necessary, but if they're not included, there's a chance the apks will not decompile properly. It will install the two frameworks if they exist, and then decompile all the apks in the folder. It goes into the AndroidManifest.xml file to get the package name (ie com.android.mms) and changes the name of the folder to it. It takes colors.xml and turns it into a theme_values.xml. It then deletes all the extra files that are not needed for a theme, and creates a generic description.xml file. It tells you to edit your pngs, description, and theme_values and run the compiler.
The compiler runs in the same directory, and compiles all the .9.pngs in each separate folder, puts the zips of them with no zip extension into a new "theme" folder, then puts it all together into an mtz in that theme folder.
If you understand MIUI theming, I hope this makes sense. I have a little video showing it off:
http://youtube.com/watch?v=Xg6UHzNjrq8
I plan on prettying it up a little bit more and I want to make a menu to use for future versions.
-----------------------------------------------------------------------------------------------------------
How to use it:
Extract v4tk folder somewhere, and add it to your PATH
Create a new folder, copy and paste the apks you want to theme into it.
- framework-res.apk and framework-miui-res.apk from the same build as the apks you're trying to edit is essential unless you already have them installed with apktool
From terminal in this folder, run "mktemplate" - this makes all the magic happen, and it actually creates a description.xml based on your input.
Edit the pngs, delete the ones you don't edit, for .9.pngs make sure to leave the 1px border alone unless you know what you're doing
Edit the theme_values files, remove the lines you didn't make changes to. Make sure no @color:android/red or whatever are in them. Hex argb only.
Go back to your terminal, run "mktheme" - this compiles all the .9.pngs, packages everything up, and creates an mtz based off your input for a filename. The mktheme script also supports lockscreen, wallpaper, icons, and preview folders... The template does not create these, but if you make them, the mktheme script will package them into the resulting mtz.
For linux or possibly cygwin (should run fine in terminal on OSX - untested though) only currently. I'm afraid it's been over a decade since I've messed with batch scripting, and before I go through the hassle of putting together a windows version, I want to have a complete project.
Also, just wanted to say one of the main reasons I'm releasing this tool is because MIUI v4 is changing a lot week to week; sometimes there's new images, sometimes there are new colors in the theme_values. If I made a template, it'd be obsolete in two weeks time
Also, this will work with any* apk for your theming pleasure, not just MIUI apps.
*maybe there's an app it can't decompile. shouldn't be, but be warned
Finally.. Download: http://lz.gd/v4tk
You Sir are a stud! and not to bad a Miui either! lol
This looks very impressive!
Nice cant wait for it!
It looks great, I love it.
Wow, seems impressive!
A Gui intefarce to exploit pngs with preview would be awesome !
Think this is a huge work
Pretty Awesome. Cant wait
Looks really cool, nice job
This is what the MIUI community needed. NICE job.
I've uploaded it with some minor cosmetic changes. It's completely functional, but not quite where I want it to be yet.. OP has been updated with some basic instructions on how to use it, post here or come find me in #miuithemes on irc.freenode.net for any issues
You sir are awesome. Got the beta downloaded. Thanks so much for your hard work and efforts.
Anybody using this? Is it working well for you?
Report any issues please.
I have not used it yet, but I plan to directly after my rom is updated from 2.5.4
Sent from my DROIDX using XDA

Categories

Resources