I've seen it asked quite a few times now, so I thought I would share how I've been creating my own themes for the Nook. This is a quick and dirty guide as I've almost got it down to a science for quick, keyboard shortcut, theming.
Things you'll need
Photoshop or The Gimp for editing files
Android SDK so you can push and pull files to/from the Nook.
draw9patch app in the Android SDK /tools folder for creating 9.png files
APK Manager (http://forum.xda-developers.com/showpost.php?p=6703735&postcount=1)
Notepad++ or some other text editor for editing XML files. After using Notepad++ on this, I'd highly recommend it though
An attention span
Some restraint
This is a rather good guide that helped me get started. My only complaint is that it is almost to complicated and includes more information than what is needed for a basic theme.
http://forum.xda-developers.com/showthread.php?t=916814
Getting Started:
Download the Android SDK and get it installed.
Download APK Manager
ADB pull /system/framework/framework-res.apk
Make a copy of the framework-res.apk files as a back-up in case you need to revert
Copy the framework-res.apk file to the /place-apk-here-for-modding folder under the APK Manager folder
Launch the APK Manager Script.bat file
Type in 22 to select the default project
Type in the number next to framework-res.apk in the list to select it as your project
Select 1 to extract the files
Select 9 to decompile (this is what makes the XML files readable)
Go to the /projects/framework-res/res folder under the APK Manager folder to view all the files from the theme
Images are located in the /drawable-mdpi folder. XML files are located throughout, but the files specific to layout are under the /layout folder. To change global settings, such as color codes and strings, edit the XML files under the /values folder.
Creating custom PNG files: If you are using Photoshop, use the Save For Web feature when saving. Save the image as PNG-24. Select None under the Matte option. Select None under Metadata.
A word on 9.png files: 9.png files are files that can be stretched by the OS. There is a 1 pixel border all the way around the image. In that 1 pixel border, you'll notice solid black lines here and there. The black pixels indicate which portions of the image are to be stretched. You can add this border and the black pixels in Gimp or Photoshop, or you can open the file the draw9patch app under the Android SDK /tools folder. The draw9patch app will actually display how the image will look when stretched as you add the black pixels around the border, so it can come in handy and it's what I prefer to use. You can open and edit .9.png files in draw9patch and edit the border even after you save the file.
Once you have all your files edited, recompile the APK package with APK Manager
Option 11
y
y
It will tell you to delete the files under the /keep folder that you have edited. Delete any images and XML files, from the /keep folder, you edited under the /projects folder. If you edited XML files, delete the /keep/res/resources.arsc file as well
Press any key to continue and let the script finish
In a separate command line window, mount your Nook's /system folder (adb shell mount -o remount,rw /dev/block/mmcblk1p2 /system)
back in APK Manager, select 8
/system/framework/framework-res.apk
Reboot your Nook
Boot Loop: If you messed something up and are stuck in a boot loop, most of the time you can still mount your Nook, push the original framework-res.apk to it and reboot. Or, you can use an unedited version of the CWM flashable zip file from the link below.
NOTE: it is not smart to push your framework-res.apk file to the Nook. I've learned the hard way that you can only do this about 10 times before you run out of memory and can no longer boot your Nook until you reflash Froyo again.
I'd recommend only a few flashes on a bare bones copy of Froyo until you feel comfortable with working on the framework theme. After that, I'm attaching a base, flashable zip for you to use in CWM so you can flash the theme instead of pushing. This will prevent you from getting stuck in a boot loop (unless you do something wrong yourself).
To add your framework-res.apk file to the zip, just open the zip and replace the /system/framework/framework-res.apk file (I'd recommend 7zip).
A Few Goodies
I'm including all of the PSD files I use to edit and create themes. If you want to create your own, custom theme, these will get you started. The only downside to these PSD files is that they are at the MDPI scale. If you want to create an HDPI theme, you'll need to increase the sizes.
Link to PSD files for creating your own theme, plus the flashable CWM zip file:
http://jjis.me/android-theme-templates
Hey man, I know you theme the froyo roms, but Im attempting a theme for the Phiremod CM7 and I cant seem to get anything but splash hangs and bootloops. I theme CM7 for the hero so I know my way around that, but Im wondering if theres something about the Nook that I have to do differently. For instance what is the mount.sh file you have in the tools folder on your themes? Is that only for froyo? Any help you could give me would be appreciated.
PMDColeslaw said:
Hey man, I know you theme the froyo roms, but Im attempting a theme for the Phiremod CM7 and I cant seem to get anything but splash hangs and bootloops. I theme CM7 for the hero so I know my way around that, but Im wondering if theres something about the Nook that I have to do differently. For instance what is the mount.sh file you have in the tools folder on your themes? Is that only for froyo? Any help you could give me would be appreciated.
Click to expand...
Click to collapse
CM7 is a little different than the stock builds of Froyo and others. They use the theme manager for it. If you are looking to theme for CM7, I'd suggest learning what it is needed to package it for the theme manager. I spent about an hour one day trying to find documentation, but couldn't. If can, or have it, please let me know where to find it so I can link to it and use it myself.
With that said, it appears that CWM does not flash, or at least mount, the same on the Nook. I'm assuming it's because it's on the external SD card and not internal. The mount.sh file was borrowed from samuelhaff's flashable ROMs. It actually tells CWM to mount the internal memory and flash to it.
If you are flashing without the mount.sh, it could be why you're getting the boot loops.
CWM uses edify language instead of amend. Again, it took me forever to find little to no documentation on it.
If you are using the mount.sh file and you are still getting stuck in a boot loop, I did discover a little issue with it yesterday. I was trying to use it to flash my new theme without the Vending.apk mod and I kept getting stuck in a black screen during start up. I forgot my edify code deletes the Vending.apk file so that was causing my problem. If you know how to edit the file, go for it. If not, I'm planning on updating it to correct this. If you need to, for now, just copy the Vending.apk to your flashable zip file.
It deletes the services.jar file as well. This was a requirement on Froyo since the status bar text is black by default. The services.jar file has to be edited to change the status bar text to white. Since CM7 does not need that change, try pushing just the framework-res.apk file, reboot and see if you boot successfully. If so, that is more than likely your problem.
wretchedlocket said:
CM7 is a little different than the stock builds of Froyo and others. They use the theme manager for it. If you are looking to theme for CM7, I'd suggest learning what it is needed to package it for the theme manager. I spent about an hour one day trying to find documentation, but couldn't. If can, or have it, please let me know where to find it so I can link to it and use it myself.
With that said, it appears that CWM does not flash, or at least mount, the same on the Nook. I'm assuming it's because it's on the external SD card and not internal. The mount.sh file was borrowed from samuelhaff's flashable ROMs. It actually tells CWM to mount the internal memory and flash to it.
If you are flashing without the mount.sh, it could be why you're getting the boot loops.
CWM uses edify language instead of amend. Again, it took me forever to find little to no documentation on it.
If you are using the mount.sh file and you are still getting stuck in a boot loop, I did discover a little issue with it yesterday. I was trying to use it to flash my new theme without the Vending.apk mod and I kept getting stuck in a black screen during start up. I forgot my edify code deletes the Vending.apk file so that was causing my problem. If you know how to edit the file, go for it. If not, I'm planning on updating it to correct this. If you need to, for now, just copy the Vending.apk to your flashable zip file.
It deletes the services.jar file as well. This was a requirement on Froyo since the status bar text is black by default. The services.jar file has to be edited to change the status bar text to white. Since CM7 does not need that change, try pushing just the framework-res.apk file, reboot and see if you boot successfully. If so, that is more than likely your problem.
Click to expand...
Click to collapse
Thanks for the reply! I actually took yours apart and was able to correct my script and I noticed that the delete services.jar line was causing issues as well. If you can I'd like you to take a look at the updater script after I edited it and see if you see any errors. It's attached below. I have gotten the framework and other themed apps to flash fine, but for some reason the themed market will not install. After flash it is in the /system/app folder as vending.apk. but it doesn't actually replace the stock market anywhere else. I actually spent several hours today trying to get the market back because I got frustrated and went all delete happy in root explorer, lol.
As far as Theme Chooser goes, here is a decent tutorial, but I haven't taken the time to really try and change my whole MO to use it. I theme the aospCMod for the heroc without using the chooser app. You can also get some good tips on building themes for the chooser in the #aospbot irc channel. A few of the guys in there build themes for it.
View attachment updater-script.zip
PMDColeslaw said:
Thanks for the reply! I actually took yours apart and was able to correct my script and I noticed that the delete services.jar line was causing issues as well. If you can I'd like you to take a look at the updater script after I edited it and see if you see any errors. It's attached below. I have gotten the framework and other themed apps to flash fine, but for some reason the themed market will not install. After flash it is in the /system/app folder as vending.apk. but it doesn't actually replace the stock market anywhere else. I actually spent several hours today trying to get the market back because I got frustrated and went all delete happy in root explorer, lol.
As far as Theme Chooser goes, here is a decent tutorial, but I haven't taken the time to really try and change my whole MO to use it. I theme the aospCMod for the heroc without using the chooser app. You can also get some good tips on building themes for the chooser in the #aospbot irc channel. A few of the guys in there build themes for it.
View attachment 546902
Click to expand...
Click to collapse
Stupid question, but you are copying the vending file as Vending.apk and not vending.apk, correct?
Also, if you're using my themed market, there are only two icons that are customized. The rest looks stock.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
wretchedlocket said:
Stupid question, but you are copying the vending file as Vending.apk and not vending.apk, correct?
Also, if you're using my themed market, there are only two icons that are customized. The rest looks stock.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Click to expand...
Click to collapse
Yeah the file is Vending.apk but its my themed market.
Sent from my NookColor using Tapatalk
PMDColeslaw said:
Yeah the file is Vending.apk but its my themed market.
Sent from my NookColor using Tapatalk
Click to expand...
Click to collapse
Sorry for the delay in response. I had too many things to do with the family yesterday.
If you haven't got this working yet, I'd suggest trying to start with removing just the /system/app/Vendind.apk file via the updater-script. If it works, then go back in and add each additional line until you run into problems again. At that point, you'll know what your problem is.
Since everything else (framework-res.apk, services.jar, etc.) gets replaced successfully, leave those lines alone. I'd just start with the basics of replacing the Vending.apk first and then work your way back up from there.
Hi everyone,
I followed reverendkjr's tutorial to install khalpower's v4 rom onto my phone. His tutorial starts with the miuioptimizedv3 rom first, then builds on it using updates.
Afterwards, I wasn't able to Metamorph anything, so I used ZipThemer to install owq's Gingerbread theme (http://forum.xda-developers.com/showthread.php?t=955698), which worked! However, the Dialer did not get themed and remains in a broken MIUI theme (can provide screenshots if you'd like), and I am not sure how to theme it...
I would like the Gingerbread dialer that, if I remember correctly from Metamorphing in 2.1, came after applying owq's Metamorph. Is there any way to accomplish this in the state that I am in?
Cheers!
Looking at the Morph the only things I see changed are Framework-res.apk & services.jar. (Does the dialer pull graphics from framework-res ?) If it does I would think you could push the default dialer from Dexter's ROM.
3rdstring said:
Looking at the Morph the only things I see changed are Framework-res.apk & services.jar. (Does the dialer pull graphics from framework-res ?) If it does I would think you could push the default dialer from Dexter's ROM.
Click to expand...
Click to collapse
Hey 3rdstring,
While I am trying to improve my android knowledge steadily, I have not tried pushing apks using adb before. Could you tell me how to go about this please?
Should have done more research
I found unyaffs, which decompresses nandroid backups, and decompressed the stock 1.3 nandroid. Then I pushed Contacts.apk and Phone.apk into /system/app, and tada it's Gingery
My memory failed me. The metamorph doesn't theme the dialer, but I remember the gingerbread dialer from using Khalpower's 'custom' apks from this post:
http://forum.xda-developers.com/showpost.php?p=9784619&postcount=13
I tried pushing Phone.apk and Contacts.apk from his files to a few emulators (eclair and froyo), but they both failed (I wonder if that's the fault of the emulator, not my device.) But then I pushed them to my device, and the apps wouldn't appear in the main menu anymore (also couldn't make any calls). Any other tips?
Hi I've been trying to change individual icons for my apps in MIUI with no luck. Does anyone here know how to change the icons?
Or if the only way to do it is to make my own theme, does anyone know how to do that? I've tried to follow a guide on the MIUI forum with no luck. It was a really easy thread and just didn't work at all.
Have also tried to modify an already existing theme with no luck. (rename .mtz to .zip. unzip, change the icons they have in there, rezip, rename to .mtz, do import theme from theme manager).
This has been bugging me, so if anybody knows that would be amazing! Thank you!
There might be an easier way, but I'm pretty sure you can open each application apk with a zip tool(winrar) and pull out the image icon, then edit it and replace the original in the zip tool(overwrite). then push the apk back to your phone.
Hello,
I own a ZTE Crescent- Rooted/CWM recovery running CM7.
I was messing around with using CM9 and I like it but it isn't up for the kind of usage I'd like to use it for so I went back to CM7. One thing I really liked about CM9 was the pattern lock dots- On ICS they are a lot thinner and look slicker, whilst on GB they are thick and bulky and I dislike them.
So my question is; Would it be possible to flash a zip in CWM to change the pattern lock dots on my device? Or any other method?
Thanks,
Curtis.
It's certainly possible. You need to edit framework-res.apk. Within the apk, the images you want to edit I think are in /res/drawable-hdpi/(possibly in other drawable-XXXX folders as well). You need to edit/replace the following files I believe:
btn_code_lock_default.png
btn_code_lock_touched.png
indicator_code_lock_drag_direction_green_up.png
indicator_code_lock_drag_direction_red_up.png
indicator_code_lock_point_area_default.png
indicator_code_lock_point_area_green.png
indicator_code_lock_point_area_red.png
Not completely sure, you might be able to do it fairly easily with UOT Kitchen: http://uot.dakra.lt/kitchen/ (I can't check now as the kitchen is full, so I'm not sure if it supports theming the unlock pattern or not). If not, you can use apktool to unpack the APK, then edit the images you want changed, then repack it with apktool.
The other option is to use MetaMorph. It's an app you install on your phone for theming. Then download a lock pattern theme like this one: http://droidpirate.com/2011/01/15/metamorph-lock-pattern-liberty/, unzip it and replace the images inside with your own, then re-zip and use MetaMorph to install it. (Probably simpler than using apktool to manually edit the APK).
Thanks for the reply, I appreciate it!
I've gone with the metamorph option, seems much easier to do and I've used it once or twice in the past so I have a general idea on how to use it!
Thanks again
I couldn't find a theme for what I wanted- None even came close for Metamorph, so I decided to try and make my own. Unfortunately; I'm now stuck.
I copied the files you mentioned from the CM9 rom to the CM7 framework apk. I have the original CM7 framework app with the new icons in and a zip version of the framework with the files also in there. Now what should I do?
If anyone with more experience wants to take over then here are the files.
APK:
https://docs.google.com/open?id=0B5IQUxhoTn2XVVJiek01OGRNek0
ZIP:
https://docs.google.com/open?id=0B5IQUxhoTn2XWnRGVDhIdzRsa0k
I'd say the easiest way is to grab the metamorph theme I linked above, unzip it and replace the images inside with the ones you took from CM9. Then zip it back up and install using metamorph.
Trying it now, phone has just rebooted, time to check lock screen.
Edit-
Nothing has changed.
Hmm. I have no idea then, sorry.
Hello. I'm using a Galaxy Y and no one there from the boards seems to know exactly how this stuff works so I thought I'd ask here. So I've picked a few icons from the Galaxy Ace which I think would look briliant and I thought I'd try replacing only the png files instead of downloading the apk file, replacing the icons with 7zip and such, signing (if needed?) and then sending back.
I'm asking how this works because I've stumbled upon a flashable zip which seems to only replace png's inside the apk files instead of replacing the whole apk file.
Here is an example of what I'm talking about:
http://www.mediafire.com/?xycxo8vvvwqr29t
^ I saw some apkreplacer file in there.
Now I removed all the icons there and only left the ones I want to use and I also edited the Icon.sh file and left out only the lines for the icons that I want to be replaced. Saved, signed, flashed, no changes. (Tried both CWM and stock Recovery)
Any tips on how to do this? All I want is the Touchwiz blue icon changed, the Phone icon and the SMS/MMS.