Hi Guys,
I'm coming from Windows Mobile 6.5 where theming was a bit different:
When I started with 6.5 I used to think the only way to change the look of my phone interface was to flash a custom rom, but then I realized I could theme individual components (6.5 theme, Taskbar, Icons, Start Menu, ect) and it turned out to be pretty easy.
With Android I'm begining to think the opposite exists, is it basically true that in order for me to change the colors of the taskbar, or menus, taskbar icons - I have to use a custom rom?
I have been reading over these threads for the past three days and I have learned a lot, but I'm still confused...
I used to do M2D themes and change the xml and such, but when I read the Android theming guides ALL of it seems foreign to me...does't seem like I can just swap out pngs for pngs I made in Photoshop Am I making this seem more difficult than it is?
Are there individual themes for my taskbar, dialer, ect (not roms)? And if so can a former Windows Phone user explain them in comparison to installing a cab?
I know I have a ton of questions so any help at all would be appreciated
Thanks
MEGA MAN
There are MANY apps out there that will allow you to make these changes. Do some searches on the market and you'll find them. Do some research into rooting your phone (at your own risk) which will allow even more options.
You do not have to use a custom ROM to theme your phone, but it makes it a lot easier overall. AFAIK, you still have to have your phone rooted to theme more than icons.
To theme images, it really is just swapping out your images for the images already there as long as they contain the same dimensions, format (pretty much always .png), and name.
The .xml files are easiest to edit if you have decompiled the apk with a tool call apktool, because then they are in readable format.
Apktool is also really great for getting .9.png's in decompiled format with the stock guidelines intact.
You can theme various different components with an app called Metamorph or Ninjamorph, otherwise, you're going to have all your different parts together.
I've been theming android for getting close to two years now, so if you would like more help, you can PM/email (david1667jones gmail) me for more specific answers.
megaman - ain't it a trip coming from WM to android? yeah...WM seems such a simpler way. especially CHT2...that is really the best modding system ever.
been experimenting for the past 2-3 weeks and have been successful. (even have a usable CM7 theme that i may post...)
so let's hash this out. maybe teach eacho other a thing or two. if i am being too basic, let me know.
apk - like a cab. tricky thing is that (i believe) if you edit an apk, you replace the entire apk. unlike a cab where you can replace 1 single file. there are theme programs (metamorph - haven't used it, ADW and others that allow replacement with a single file...but they take a little work. nothing easy like cabs for WM.)
to begin you need 7zip (or winrar i hear works.) this will allow you to open apks, replace files and restore them in seconds:
http://www.7-zip.org/
i assume your rom is rooted (i really don't understand the term, but it allows freedom to mod your phone. i am using an HD2 - WM phone - running nand android so by default my phone is rooted.)
let's explore - take any apk and open it with 7zip. you will see 3 files (this is off of memory as i am at work right now.) open them and look around. ((want to find your installed apks and back them up? search market for Astro. (settings> backup and save your apks to your sd card)))
under res you will see drawable folders - this is the jackpot. in there you will see your images. there is a lot of redundancy in apks. the trick is finding the right image. try changing some, etc. this is the most basic of theming.
before moving on to xmls, etc (which there are quite good guides for this) just try the above. when you replace the files move up the folder hierarchy and it will ask you something about saving/restoring - cilck yes. the apk is now modded.
install the apk and see the changes.
however, if you are editing the core apks - system and framework-res, we will need to talk about how to do that (i use clockworkmod flashing...easy to do.)
let me know if this helps.
Thank you guys so much for your knowledge!
I do have my phone rooted and I have bootloader installed
The one reason I thought that I had to download a "ROM" is because I keep reading about having to be deodexed in order to modify...and I was underthe impression that most custom roms provide this deodexing?
on to APK's...I do have 7Zip and I have opened some up and found where the graphics are...now I am actually extracting the apk so I can manually go through each folder and see whats there including graphics...there does seem to be another way of opening the APK with 7Zip and not actually extracting it, but I don't thing I can actually see the image previews this way. >>>so I extract, change my desired images, re-zip and change the file extention back to .apk - BUT then I read about signing APK's? ...and signing zips?
After some researching I found a thread in which someone posted something like they make a copy of there current ROM "theme?" and then copy it in zip form on to their PC where they goe through all of the desired APKs and then Zip it back together and install it from the screen that you get to after holding the power button and home (recovery screen maybe?) <<< Anyway is this possible? This seem most like what we did in windows phone...but again I think where I'm getting caught up is the signing aspect...I've seen auto signers, but I feel like the ones I've seen were only for XP and I have Windows 7.
Woo... ok wrote a lot there - if you have anytime to elaborate on anything, I'd be happy to hear.
...and jsmccabe - that HD2 is one awesome device...I remember everybody asking if Windows 7 would everbe available and now you guys are dual booting with WP7 and Android - AWESOME!!! (if I didnt have Verizon
megaman...sorry it took a bit. "real life" and all that...
megaman 2 said:
The one reason I thought that I had to download a "ROM" is because I keep reading about having to be deodexed in order to modify...and I was underthe impression that most custom roms provide this deodexing?
Click to expand...
Click to collapse
- not sure what deodexed means. is your rom cm7? if so, tmobile themes is an "easy" way to make a theme.
- are you theming to share or for yourself? if the latter just replace the the files in your rom and flashe the rom. if the former, what type of rom?
megaman 2 said:
on to APK's...I do have 7Zip and I have opened some up and found where the graphics are...now I am actually extracting the apk so I can manually go through each folder and see whats there including graphics...there does seem to be another way of opening the APK with 7Zip and not actually extracting it, but I don't thing I can actually see the image previews this way. >>>so I extract, change my desired images, re-zip and change the file extention back to .apk - BUT then I read about signing APK's? ...and signing zips?
Click to expand...
Click to collapse
- you can extract to make life easier. but when you are ready to make the changes just drag the new icons into the original apk. it will update it for you and you can install it and done.
megaman 2 said:
After some researching I found a thread in which someone posted something like they make a copy of there current ROM "theme?" and then copy it in zip form on to their PC where they goe through all of the desired APKs and then Zip it back together and install it from the screen that you get to after holding the power button and home (recovery screen maybe?) <<< Anyway is this possible? This seem most like what we did in windows phone...but again I think where I'm getting caught up is the signing aspect...I've seen auto signers, but I feel like the ones I've seen were only for XP and I have Windows 7.
Click to expand...
Click to collapse
CWM themes are pretty easy to do. i started with this, the problem is it replaces the entire apk to replace 1 image. which if you are modifying systemui or frameworks, may overwrite other things (colors that you didn't want to.) easiest thing to do....find an already established CWM theme and keeping the same structure, replace the images and flash via CWM.
let me know if you want more details...cheers and good luck!
Related
What I am trying to do (on DC v1.1b5) is combine 3 (or more) signed zips (espresso, clear notification bar, and a taskbar) into an unzipped rom so I can sign it later and flash the whole rom with my changes. (NO I'M NOT GOING TO POST IT AND SAY ITS MY ROM lol)
All of these modifications each change framework-res.apk and com.htc.resources.apk in their own way.
Would I have to figure out every single change to each individual apk and merge them into one file? Or is there another way?
I am not only doing this for my phone, but I am doing this to learn.
Any help would be appreciated
Yes, since there's really no way to tell which files were edited in each theme, you have to go through and find it.
Honestly, the easiest way to do this that I've found is to unzip the archive and scroll through the folders with thumbnails enabled so you can quickly see what they all look like.
I know that the statusbar .pngs are in framework-res.apk/res/drawable-mdpi and they all start with statusbar_* or status_bar*.
The .pngs for the Rosie are found in com.htc.resources.apk/res/drawable-port-mdpi/
EDIT: I would also recommend creating a MetaMorph theme when you get all the files you need. (I'm not sure if it works on 2.1/Sense ROMs, I'm about to use it and find out though) that way you can apply the themes while your phone is on, you can easily transfer it between ROMs, and you only need to use the files that you've changed, instead of the entire .apk. For instructions on creating a MetaMorph theme: http://forum.xda-developers.com/showthread.php?t=591329
on windows 7 you can make one folder called NEWframeworkapk paste all the original file to it, then copy and paste all the files from the others. it will say "do you wish to move and replace "jpg" say yes for all and then you have the changed files.
haha thats what i do? prolly some super easy way though.
Gregalous said:
Yes, since there's really no way to tell which files were edited in each theme, you have to go through and find it.
Honestly, the easiest way to do this that I've found is to unzip the archive and scroll through the folders with thumbnails enabled so you can quickly see what they all look like.
I know that the statusbar .pngs are in framework-res.apk/res/drawable-mdpi and they all start with statusbar_* or status_bar*.
The .pngs for the Rosie are found in com.htc.resources.apk/res/drawable-port-mdpi/
EDIT: I would also recommend creating a MetaMorph theme when you get all the files you need. (I'm not sure if it works on 2.1/Sense ROMs, I'm about to use it and find out though) that way you can apply the themes while your phone is on, you can easily transfer it between ROMs, and you only need to use the files that you've changed, instead of the entire .apk. For instructions on creating a MetaMorph theme: http://forum.xda-developers.com/showthread.php?t=591329
Click to expand...
Click to collapse
Avalaunchmods said:
on windows 7 you can make one folder called NEWframeworkapk paste all the original file to it, then copy and paste all the files from the others. it will say "do you wish to move and replace "jpg" say yes for all and then you have the changed files.
haha thats what i do? prolly some super easy way though.
Click to expand...
Click to collapse
thank you both for the input.
now to go find EVERY change they all make lol
if anyone has an easier way, PLEASE don't hesitate to post lol
regaw_leinad said:
thank you both for the input.
now to go find EVERY change they all make lol
if anyone has an easier way, PLEASE don't hesitate to post lol
Click to expand...
Click to collapse
Gregalous said:
I know that the statusbar .pngs are in framework-res.apk/res/drawable-mdpi and they all start with statusbar_* or status_bar*.
The .pngs for the Rosie are found in com.htc.resources.apk/res/drawable-port-mdpi/
Click to expand...
Click to collapse
Here's a headstart
Gregalous said:
Here's a headstart
Click to expand...
Click to collapse
Thanks
I actually prefer MetaMorph over doing a zip file because all you need are the files that have been changed. However, in 2.1 a lot of files are scattered around or in different places and once the Sprint update comes through who knows where everything will be. Once I finally figured out how to set up the folders the rest I have done became easy...and no need to turn off your phone.
Edit: You can also combine more than one folder at a time
HTC HERO
DamageControl V1
&RoidRage said:
I actually prefer MetaMorph over doing a zip file because all you need are the files that have been changed. However, in 2.1 a lot of files are scattered around or in different places and once the Sprint update comes through who knows where everything will be. Once I finally figured out how to set up the folders the rest I have done became easy...and no need to turn off your phone.
Edit: You can also combine more than one folder at a time
HTC HERO
DamageControl V1
Click to expand...
Click to collapse
Yeah, MetaMorph is pretty cool.
but my problem was actually FINDING the changes in already made zips lol
but I think I got it, well most of the changes (hopefully all)
Alright....I've tried searching and searching but I can't find exactly what I need. I'm wanting to try to port blue echo to cm6.1. Now I'm still a little new at this but I've learned how to smali and baksmali, use flashboot, sdk, sign zips, create flashable zips, zip align, optimize, pretty much all the ends and outs of the basic. I've only been at this 4 months but I love android and want to learn to become a dev. Now I'm trying to learn how to theme roms. There are a million guides that I've found but now will tell me how to do this . Could someone point in the right direction to a thread explaining how to port a sense theme to cm6.1. Ive tried replacing the images in the drawables folders from framework-res . Repackaged zip aligned optimized signed and flashed. Nothing took. So I opened the zip all the images had copied over in the cm6 rom zip. So I wiped and flashed the modded zip it still reverts to the original framework of cm6. I don't understand how that is. I need a way to just copy the colors and images. Does anyone know what I'm doing wrong or know of a how to with just the steps .I already have all the programs on my pc.
shawn328 said:
Alright....I've tried searching and searching but I can't find exactly what I need. I'm wanting to try to port blue echo to cm6.1. Now I'm still a little new at this but I've learned how to smali and baksmali, use flashboot, sdk, sign zips, create flashable zips, zip align, optimize, pretty much all the ends and outs of the basic. I've only been at this 4 months but I love android and want to learn to become a dev. Now I'm trying to learn how to theme roms. There are a million guides that I've found but now will tell me how to do this . Could someone point in the right direction to a thread explaining how to port a sense theme to cm6.1. Ive tried replacing the images in the drawables folders from framework-res . Repackaged zip aligned optimized signed and flashed. Nothing took. So I opened the zip all the images had copied over in the cm6 rom zip. So I wiped and flashed the modded zip it still reverts to the original framework of cm6. I don't understand how that is. I need a way to just copy the colors and images. Does anyone know what I'm doing wrong or know of a how to with just the steps .I already have all the programs on my pc.
Click to expand...
Click to collapse
Simplest way, if you just want the icons, pics and notification bar things is to use 7zip for PC. Don't extract the theme, just open it. Navigate to the framework-res.apk file of the new ROM you want the theme to work on, open but don't extract, copy all the .png files from the theme into the ROM or new theme you are making. It will ask you to replace, obviously you say "yes" When you are done, just close it all back up, no recompressing or signing needed because you didn't extract anything. Just put it on your SD card and it will flash.
Let me know if you need more help. This by and large the simplest method for making minor edits to a theme.
Download the CyanogenSense theme by mrinehart93 found here: http://forum.xda-developers.com/showthread.php?t=723224
It's a working Sense-looking theme on CM6. Download it, unzip it on your PC, pick it apart, etc. to see how he changed and compiled it to make it work. Hopefully that will help you figure out how to do what you want to do. Good luck.
chromiumleaf said:
Download the CyanogenSense theme by mrinehart93 found here: http://forum.xda-developers.com/showthread.php?t=723224
It's a working Sense-looking theme on CM6. Download it, unzip it on your PC, pick it apart, etc. to see how he changed and compiled it to make it work. Hopefully that will help you figure out how to do what you want to do. Good luck.
Click to expand...
Click to collapse
+1 Good idea!
ranger61878 said:
Simplest way, if you just want the icons, pics and notification bar things is to use 7zip for PC. Don't extract the theme, just open it. Navigate to the framework-res.apk file of the new ROM you want the theme to work on, open but don't extract, copy all the .png files from the theme into the ROM or new theme you are making. It will ask you to replace, obviously you say "yes" When you are done, just close it all back up, no recompressing or signing needed because you didn't extract anything. Just put it on your SD card and it will flash.
Let me know if you need more help. This by and large the simplest method for making minor edits to a theme.
Click to expand...
Click to collapse
I did this but had to flash clockword because i was using ra, it wasn't verifying the update. So i turned off signature verification. But I'm using firerat mtd and forgot that i have to repatch the clockword for this so I did'nt really get to see if it worked yet. But thanks all of you responding I appreciate it. Ill let you know if these methods work.
I fixed the prob. Did everything suggested by copying the png's between the zips without extracting them. Even doubled checked all the png's everything looked like it was a go . But I only got 3 of my new icons. Everything else was still stock cm6 even the notification bar was stock. Do I got to do more than just transfer the png's cause it seems like maybe the xml's are reverting them back to stock?
To get started, read the posts below by tsachi.
Then give this a glance - Do it yourself guide for theme editing
More Resources:
http://forum.xda-developers.com/showthread.php?t=982300
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Info on how to edit the items in notification bar:
+ http://forum.xda-developers.com/showpost.php?p=11158662&postcount=3
All credit belongs to the original authors. I am simply gathering all this information to make it easier.
For any help or support, post in this thread and we will try to help you the best we can.
Expanded Information
Introduction
The link in OP gives you instructions on how to replace images, but it lacks information for the inexperienced themer. Here is some background information and some more details on the steps before and after you insert new images in your framework.
System Icons and background images sit in two main files: framework-res.apk and twframework-res.apk. Within these files there is a res directory, and under that you have the folders containing data. Google has guidelines on icon design, although themers usually ignore those in order to get a different from stock look. One thing you would notice is that there are a lot of repeated icons. For example, framework-res.apk has both drawable-hdpi and drawable-hdpi-v4. The first is there for compatibility with older APIs (anroid 1.6 or older) so I am not sure why it is still there, but if you remove it your phone will not like it.
Each application has its own res folder where the launcher icon and other visuals are kept. There are, however, a lot of applications that reference the framework.apk for visuals. An example is the dialer that calls on some background images from both framework-res and twframework-res.
There are 2 types of images that you would encounter. Normal icons and images are non-scalable. They take a certain amount of real estate on the phone, and that’s it. Example of these are the battery levels and notification icons. The other type is the .9 images. These are images that are going to be stretched to fit whatever space is needed. An example of that are the menu backgrounds. The .9 images have a special format. The one pixel border around them defines how they stretch and how content is displayed in them. It is highly recommended to follow the standards in order to get repeatable and consistent look. Android SDK has a tool to help with .9 file design: draw9patch.bat.
Important note: The .9 files show the borders ONLY when de-compiled. If you grab a file from the framework directly you will not see that line. It is therefore required to compile the .9 files after you make them. You can use apk manager or ThemePro-JAVA to recompile the framework apk after modifying the files.
Definitions for which image is used where sit in the xml files under the drawable folder. These are compiled xml files, you can’t edit them with a text editor. For this introduction I will not go into modifying xml files. Each apk also has a resources file that describes what is in there. If you add, remove, or rename files in the apk you will have discrepancy with the resource file and the theme will not work (more likely you will be stuck in an infinite bootup loop)
Before you start:
Warning: frameworks are highly linked with other files. You can’t just take a framework from one ROM and put it in another. Always keep a backup of the original files ready to be installed (see below), otherwise you may need to re-flash the ROM. Frameworks are also sensitive to compression. DO NOT use winzip to handle the files, it can cause problems with the final apk file.
There are several things you would need before you start
A rooted phone
SDK installed on the computer
A zip handling software other than winzip (winRAR and 7-zip are both good options)
Auto-sign (http://forum.xda-developers.com/showthread.php?t=471634) or signing tool (http://forum.xda-developers.com/showthread.php?t=473580)
Create a backup
Grab the framewor
k-res.apk and twframework-res.apk from your phone. They are located in the system/framework folder. You would need them as a starting point for your modification and you need them for a backup
Create a clockwork installation file of the original files (see post below)
Name the installation framework-original.zip, or something else that would be easily recognized in
case of trouble, and then copy it to your internal sd card.
After you are done modifying files
Create an installation file (see post below)
Give the file a name that is easy to recognize and copy it to your internal sd card
Reboot into recovery
Select install zip from card -> choose zip from sdcard
Select the installation of the new framework and confirm the installation
Reboot
If you are stuck in an infinite boot-up cycle
Take the battery out
Using 3-key combination boot into recovery (up-down volume + power. Hold until the AT&T screen cycles back, then release)
Install your original framework backup and reboot
Creating clockwork installation
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Puzzle Lock Screen Mod
Here is information for people who want to modify the look of the puzzle lock screen. It is only the list of images to replace, not the coding to change functionality.
The files sit in framework-res.apk under res\drawable-hdpi. The files are zzz_unlock_puzzle...
puzzle pieces
zzz_unlock_puzzle_noti_icon_call.png : Missed call piece in the floating state
zzz_unlock_puzzle_noti_icon_call_fit.png : Missed call when it gets to the unlock spot
zzz_unlock_puzzle_noti_icon_unlock.png : General unlock floating
zzz_unlock_puzzle_noti_icon_unlock_fit.png : General unlock at the unlock spot
Same for messages and voicemail.
Background
zzz_unlock_puzzle_bg.png : The image that shows on the lock screen. This should be semi-transparent if you want to show the regular screen background
zzz_unlock_puzzle_bg_pressed.png : Image that shows while dragging the puzzle pieces. Usually a slight modification of the regular background
zzz_unlock_puzzle_bg_land.png : The landscape version
Music player
zzz_unlock_disk... and zzz_unlock_ctr_pr... are the files related to the player.
zzz_unlock_ctr_bg.9.png is the background for the music controls
Text background
Overlaying the unlock image is text. That text can have background that is more opaque than the rest of the unlock screen.
The attached image shows the three regions. These regions also apply to the glass unlock.
Note: These are .9 files and should be done right to ensure correct stretching and text boundries.
Other files
There are some extra background files in the frameworks but I haven't been able to find where they go. There are also some files to control the clock numbers zzz_unlock_clock_...
Working with APK manager
What is APK manager?
APK manager is a tool for decompiling / recompiling apk files. If you want to change anything other than images, it is a must have.
The basics
The basic flow when using APK manager is
Place apk file in place-apk-here-for-modding folder
run the Script.bat file
Type 22 and select the file you want to work with
Type 9 and wait for it to finish decompiling
Modify the items you want modified (they will be in the projects folder)
type 11 to recompile
Sounds easy? It is, and it isn't. There are several places where things can go wrong. Here are a few of the things to watch for:
Bad starting file
This is mostly true for framework files that went through several cycles of modifications. The framework is forgiving to having extra items, or having bad .9 images (see post above about .9 images). Some people may have replaced images without recompiling the framework in a way that breaks internal links. If this happens you will very likely see error messages during the decompile stage. If that happens check the log file and correct things. One of the most common errors is .9 files replaced with regular images. See this post for how to solve this.
Things may not always be "fixable", so the best approach is to get the original framework that is the base for the one you need. Having a clean start can save a lot of headaches later on.
Overwriting your changes
When you recompile, assuming everything worked ok, you are prompted if this is a system file. Most likely you want to say yes. This ensures that the original signature is copied over. You will also be prompted if you want to copy some files over from the original. BE CAREFUL!. There are people who say you reduce the risk of errors if you copy things that didn't change. Personally, if I changed anything that required recompilation (mostly added new images or modified xml files) I always choose not to copy extra files. If you do choose to copy some files over, pay attention to the next step. Do not hit any key until you remove the modified files. You will need to go to the newly created "keep" folder (in the top apk manager directory) and remove any image that you changed and any xml that you modified. Also, if you modified xml files to add new images you need to delete "resources.arsc".
Failed rebuild
APK manager is trying to minimize work by only compiling newly changed items. If you built an apk and realized you have an error, or want to add more changes, I recommend removing the cached build. Go to the projects folder and delete the "build" folder. I've had cases where the new items didn't catch.
Removed items
I highly recommend to leave icons that you do not need. I've had occasions where I removed things that I thought had no more reference, but then ended with endless boot-loops. For example, if you modify the xml to only show 6 out of the 101 battery charge animations, leave the remaining icons in your project.
If you're stuck
Look at the log file. That would usually give you an answer. Also, if you are working on a recent GB ROM you probably need to get the beta 5 version. Version 4.9 will have problems compiling the newer files.
Thanks for the info!!! I have been wanting to play with themes for a while. Now I gots the knowledge.
sent from my Cap using the app.
Thanks for this post...I'll be looking into this for sure.
tsachi said:
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Click to expand...
Click to collapse
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
TorqueWrench001 said:
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
Click to expand...
Click to collapse
The file has no extension but it isn't empty. It contains the installation instructions. Typical instructions would be:
copy_dir PACKAGE:framework SYSTEM:framework
which copies everything in the frameworks folder in the zip file to the system/framework folder on the phone
Sent from a captivate running phoenix using XDA app
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Good info
Thanks, been wanting to play with themes for a while now!!!!!
This needs a bump for all those requesting themes to be made.
This needs to be a sticky. I detailed guide is just what was needed. I been wanting to play around with themes but always end up doing something stupid so it never works. Now I have some more knowledge and hopefully can avoid that mistake.
Thank you, one of the links has the info I need to fix my text color issue in my notification/menu window!
Sent from a phone using an app.
Why it's not pinned it's beyond me. We have a thread pinned for must have apps that aren't even must have apps, but not this.
That was do to some how me missing this thread for the post few months. It is corrected now. Stuck
Since the thread is getting more life, I just added info on lock screen (fourth post)
Sent from my captivate running the latest firefly
Resorce dump
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
whiteguypl said:
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
Click to expand...
Click to collapse
Very nice, I will add these to OP with details about each link.
I'm quite happy that this has been pinned finally. Now to get to work. I haven't decided on which ROM I want to do, or even if I wanna port another theme or make my own. SO MANY CHOICES!!
ok... status_bar_close_on_cust.9.png
i believe i have followed all the guides i have seen correctly. sorry. i've been stuck on this for almost 4 hours.
i opened the apk in 7zip, exported the image.
removed the 9 from the file name
edited the png in PS
opened draw9patch,
added the full bottom and right side lines.
added the 2 dots i need on top and made the leftside work after eclipse failure
did the eclipse project thing
pulled new status_bar_close_on_cust.9.png from the eclipse created apk
opened framework-res.apk in 7zip again
i tried both..
- deleting the original image and then adding the new to the archive
- drag-drop the new image thus replacing the original
resign the rom's zip
when i install on system i get the bootloop with each loop getting shorter.
i have tried converting framework-res.apk to a zip, resigning it, and then back to an apk
i know this is a much descussed subject on this forum and all the other's i googled looking for the missing step or something i'm doing wrong
i have tried apkmanager, apktools, shorter suggested methods i've seen, and full drawn out methods.
i dont know if i'm messing something up in the png edit, the draw9patch, eclipse, signing or not the apk, or somewhere else.
i've tried pulling a logcat/boot.log from the device but i get some sort of error. i dont know if it's not creating one or i'm trying to pull it from the wrong place.
i'm sure a ton of you guys have had this happen to you. please offer some advice
Do you get an error when importing into eclipse? If so what does it say?
im sorry shoulda clarified that. originally i failed to put the patches on the left side. it failed when trying to make the apk. put thos there and the apk was created. my proplem is with the framework-res.apk i guess.
i put it back in the rom, sign it, and boot-loops.
i guess it has something to do with adding the image to the framework-res.apk. apparently it doesnt like the new image, so to speak. i have tried finding out how to re-build the framework-res.apk, to no avail. hell, i may be using the wrong terminology when searching. at this point, i have no idea.
If i change any images i use metamorph, free from the market. You dont need to sign and flash full apk's, just the files that need changing, a lot quicker and easier.
You could create your ***.9.png as a full size png and remove the 9 patch data, eg. instead of having a 5x32.9png make it 320x32.png(depending on your resolution).
In fact come to think of it ive never seen the "status_bar_close_on_cust.9.png" on my screen, just "status_bar_close_on.9.png".
EDIT: If you've used apktool or other to decompile, crop the the edges by 1 pixel each side, this will remove the 9 patch data, edit your image, then use your draw9 tool, and recompile with eclipse.
You may have been adding another 1 pixel 9patch border to the already existing 9patch border, hope that makes sense.
this is the custom pull down notification bar in gingerfly-1.7.0 based on cm6.1 i believe with some gingerbread looks.
This is how I do it:
1. Extract image from framework-res.akp. You can right click on the framework > 7-zip > open archive and extract the image this way or just extract the whole apk.
2. Edit the image. Open the image in Photoshop and do what you want. Don't worry if you don't have the border. Save the image as a .png file.
3.Add the border. Open draw9patch and add the image. A border for the dots should be created automatically so just do what you need to do and save it as the same file name. It should automatically change the file type to .9.png.
4. Compile the image.9.png. Download the file attached. In the zip, you should see a file called 'xUltimate-d9pc' and a folder called 'Original'. Put the image into the folder 'drawable inside 'res' inside 'Original'. Then open the file named 'xUltimate-d9pc' and wait. When it has finished, there should be a new folder and inside should be the compiled image.
5. Replace the image in framework. Right click framework-res.apk > 7-zip > open archive. Drag the new image into the framework, make sure you have the same file name. You shouldn't need to sign it.
Now you should have a framework-res.apk working with no problem.
I'm not sure if it will work for a custom rom as I use the framework-res.apk from my X10
Hope this helps.
that worked! thanks much!!! the one step i did add to this is to re-sign the rom. i have had nothing but problems anytime i have not signed it after making any changes. it may be an un-needed step, but it worked. thanks again!!!
Can I bump this real quick?
This is my first post here and I'm sorry if I shouldn't bump this thread but my problem is closely related and I hope someone out there knows what I'm doing wrong.
First things first, I'm using the EVO, that's probably important information.
I just flashed Warm Z TwoPointTwo and I love it, except... I really want the vanilla lockscreen. No problem, right? Just rename or delete HtcLockScreen.apk and you're good to go.
That works, and the vanilla lock screen appears upon hot reboot, but the images aren't right; they are all transparent in Warm Z. I have been trying basically all day to get the stock images back into framework-res.apk and nothing has worked; I bootloop every time.
The images are jog_tab_* except that the images in MY framework-res.apk have for example jog_tab_bar_left_end_confirm_gray.png (for all of the left and right end confirm images), whereas the AOSP framework-res.apk has 9patches for all of those.
I've tried deleting the jog_tab_* images in mine and placing in the ones from AOSP, I've tried placing the AOSP images in alongside the ones already in my copy, but nothing works.
I've tried apktool, apk manager, xultimate... I've read about 25 xda threads on this and tried every new suggestion. It bootloops no matter what I do. I think I'm missing something.
I've done the 7zip replacement without re-signing, I've re-signed, I've done xultimate with compression 0, and I've tried creating my own metamorphs. Something about Warm Z is conflicting with the vanilla images, but I'm too inexperienced in themes and the Android OS to know what's up.
Perhaps Warm Z changes definitions elsewhere as to which images are used, or perhaps something else isn't lining up properly with the vanilla lockscreen code. I hope someone out there knows what on earth I'm talking about.
Hello A little while ago I managed to learn how to theme totally from scratch. I knew nothing of anything before I started, but now I know how to port themes As I still see myself as a n00b there may be some weird things I've done, but at least I manage to create the themes This might not be the best way to theme, or the easiest, but it works
Overview PNGS
1) Getting the files
2) Getting the images
3) Port
4) Package and Sign
The only programs I've used is 7zip and autosigner download them and install 7zip and extract autosigner to a nice location for example your desktop
Getting the files
The first you need to do (after getting the programs) is to find the file you will mod (edit). This will mostly be the framework-res.apk because this decides most of looks of phone (for example the statusbar). Download the .zip of the rom your going to theme. Open it up (shouldn't require any programs, if does, use 7zip: either drag it onto the 7zip icon or right click and choose open with). Open system -> app and copy the framework-res.apk (or any other apk you would like to theme, for example the settings). Now paste it into an appropriate folder.
Getting the images
Now you need to find the images you want to use in your new theme. Find either an update.zip with a theme or an .apk with a theme chooser theme (if there is both a version for Froyo and GB, use the Froyo version as this will make it easier ) Open it up with 7zip (drag it into the 7zip icon). Now you can do either of two options:
1) You can take the whole drawable-mdpi folder and copy it out. You should probably don’t do this with a Themechooser apk, as they usually don’t have all icons in this folder, as they often lend a few from HDPI.
2) Take only the images you want and copy them to a folder. For example if you want the signal icons, copy the “stat_sys_signal_0” (-4 of course) and copy them out. If you want the statusbar background, copy “statusbar_background”. This way you can mix several themes, take the best of several themes and make your personal theme
When you’re done getting your icons, close the window.
Porting
Now open the Rom’s default framework-res.apk with 7-zip. If you’re going to port a whole theme, delete the /res/drawable-mdpi folder and copy in your own. If you’re going to port just a few icons, open the /res/drawable-mdpi folder and paste your icons. You might want to check if the icons have the same names in the different framework. For example the headset icons can be both “stat_sys_headset” and “stat_notify_headset”. Also if you port from a theme chooser theme, you will have to rename every single .png you port. This is really boring, but necessary. You need to remove the “framework_res” and the “android_systemui” from the beginning of all the names. So “framework_res_activity_title_bar.9.png” needs to be changed to “activity_title_bar.9.png”. Because this is so boring you better keep your renamed icons, so it’s easier to port it to another rom
This is kind of off-topic: my carrier lends network of another carrier. Therefor my phone is allways roaming. This puts a stupid “r” with my signal icons. To avoid this I allways take normal signal icons, copy them, and rename one of the two .pngs from for example “stat_sys_signal_1” to “stat_sys_r_signal_1”. This way I get rid of this stupid “r” and it will always show the normal icons
Packing and signing
Now the porting is done and the next job is to push the new framework to your phone. If you are familiar with adb, you can push it to system/framework on your phone. You don’t need to anything more with the apk before pushing it. Else you can create a flashable .zip for your theme. I’ve attached a .zip with update script (I haven’t created it. Just stole it from one of Elelinux’ add-ons ). Download the zip. Create a folder named system and a folder named framework. First drag the new, modded framework_res.apk to the framework folder, then drag the framework folder into the system folder, before you drag the system folder into the attached zip. If you use Clockworkmod recovery, you can just flash the zip right as it is, but if you use Amon_Ra or want it to be compatible with every recovery because you want to post it, you need to do something.
Unpack autosigner and launch the exe file inside. Drag the .zip into the new window and press sign. It will now appear a new file in the same folder as the file you wanted to sign. Its name is the same, but with “_signed” at the end. You can rename the file as you wish both before and after the signing.
XML Editing:
I decided to add a little section about XML editing as well I really don't know all about this myself, but i can tell how to set it up and some examples to what you can do Even though this may seem really complicated, it's not written in a completely different language, like Java in the smali files, so often it is possible to use logic to get what you want
Tools needed: APK Multi-tool. as well as Java, if you don't have it installed.
Overview:
1) Setting up
2) Examples
3) Finish
Settings up
Download APK Multi-tool and extract/ unzip it to wherever you want ( I have it on my desktop). Now you can place the apk you want to modify (usually the framework_res.apk) in the "Place_apk_for_modding" folder. Then you open the script. If you don't get an error, proceed to b), if you do get an error proceed to a)
a)) If you do get an error where it says something like "java not found" you need to correct the Java path (or install Java if you haven't done that, which you should have) . I had to do this to get it working. First open my computer and click disk C, or D if you have installed Java there. Open programfiles (or whatever it's called in your language) and scroll to the Java folder. Now open the folder there jdk folder or whatever you have there and open the "bin" folder. Look at the top of your window, where it says where on you're computer you are (like Windows: C to the left, and then Programfiles and so on). Right click it and click copy address. Mine is "C:\Program Files\Java\jdk1.7.0_01\bin . Now you can close the window.
Open "My computer" again. On the top bar below the navigationbar, click Sytemoptions (sorry, not really sure what it's called in Englsih, as my computer is Norwegian, please correct me if I'm wrong). On the left click the "advanced" link and in the popup that appears click "environment variables". Scroll down to the "path" variable and edit it. Paste the address you copied and click OK. You should now be able to proceed to b). If you still get an error, please tell me and I'll try to help
b) type 25 and press enter to select current project. Here you will see all the apks in the "Place_apk_for_modding" folder. Select the appropriate number (in this case probably 1) and press enter to continue. Then you hit 9 and enter to decompile it. I cannot really explain it, but it enables you to edit the xmls in the apk. If you try to edit them by using 7Zip, the xmls will be just messed up. When it's done decompiling, you have gotten a new folder in the "projects" folder. In this case it is probably named framework_res.apk. Minimize the script (DON'T CLOSE IT) and you're ready to edit the xmls
Examples on edits:
COMING SOON
Finish:
When you're done editing, open the script again (remember what I said about not closing it? ). Click 11, unless you are editing a non system apk. If you are editing the framework or settings or such, use 11. If you get an error now, you have probably done something wrong, try to see in the log what you have done wrong. Every time I've had an error, I've ended up in bootloop when I've flashed, so it is probably better to just start over. Another tip is to do one thing at the time. For example: you decompile, edit the notification color in pulldown, compile. Take the compiled apk, decompile edit another thing and so on, this makes it easier to not mess up and it also shows what you are doing wrong.
On the "Is this a system apk?" you should probably say y, as I said above. I also usually copy over the files I didn't edit, as this seems safer. Follow the instructions and you should be fine. When you're done and the script is done compiling, you will find a unsigned_**** (for example unsigned_framework-res.apk) in the "place_apk_for_modding" folder. This is your modified apk, and you can try to push it to ur device with an update.zip or adb, if you know how to use that
Well this was the end of my guide for now If there's anything which is unclear or you have other suggestions, feel free to post I've probably forgotten something
Finally after all my attemps to modify the android framework before i have do it correctly. I have changed a couple of things, the lock screen and battery icons so far. The framework I'm modifying is the one on Ele's Gingerbread and i wonder how to get the battery icon percentage 1 by 1 as i saw in some other themes. What i mean is that in the original framework there is only battery icons for 15, 20, 25 and so on, and if i push the 16, 17, 18, 19 they won't work. Is Theme Chooser the one on charge of this? how can i get that? some help please?
(Also tryed to theme a sense rom, but everything was messed up, i guess because of sense or maybe I did something wrong)
So thanks for your guide, really helpfull
Yeah, I've never tried to theme Sense so I don't know. It is probably possible to make icons for every %, but then you'll have to decompile using APK tool, and it is harder. I don't know how. If you want to try, you could try asking a question here
thanks
so funny=))
i'm tried
Great guide helped me a lo thx.
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
mDroidd said:
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
Click to expand...
Click to collapse
Hmm, ICS themes can be made really awesome, if you do some more advanced stuff. For example you want to remap the pulldownbar a bit, and change som text colors. But to do this you need to use a tool like APK multi-tool, and it is a bit more advanced. If you want to, I can create a new section where I show how to this
Thank you.
GUIDE UPDATED! Added a section about XML editing really quick, probably forgotten something and such, so just ask if there is something you don't understand This is for those who are getting used to the PNG editing and want to proceed to something slightly more advanced, for example you 7Tosta
Cheers
BTW: I should've reserved the 2nd post, this is getting messy
Edit: If there's anything specific you want me to add to the EXAMPLES section, tell me