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.
UOT zip aren't working. (it takes miserably long to try to combine all the different options) so i thought i was real clever trying to replace framework-res in a a theme download that does work. of course i got the "bad" error. i looked around, read something about unsigned files, got irritated, and quit searching for the answer.
how can i replace files in a flash-able zip?
i tried to simply open the zip in explorer and paste in a file.
if i can get past all these little small technical details i'll likely start putting together ports and original android themes for the atrix
bump?
anyone gotten UOT cook something usable?
Trying to find a way to get the WidgetClock that runs with NoattachTrix, GingerMod roms and i think most blur based roms to work on CM7 or CM9 roms, I have looked for the apk files and this is all i can find
com.motorola.widgetapp.worldclock.tar.gz
com.motorola.widgetapp.worldclock.apk
com.gusya.android.dockclock-20120227-230831.tar.gz
com.gusya.android.dockclock-20120227-230831.properties
com.android.deskclock-20120227-230432.tar.gz
com.android.deskclock-20120227-230432.properties
com.android.deskclock-7b6e38e70c532142663ed413bdfce579.apk.gz
com.gusya.android.dockclock-7a7a35ecd86184b1c03a211a78c9c4a.apk.gz
com.gusya.android.dockclock.apk
anyone know the specific file or files i need to move over in order to get the desk dock to use the correct widget while docked.
The latest titanium backup for the .apk files are inside the .tar.gz files.
I would extract them, then add them one at a time (rename your originals on your phone to something else) and see which one is the correct one.
Now that's only if they are compatible with CM7/CM9. You might end up with FC's. If that happens, just delete your copy and rename the original again.
Hi. I just wanted to write a guide on modifying apks. You probably have seen my rom in the ported section.
(I'll make the guide look better when I get home)
Well lets get started.
1.
First. An introduction to what an apk is. An apk is (believe it or not) a zip of files.
2.
So how do you go about editing a zip? I suggest using 7z on your computer or root explorer on your phone.
Second: there are a lot of apks you can edit but for this guide I'll be using the systemui.apk that you find in any rom in the system/app folder.
3.
Ok. So assuming you start with the system ui apk your going to need to extract the apk with 7z on your computer. (or root explorer on your phone. Es file should work also)
4.
Now you should have a new folder where you chose to extract your apk. Open that folder. Your going to see a bunch of files. What your probably going to be interested in is the res folder. Go into that folder and find the drawable hdpi folder. Open it.
Your going to see a lot of icons. Here is where you can change things like wifi icons. You can add 4g icons and so much more. Even edit what your contacts look like.
5.
This is an important step. Make sure your using the system ui apk from the rom your currently on or make sure its compatible with yoir rom.
Ok so now we get to the things like icon changes. Download a theme you've been dying for but couldn't get because it was either for another rom or phone. And the only thing you wanted was a few things from the theme.
Now extract that zip. Then extract the systemui.apk again from the zip you want your icons to look like. MAKE SURE YOU RENAME THE THE SYSTEM UI TO SOMETHING DIFFERENT SO YOU DON'T MIX THEM UP.
6.
So now that you got the system ui apk with whatever you want to use all you need to do is go into the drawable hdpi of the one with the icons you want in it. Copy them and bring them to your roms stock system ui and replace them.
7.
Thats about it. Now zip your roms stock system ui back up and change the ending to .apk. Then put it in system/apps and replace it. Reboot. And boom. Your modded apk is ready.
Hit thanks if I helped.
for step three rename the. apk to .zip its easier
This can only be used for replacing regular images in the APK. There are many images that are .9 images which require decompiling.
There are MANY guides across xda that go into detail and show you the proper way to modify APK's..... There is much more then images.
This one is even in this forum: http://forum.xda-developers.com/showthread.php?t=1388459
I know where to find them, the problem is i'm currently running newt's ics with sense 4.0 . I want to change the sense icons with ics icons. Where can i learn how to do this? I want to make a flashable zip. I know is too much to ask but i really want to learn how to do this. I know there are applications in google play but i want to be able to do this using other methods.
How to change apk icons
Mexhawk06 said:
I know where to find them, the problem is i'm currently running newt's ics with sense 4.0 . I want to change the sense icons with ics icons. Where can i learn how to do this? I want to make a flashable zip. I know is too much to ask but i really want to learn how to do this. I know there are applications in google play but i want to be able to do this using other methods.
Click to expand...
Click to collapse
First, download APK manager (search xda or google) and learn how it works. It's really straightforward, just mess around with it by dropping some apk's into the "place apk here for modding" folder and use the options to see what they do.
After that, find an AOSP rom and gapps, and put all of the apk's that you want the icon from into the modding folder, and extract each one. Now go to the projects folder, where you will find a subfolder for each app. In each app's subfolder, find the images folder, locate the app's icon.
Next do the same thing with the Sense version apps, locate the icon in the images folder. Take note of the name. Then go back to the AOSP icon and change the name of the file (if needed) to the same name as the Sense version icon. Last copy/replace the AOSP icon over the Sense icon, rezip the apk (using apk manager), push it to the /system/app folder on your phone (either with ADB or a file manager on your phone, if you do it either of these ways, a flashable zip is not needed), reboot, and you're done.
tjb3401 said:
First, download APK manager (search xda or google) and learn how it works. It's really straightforward, just mess around with it by dropping some apk's into the "place apk here for modding" folder and use the options to see what they do.
After that, find an AOSP rom and gapps, and put all of the apk's that you want the icon from into the modding folder, and extract each one. Now go to the projects folder, where you will find a subfolder for each app. In each app's subfolder, find the images folder, locate the app's icon.
Next do the same thing with the Sense version apps, locate the icon in the images folder. Take note of the name. Then go back to the AOSP icon and change the name of the file (if needed) to the same name as the Sense version icon. Last copy/replace the AOSP icon over the Sense icon, rezip the apk (using apk manager), push it to the /system/app folder on your phone (either with ADB or a file manager on your phone, if you do it either of these ways, a flashable zip is not needed), reboot, and you're done.
Click to expand...
Click to collapse
WOOOOOOOW!!!!!!!!!!!!!!!!! Thank you very much that was very easy. I just wanted to create a flashable zip so that i could share it with everybody else.
Mexhawk06 said:
WOOOOOOOW!!!!!!!!!!!!!!!!! Thank you very much that was very easy. I just wanted to create a flashable zip so that i could share it with everybody else.
Click to expand...
Click to collapse
I think there's some threads around xda on that, I just always theme stuff for myself cause I don't have time for people's requests so i've never looked into making flashable zips. Probably not too hard though. Have fun!