well since there have been ALOT of threads asking how to theme a hero I figured I would go ahead and make a quick guide. I am sure that I will miss stuff so if anyone else sees what I miss let me know and I will add it to the post.
ok first things first there are a few programs that you are going to need. The first is some kind of archive program such as 7zip or winrar. I personaly use winrar but 7zip is free you can download it here.
http://www.7-zip.org/download.html
next you will need a image editing program the favorites are Photoshop and gimp. if you dont have photoshope already and dont want to buy it then download gimp. it just as good and once again its free. You can download gimp here.
http://www.gimp.org/downloads/
Now that you have those programs it is now time to start making your theme.
1. download the ROM of your choice that you want to use since not all files are the same across all ROM's
2. I have 2 folders on my desktop one named "theme apks" and one named "working apks"
3. Use 7zip to unzip the rom you downloaded.
4. in the newly unziped ROM find and open the "system" folder, you will see a list of several sub-directories. The two that we are mainly concerned with are "app" and "framework".
5. Open the "app" folder and move any of the apps that you want to change to the "theme apks" folder that you created earlier in a sub-directory named "app" then open the "framework" folder in the unziped Rom and find and move the "com.htc.resources.apk" and the "framework-res.apk" to your "theme apks" folder into a sub-directory name "framework".
6. now that you have your files seperated out into your "theme apks" folder choose an apk that you want to edit and use 7zip to unzip the .apk into the "working apks" folder you created.
7. now in your "working apks" folder you should have a folder named "res" in this folder there will several other folders. the main ones we need are "drawable", "drawable-mdip" in the 2.1 builds and "drawable", drawable 480x320" in the 1.5 builds" there maybe others depending on what you are trying to change.
8. open the proper drawable folder and find the image you want to edit and open it with your image editor (gimp, photoshop) and make your changes then save it using the same name into the "working apk" folder.
9. now that you have your images edited there are a few ways to add them to your apk the process described here is how I do it since I find it to be the easiest way. go back into your "theme apks" folder and find the apk that you edited. Use 7zip to open NOT unzip the apk. Inside 7zip open the "res" folder and then the proper "drawable" folder now pull up you "working apks" folder and select the edited images and drag them into the 7zip window. A dialog should pop up asking if you want to add and replace existing files and just choose yes. you can now close 7zip.
you have now themed your apk. just repeat steps 6-9 for the rest of the apks you want to theme. then just push the files back to your phone using ADB. I push them back after I am done editing each one before I clear my "working apks" folder so that I can make sure that it looks the way it should that way if I need to make changes then I dont have to go through all the steps again.
after you have created and tested your theme if you want to share it you will want to make an update zip. there are a few ways to do this. by far the easiest way is to use the fresh pre-kitchen to sign it. for this process you will need to follow these steps. download the pre-kitchen here
http://geekfor.me/android15/fresh-pre-kitchen-02/
1. if you followed the steps above then this will be a snap. just open your "theme apks" folder and create a folder named "system"
2. then select either the app folder or the "framework" folder or both depending on what you changed and move them into the "system" folder you just created.
3. now use 7zip to zip the system folder and name it whatever you like.
4. now open fresh pre-kitchen and go to the tools section and choose the sign a zip option. Follow all the prompts and you should have a signed update zip that anyone can flash.
a few side notes
the process above works great for regular images such as png, jpeg and the like now you will find that to change some things they will be in the dreaded ".9.png" format. these images need extra steps to edit them. that I am not going to go into in this guide but they can be found here
http://forum.xda-developers.com/showthread.php?p=5206698
also there is another method to making an update zip that I am not going to go into in this guide but all the tools and how to do it can be found in this thread here. in the first post 4th section.
http://htcpedia.com/forum/showthread.php?t=1404
if you are completely new to themeing I would suggest trying a 1.5 ROM first as they are a little more straight forward because in 2.1 they spread the images for some of the more popular mods over several different apk's.
I want to give a few quick thanks to the great devs here that give us these ROM's to work Flipz, Toast, Damage, Obalisk, Zenulator, and any that I missed thank you. Also to some of the people that have helped me out emensly in my quest to learn how to theme. Noj you have been such a help, Godzson, Chubbzlou and the others that have helped thank you as well.
I hope that this helps some people on their way to customizing their Heros.
if there is anything that someone sees that I missed let me know and I will add it to the post.
I din't see anything about the META-INF folder with update-script to make it flashable. I don't use Fresh kitchen so I'm not sure if it does it or not. I would visually include the layout of the folders before zipping.I might have missed something you typed.
/system/app/
/system/framework/
Looks right. But my name is chubbzlou.
chubbzlou said:
Looks right. But my name is chubbzlou.
Click to expand...
Click to collapse
sorry cubbz was trying to do it from memory but its fixed now.
Thanks for the how-to write up
No prob just busting chops. The how to looks good. Now we need a how to for the .9.png images.
wtphoto said:
sorry cubbz was trying to do it from memory but its fixed now.
Click to expand...
Click to collapse
I din't see anything about the META-INF folder with update-script to make it flashable. I don't use Fresh kitchen so I'm not sure if it does it or not. I would visually include the layout of the folders before zipping.I might have missed something you typed.
/system/app/
/system/framework/
Click to expand...
Click to collapse
I didn't add anything about META-INF because the pre kitchen adds it but that's why I added the link to the other way of signing it explains all that
@chubby that is also why I put the link to the other post I think its a pretty easy to understand guide for the .9.pngs
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
added to wiki
This is just what I have been looking for. Thanks for putting it together.
Everything seems to work fine so far, but I've hit a snag.
Here's what happens. I've made some changes to my rom. I'm on modaco's latest, I have theme with the battery percentage mod installed (can't remember which), but everything runs perfectly with no hiccups or hangups.
The problem I'm running into is with the battery icons.
Here's what I do.
1) Pull framework-res.apk from device(to keep my changes)
2) Pull battery icons from framework-res
3) Modify icons
4) Put icons back into framework-res
5) Push framework-res back to device
As soon as I push this back to the device, everything starts force-closing. Phone, gmail, launcher, contacts...everything.
I've made changes like this before and this has never happened. Am I doing something wrong here? Any help would be appreciated. I would like to eventually release this as a theme that people can flash.
try pushing the modded files while in recovery...
..never pushed framework-res.apk.
In recovery sounds good..
But why not makin a morph?..or you could do an update.zip.
i am assuming you rebooted after pushing the new framework-res.apk across?
Did you zipalign before pushing? I know CM zipaligns on boot after changes in recovery but can't remember for stuffed pushed across- i either just zipalign it myself or the easiest and best thing to do is what rori~ said- just make a metamorph- that way when the rom gets updated you dont have to change anything at all (assuming there are no xml changes)..
eg. i have been using the same CM metamorph theme i made since about 5.0.X and it still works on every nightly- i have had tyo remove xml edits etc as CM now does that itself but it makes it all so easy.
instead of using adb, try doing it the easy way with Metamorph. Basically you'll need to create custom pngs with the same name as the ones you want to replace in the framework-res.apk.
So get a copy of your framework-res.apk and rename it to .zip and unzip it. Erase all the folders where you have no custom images to push. You'll prob just end up with some nested folders like "framework-res-->res-->drawable-hdpi" or a similar last folder. Place the custom images in there, then just reuse this attached xml file, making sure to change the pertinent information such as the file structure to be the correct path so the images push to the correct folder when you apply it with Metamorph. Be sure to save the xml file with a reasonable name, then zip the xml and framework-res folder containing your custom images together. Make sure the zip has the same name as the xml file only with .zip extension or you may get an error.
From there install Metamorph. Load the zip you created onto your sd card inside the "android themes" folder. Launch Metamorph, grant su, then "unzip new theme", and "apply all".
Hope this is helpful. A bit longer than I pictured it, but easy to do. If you run into trouble just DL a couple ones other people did and it should become easier to figure out.
^^^ what they said
made life even easier ......
here is a blank framework-res morph drag drop your desired pngs in the drawable-hdpi folder within the zip and morph away
http://www.mediafire.com/file/d1zr12fke13i61l/Framework_res_obama.zip
icegad said:
^^^ what they said
made life even easier ......
here is a blank framework-res morph drag drop your desired pngs in the drawable-hdpi folder within the zip and morph away
http://www.mediafire.com/file/d1zr12fke13i61l/Framework_res_obama.zip
Click to expand...
Click to collapse
Awesome! Thanks a ton! I'll report back my findings...
Sorry, no such luck. Endless force closes and reboots. Bummer. I'll have to sleep on it for a day or two and come back to it.
If anyone has any ideas, please let me know.
If u like u can upload the images and ill try to morph it on my phone and see what causes the fcs if any
icegad said:
If u like u can upload the images and ill try to morph it on my phone and see what causes the fcs if any
Click to expand...
Click to collapse
That would be great, thanks!
morphed the icons onto my phoneno fc or bootloops here
see screenshot....(i have a black status so it maybe hard to see your icons )
only thing i can think of is.... dont know if you were putting your folder within the drawable-hdpi folder that can cause errors..put the standalone images only
and i went ahead and put the icons in the morph you so you can jus morph this zip >>>
http://www.mediafire.com/file/9ldnfsf4t894kz6/Framework_res_obama.zip
This is a very basic guide to beginning themeing. It is not meant to be all-inclusive, just some simple steps that can be taken to make your own custom theme fairly easily. This guide should allow anyone to be able to grab images they like from any ROM and incorporate them into their own.
I SUGGEST YOU ALWAYS MAKE A BACKUP OF ANY FILE BEFORE YOU THEME IT AND NANDROID FIRST BEFORE FLASHING
Here is a basic overview of changing images in an apk:
1. Get your base file to theme – framework-res.apk, com.htc.resources.apk, phone.apk ect.
2. “Open” apk archive with 7-zip (don’t unzip!) and drag and drop the new images into the appropriate folder.
3. Flash new file.
Now some details:
1. The first step is to obtain the file you are going to theme. The file you are themeing ( i.e. going to flash to your phone) must come from the ROM you are currently running. Always use files from your current ROM as a base, however the images you want to change can come from other ROMs, or you can edit existing ones or make your own from scratch. You can obtain your theme base through an ADB pull of the files from your phone, or simply downloading the ROM zip file and extracting the files you need.
2. Now that you have the file to theme, don’t touch it! OK, more specifically, you won’t unzip or do anything to this file except “open” it with 7-zip (unless this is a market app, but more on that later). You are going to drag and drop the new icons into this file by “opening” it and navigating to the appropriate folder. The images you want to change are stored in the apk under /res/drawable-hdpi. Once you have your new icons from other sources, open your base file and navigate to this folder and drop them in.
3. Now you can flash this new file. I have provided empty zip files that you can place your themed files into and flash in recovery. Place your framework-res.apk and/or com.htc.resources.apk into the /system/framework folder located in the zip file provided. Now highlight the META-INF and system folders and zip them up. You can now place this file on the root of your SD card and flash. System apps can be placed under /system/app in the zip file.
Some more info on common themeable files:
Framework-res.apk – this is the meat and potatoes of a theme. On an AOSP ROM it will contain almost everything you want to theme aside from individual apps themselves. Sense ROMs have another file com.htc.resources.apk, as well as framework-res.apk. Both of these files are located in a ROM under /system/framework.
System apps: These apps come packaged in a ROM under /system/apps. They can be themed in the same manner as a framework apk. Some of these apps include Gmail, browser, camera, ect. Place them in your flashable zip under the folder /system/app.
Market apps: These apps are downloaded from the market and are can be pulled from your phone from /data/app. These files require a bit more to theme. They don’t share the same signature as the system apps and you must resign them using a program such as apkmanger. Place them in your flashable zip under /data/app.
If there are any errors, or if anyone has suggestions please let me know. I may have over looked some details, ect.
Thanks to everyone on XDA who has shared their knowledge and made this a great community!
Thanks that will be helpful
Sent from my PC36100 using XDA App
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
xlGmanlx said:
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
Click to expand...
Click to collapse
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
its a website where you can load your requirements and folks can bid to do your work
linky
nukedukem said:
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
Click to expand...
Click to collapse
xlGmanlx said:
its a website where you can load your requirements and folks can bid to do your work
linky
Click to expand...
Click to collapse
Interesting. Didn't know anything like this existed.
Sent from my EVO (CM6.1) using XDA App
Thank you, thank you!!!! I've been looking for something like this for a while.
evolishesh said:
Thank you, thank you!!!! I've been looking for something like this for a while.
Click to expand...
Click to collapse
No prob. Let me know if it works for you.
I couldn't get the auto signing to work, but the manual way of doing it worked.
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
JasonK75 said:
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
Click to expand...
Click to collapse
The signing should be ok. If you are using Amon_ra recovery it wont let you flash an unsigned zip I believe. Are you on sense or AOSP? Are you editing images or just copying from other ROMs?
What you might want to do is just create a simple test file. Change just one image and then flash that. That should let you know that your process is correct.
I using Amon Ra and using AOSP. I was moving some items out of a sense ROM so I guess that is where I might have went wrong. I think I'll take your advice and move just a single image and see how that works for me. Thanks!
I tried again this time I ended up stuck at the EVO white screen. I'm guessing it doesn't like the sense part I'm trying to throw in there. I'll have to try again with a AOSP theme instead.
Sent from my EVO (CM6.1.1) using XDA App
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
spence341 said:
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
Click to expand...
Click to collapse
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
I think that
1.7.0.2 = yes
1.8 = no
nukedukem said:
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
Click to expand...
Click to collapse
nukedukem said:
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
Click to expand...
Click to collapse
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
nukedukem said:
No prob. Let me know if it works for you.
Click to expand...
Click to collapse
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
xlGmanlx said:
I think that
1.7.0.2 = yes
1.8 = no
Click to expand...
Click to collapse
So the new amon_ra doesn't require a signed file to flash? I'll make a note off that. Thanks.
JasonK75 said:
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
Click to expand...
Click to collapse
OK I'll try and do what you are trying to do and see if it works...
evolishesh said:
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
Click to expand...
Click to collapse
So now you have an unzipped framewor-res.apk with a bunch of images. This framework should be the one that you want to take icons from. If not, start over with the ROM you want to copy images from. You will want to copy the images you want to put into another ROM so that you can dump them into the new framework-res.apk. After you figure out what icons you want to bring to your new framework, get a clean version of framework/com.htc from the ROM you are actually running - i.e. if you are running myn ROM on your phone, download the myn ROM and pull out the framework-res.apk or com.resources.apk that you are going to theme.
Now with this fresh clean framework you will "open" it with 7-zip to navigate to the /res/drawable-hdpi folder so you can now drag and drop the images you want to copy over into it. Then the close the 7zip window and your framework-res.apk is all set to flash. You don't need to rename if the file names are the same, you can just drag and drop and the files will be overwritten in the new framework.
So I'm using running MIUI 1.23.9 and I'm using metamorph to change my wifi signal bars. I'm using a modified version of Akoe101's bars (unzipped, changed images, rezipped). After applying in metamorph and rebooting, my wifi bars are still the same... What gives? I've tried twice, I looked in /system and the files are in the res folder, but I still get the normal wifi bars.
i dont think this will work<<<
now i could be wrong. and maybe cause its miui, but in most roms you can just edit the systemui.apk to have different wifi images.
you just have to resign it and all.
make sure to always have back ups of your original. worst thing that happens is system ui crashes, when this happens you can just hold the search button down, and usually if you get into google search, it wont require the status bar. then you can search for your root explorer app, and edit the file back and reboot.
sorry im not that much help, good luck.
there is probably a tutorial online that shows you how to make a miui theme
i know there are tutorials on changing systemui.apk
MiUi is not like most Roms......i dont think you just go pulling images from theframework.res or Ui images either....
LG would be the one to ask he seems to be able to make Miui Themes and turn them into MTZ files so u just have to put in the proper folder and Bam miui does the rest.
but Ninja/MetaMorph......Dont work here.
you will only get bootloops, OR just nothing will happen.
Okay so if the mtz theme your using already has modded wifi signal bars the easiest way to exchange them if you insist on using your phone is to use root explorer download both the mtz you want to use and the one that you just want the wifi bars from. Rename the one you want to use to to zip by renaming the file form .mtz to .zip extract all go to extracted folder when you open is it will either have a bunch of files "if there files at the end of systemui and extract" or folders if there folders than just find systemui go to drawable-hdpi and check to see if the wifi bars are there if so back up to were the other mtz is the one you want the wifi bars from. repeat the process now once they are both extracted go into the drawable-hdpi folder that has the bars you want use multi-select to select all the images then go to the folder you want them in click paste and hit yes to over write. now in the folder you just out the files in re-zip go to zip extension when prompted rename it and take the zip out it should now turn into a file again move the com.systemui file or systemui folder back into the theme zip the theme go to zip when prompted rename to mtz and place this in your miui theme folder if you need more help pm me but once you do this a few time it will get easier and easiest if you use a computer...
I've been trying to tweak a MIUI Lockscreen theme and from a few examples I've spotter a lockscreen folder that has all the components and an .xml-file. But the one that closest resembles what I want from my lockscreen only has a lockscreen-file with no extension.
How do I open this file?
Right-O. So I just installed 7zip and it shows the lockscreen as a folder as it correctly should. WinRar seems to **** it up somehow.
murmlei said:
I've been trying to tweak a MIUI Lockscreen theme and from a few examples I've spotter a lockscreen folder that has all the components and an .xml-file. But the one that closest resembles what I want from my lockscreen only has a lockscreen-file with no extension.
How do I open this file?
Right-O. So I just installed 7zip and it shows the lockscreen as a folder as it correctly should. WinRar seems to **** it up somehow.
Click to expand...
Click to collapse
For editing mtz files, you must set the compression rate to store in winrar otherwise the app can't read it.