Theme Porting Guide - Touch CDMA Android Development

Well Im not great at directions so this is the best i can do.
Summary
There are 2 ways that I know to port a theme to your device.
1. Using the metamorph app if its a metamorph theme.
2. Using 7zip ect.. if its a flashable theme. (most common)
Metamorph Instructions
1. First things first is to download the theme that you want to port.
2. Your theme will be a zip file containing only image files from apk's
3. Put the zip file on your sd card
4. Make sure your device is set to 320x480 resolution or metamorph app will not work.
5. Open metamorph app and start a new project.
6. Locate your zip file and let all the apks load up.
7. Install each apk one at a time. Do not install any jar files as they will cause your phone not to boot.
8. Reboot and your Theme should be working on your phone.
Flashable Theme Porting Instructions
Its not that difficult, once you get the hang of how 7zip works it will be your best freind. Its just a process of dragging and dropping images from one apk to another all within 7zip.
What the metamorph app does is takes themed images and places them into the correct apks res\drawable folders in your system.
Knowing what metamorph does as an app, you can do this manually using 7zip.
1. Download the theme that you want to port. It will be a system folder with an app,framework, and font folder inside of it.
2. Open up that system folder with 7zip
3. Make a copy of the system folder of your current rom and open up that system with 7zip as well. You should now have 2 different 7zips open. Make sure to keep track of witch is witch.
4. Open up the app folder of the themed system and open up the first apk thats in there.
5. Go into the res\drawable folder in the apk in both your system and the themed system.
6. highlight and drag and drop only the images from that folder to the same folder in the other base apk. Make sure to NOT highlight any xmls.
7. Do the same for any images in any other drawable folders the are mdpi.
8. If there are only hdpi folders and no mdpi folders than you will have to convert those images to mdpi size before using them. If there are both, than only use the mdpi images.
9. When finished overwriting those images in that first apk, go back to the other apks in the app folder and do the same thing. You can do all of this from with in 7zip. No need to exit 7zip in this entire process.
10. Open up the themed framework folder and you will see a framework-res.apk file. Open up that file, you will see the same res\drawable folders.
11. Also open up the framework-res.apk from the base theme in the other 7zip as well. And overwrite the images just like the other apks making sure not to overwrite any xmls.
12. Back out of that back into the framework folder itself, if there is a services.jar in the theme than you will want to use overwrite that file as well.
13. Back out of the framework folder, If there is a fonts folder in the theme, You will want to overwrite those files as well.
14. Now you are done modifying your base theme with all the images from the theme.
15. You can now close the themed 7zip that you downloaded and leave open the 7zip containing you newly modified apks. Create a folder on your desktop called "system". Inside that, create a folder called "app", "framework", and "fonts"
16. Move only the modified apks that you replaced images in into the correct folders in your new system folder.
17. Make an androidupdate.tar with 7zip out of your new system folder and you are ready to flash it using nomorootfs method.
Tips:
Using the shift button to highlight mutiple images saves time.
Using the ctrl button to highlight images with xmls between them aaves time.
Switching views to have all images at the top and xmls at the bottom saves time.
If i forgot steps, I appologize.

Excellent guide.
The only thing I would mention is that most of the time services.jar is specific to a particular rom and as such may not work correctly with the target rom. As services.jar really only contains themed elements for the titlebar, you are better off using colorChanger's, apkTool or a hex editior to manually change the titlebar colors.
Also, in some cases (Like ProLauncher) the apk's must be signed. I prefer to use the test keys and this handy context menu here.

simple direct and effective. thanks again for all you do sir.

myn said:
Excellent guide.
The only thing I would mention is that most of the time services.jar is specific to a particular rom and as such may not work correctly with the target rom. As services.jar really only contains themed elements for the titlebar, you are better off using colorChanger's, apkTool or a hex editior to manually change the titlebar colors.
Also, in some cases (Like ProLauncher) the apk's must be signed. I prefer to use the test keys and this handy context menu here.
Click to expand...
Click to collapse
Thanks for the info man.
BTW, HAPPY BIRTHDAY MYN

Dzo Odex sample with standard theme
Thanks for this info. This will help a million. Could you also put light on how to odex it?
Eg: Dzo's odexed sample of donut has plastic theme, can it be changed to a standard android theme using the steps above and then odex it to create a androidinstall.tar?

Nice guide.
Thanks for making this.
Ill probably start trying to theme when i finish school in 2 weeks or so.

how to convert hdpi to mdpi

Related

port

he can some one tell me how to port any theme to our hero.....
1. examine the theme to see where the differences are.
2. remove the res folder from all the apk and the framework-res.apk
3. remove everything from the res folder except the pngs
4. alter pngs to your liking.
5. copy over the res folder of your rom that you want to theme with your altered res folder.
6. package into an update zip
7. flash and test
A good way to see a road map is to take a known working theme and use that as an example. I dont use metamoph and this assumes the theme does not have any custom programming applied to it.
You'll also benefit from the apk builder that is floating around here some where as it has all the tools needed.
ASimmons said:
1. examine the theme to see where the differences are.
2. remove the res folder from all the apk and the framework-res.apk
3. remove everything from the res folder except the pngs
4. alter pngs to your liking.
5. copy over the res folder of your rom that you want to theme with your altered res folder.
6. package into an update zip
7. flash and test
A good way to see a road map is to take a known working theme and use that as an example. I dont use metamoph and this assumes the theme does not have any custom programming applied to it.
You'll also benefit from the apk builder that is floating around here some where as it has all the tools needed.
Click to expand...
Click to collapse
Cool... I will be looking into it.... thank you for the info....
Sent from my HERO200 using XDA App
There is a script somewhere on xda that will pull and replace only the images found in the themed rom and the rom you want to theme. Do a search on here for theme batch script or something like that.

[Guide] Simple guide to theming ANY ROM

A lot of people have asked in various threads lately about getting this theme on x rom, or can someone port this theme for me, etc. It really isn't that hard. It actually is pretty much a simple matter of copying and pasting. This will work on any ROM, and it only takes a few minutes, easy enough for an amateur to do it.
1. First, download the ROM that has the theme that you want on your current ROM.
2. Extract framework-res.apk from /system/framework and rename it to framework-res-old.zip and then right click it, and click extract all. Just extract them to currentdirectory\framework-res-old, which should be the default option anyway.
3. Take your current ROM, and extract framework-res.apk from /system/framework, and repeat step 2 except name it framework-res-new.zip.
4. Browse to the framework-res-old\res folder and select all of the folders starting with "drawable", such as "drawable-mdpi"
5. Browse to the framework-res-new\res folder and paste those folders, it should prompt you to merge and replace files and all that jazz, just click yes and do for the next x conflicts. It will copy and replace all of the image files.
6. Go back to the root of your framework-res-new folder, highlight all of the contents, right click, Send to > Compressed (zipped) archive
7. Windows will re-zip framework-res-new. When it finishes, rename the new zip file to framework-res.apk and push it to /system/framework. If you haven't gotten s-off on your phone, you have to do this while in clockwork recovery (make sure you mount /system in the partitions menu, or if you are s-off and booted, type adb shell mount -o rw,remount /system if it gives you memory errors)
For other operating systems, the steps are similar. If you use a linux distro, I'm going to assume you are smart enough to figure out the compression tools and menu items to unzip and rezip the apk files.
NOTE: You don't actually have to change the extensions to .zip, in fact, you won't be able to unless you unchecked hide known file extensions in the windows folder options in control panel. I just thought it would be easier. If you don't want to unhide extensions, just use a tool like 7-zip or winrar to open and extract the APK. In simple terms, all you are doing is replacing the res folder of your new framework-res.apk with the one from the theme you want. Not very hard.
ANOTHER Note: Sense roms are a bit more difficult to theme, since all of the HTC apps are themed from images in com.htc.resources.apk in /system/framework. But if you are on a sense ROM, you probably can just use a MyModes theme. If you do however choose to try this on a sense ROM, it will only theme user and non-HTC apps. This guide will technically work for any ROM but it works best for AOSP based ROMs, like CyanogenMod or ArayrayMod. The only thing is that if there is a change in the color of text, then you have to decompile both framework-res APKs and copy styles.xml from the old one to your new one and recompile it. APKtool or APK Manager both work great for that.
DO A NANDROID BACKUP BEFORE PUSHING THE NEW FRAMEWORK! Sometimes you can get boot loops from screwing with other files in framework-res, or if it is not signed properly. But you shouldn't get boot loops as long as you stay away from XMLs.
how do i extract an apk? it shows up as an apk and when i click extract it does nothing
Sometimes pushing new frameworks cause boot loops fyi..
Happened to me twice :/
Sent from my T-Mobile myTouch 3G Slide using XDA App
purple1 said:
how do i extract an apk? it shows up as an apk and when i click extract it does nothing
Click to expand...
Click to collapse
Did you try renaming it to framework-res.zip rather than .apk? If you have 7-zip or winrar you can also right click, open with, and choose 7-zip or winrar from the choose default program option.
arayray said:
Sometimes pushing new frameworks cause boot loops fyi..
Click to expand...
Click to collapse
Only if you screw with the non-drawable folders. If you leave the XMLs intact and only change the images it boots fine. The boot loops are caused by incompatible or conflicting XML files, which happens when you just push a random framework-res from another ROM, you have to just move the images over.
I use apkmanager for linux and its immensely helpful. Also you can loop one even without modifying the xmls. Least I have that's why the most important part of theming is knowing how to backup/restore or flash sbf or w/e.
Only if you screw with the non-drawable folders. If you leave the XMLs intact and only change the images it boots fine. The boot loops are caused by incompatible or conflicting XML files, which happens when you just push a random framework-res from another ROM, you have to just move the images over.
Click to expand...
Click to collapse
I think you should state that in the OP
Added a note at the bottom, thanks

[GUIDE]Changing System Icons + MISC MODS

All mods are at the bottom of this post.
Here is a simple way to change system icons on your application drawer. I was looking for a guide to do this but I couldn't find any so I gave it a try and it worked. So I decided to post the method here for like minded people who wanted to change the system icons in their app drawer and not only on the homescreen.
I will show an example of changing the contacts icon. To change the icons of some other app you just have to pull the relevant apk. I know this looks long and tiresome but bear with me and the results will amaze you. After a few times it becomes really easyYou have to be rooted to do this
A couple of things to note
a. You can change icons in framework-res.apk, SystemUI.apk or any other apk this way too.
b. Please note that the icons you replace should be of the same dimensions.
c. The specific icons name inside the drawable_hdpi might change. Sometimes its icon.png. Sometimes its ic_launcher_XYZ. Just use your head and replace the correct png.
d. The files are located either in system/app or data/app depending on whether its a system file or a data file. System files have to be pushed. Data files have to be installed.
Changing Icons works for all ROMS
1. Download android-sdk from here http://developer.android.com/sdk/index.html
2. Install all libraries.
3. Install jdk from here http://www.oracle.com/technetwork/java/javase/downloads/index.html
Make sure you download jdk and not just jre.
4. Download apk manager from here http://forum.xda-developers.com/showthread.php?t=695701
5. extract apk manager inside platform-tools inside android-sdk folder. Should be something like this
C:/Android-sdk/windows/platform-tools/("extract apk manager here")
-----------------------------------------------------------------------------------------------------------------------------------
6. Open cmd
7. Navigate to the platform-tools folder. (Simple DOS commands)
8. Do "adb pull /system/app/HtcContacts.apk" (-Do this without the quotes. If you want to change the icon for, lets say the camera, then instead of HtcContacts.apk, type HTCCamera.apk. To see all the system files just navigate to system/app on your phone using es file explorer or root explorer or any other file explorer you fancy. You can see all the system apks and you can pull anyone you want)
9. Ok so now the HtcContacts.apk should be in the platform-tools folder. Paste it into the folder "place apk here for modding".
10. Start script.bat (apk manager) from the platform-tools folder.
11. Choose option 22 to select a project
12. Choose the number of the project. In this case it would be 1.
13. Choose one again on the next screen. This will extract the apk to the projects folder.
14. Now get to the folder res/drawable-hdpi/ on your windows explorer.
15. Replace people.png with the icon of your choice. Please remember that your new icon has to be of 72x72 dimension and should have the same name. You can also replace other pngs like dialer and stuff.
(Next step is only for system files)
-------------------------------------------------------------------------------------------------------------------------------------
16. Select option 3 on the apk manager cmd
17. Now select 8. This is a system apk and so we have to retain the system signature.
18. Enter the full path of the file ( system/app/HtcContacts.apk)
Follow these steps for data files
-------------------------------------------------------------------------------------------------------------------------------------
19. Select 7.
20. Wait for install.
Here are my mods. Please note that I have not made these icons and tweaks. I have just put them all together in one place. If you want to give any credit then please follow the developers.
These are designed for sense based Roms. Please DO NOT try with any other rom. Just download and push to system/framework/framework-res.apk. Please note : This is for the older sense (sense 2.0) Do not try with newer sense.
To get transparency you have to use this file -- Transparency Hack -- through metamorph. I will make this into a flashable zip once I understand how to do that.
App icons are from Tenuis theme - Images
My framework-res
Screenshot - http://img600.imageshack.us/img600/9167/snap20110125163003.png
Download
System Icons Zip
http://dl.dropbox.com/u/18171691/Mms.apk
Hello,i just use Bettercut.apk available from market .
Marcdu81 said:
Hello,i just use Bettercut.apk available from market .
Click to expand...
Click to collapse
Hi I dont use bettercut but does it let you change the system icons in the app drawer. you know the drawer that comes up when you press the menu on the launcher???
Edit: OK i just tried bettercut. Using this you cannot change system icons in the app drawer. You are only changing icons on the homescreen, basically shortcuts. You could do that with launcherpro, desktop visualizer and 10 other apps.
CREDITS
CREDITS
MultiCulti for giving me the idea to get the services.jar for transparency
Icons from MIUI framework
Icons from Gingerbread aosp ROM
sopL87 for his guide
he_stheone64 for his awesome transparency hack
Ps. tell me if I have forgotten to credit anyone and I will add your name here. Thanks to all of the above for inspiring and helping.
Good work
Check this out too:
http://forum.xda-developers.com/showthread.php?p=10157000
Simple Java app to edit .apk files with a nice GUI
You're Just Awesome THNX man !
Nice guide
Ninjamorph lets you edit and change out images within apk files right on your phone. Its a free app on the market.
Still a very nice guide though!
thanks .. i was just looking to put up something which you could use to edit any apk on your phone .. the thing with ninjamorph is that it wasn't working for me. And plus I prefer to do it this way. Gives me more area.
EDIT: Anyone wants to see an MIUI framework on your sense?? I am thinking about getting the exact MIUI framework over to our sense based ROMs. As you can see in my framework I have already copied some of the elements. I am thinking about getting the power toggles and removing the current apps from the notification pulldown.
hi could u help me to change the battery icon plzzzz
i know about kitchen. any thing else i have some pic of a battery icon but dont know how to make one..... htc desire hd rom runny 3.37
Can't extract file
I tried to put option 22 where project start. Then I enter the project name as 1 and following another option 1 to extract files. However, the CMD just close by itself and I opened the project file and still empty inside. Please help!!

[Q] Requesting Red Theme for kf1 roms

I was wondering if there were any themers out there that have or can make a red theme for fasty 2.5. I would be very greatful. Ive been trying the past couple weeks but im not doing very good. Alot of boot loops.
PS Fasty 2.5 if a kf1 based rom. If that helps at all.
What you trying to do, I know how to code but I'm new to Java and dalvik code. Learning as I go, but maybe I can help you out.
I don't know what all you've been trying, but what I've had success (to a limited degree) with is to pull a current copy of your framework-res.apk, twframework-res.apk, and systemui.apk files out of /system/framework and /system/app (you may need to dig to find them), then open/unzip the folder with 7zip. Make copies of each apk to a safe place as a backup.
Dig around in each folder and change anything without a .9.png extension. An easy thing to do is just to use photoshop and automate a color shift. (You may have to play around with some icons - they don't like being opened if they're indexed color.)
Once you have some files ready, open the pulled .apk's with 7zip again (use the open archive option), and overwrite the files inside of them with the files you edited.
Once that's done, fire up adb again and push your updated files back to the respective folders they came from.
Reboot, and you should be good to go.
I would like to make a red version of the theme honeysmoke by the creators of fasty. I would post the link to it but the website is down.
First thing is your going to need something like Apkmanager if you don't already have it.
http://forum.xda-developers.com/showthread.php?t=1227179
Like jmtheiss said, pull the system files out and unzip them. I use Paint.net, which isn't photoshop, but works well.
OK i have apk manager i decompiled the framework-res.apk
voldomart13 said:
OK i have apk manager i decompiled the framework-res.apk
Click to expand...
Click to collapse
Well if your just starting out you should select to extract it first and then look in res/drawable-hdpi and you will see some .png files. Just look at your phone and figure out what you want to try to mod that you see in the folder. The same would hold true for systemui and twframework-res, both will have .png files in the res/drawable-hdpi folder. Be careful not to modify .9.png files, they are a special file that is stretchable and most paint programs don't recognize them and are difficult to modify with draw9patch editor.
http://forum.xda-developers.com/showthread.php?t=908270

[HOW-TO] Theme TouchWiz to be AOSP!

How To Theme TouchWiz Based ROM to look like AOSP!!​
Ok guys I decided to share my theming method with you guys. This is mainly intended for all developers and or ROM developers!
If you have TouchWiz based ROM (Some devices below) you can theme it to have an AOSP feel to it.
Devices:
Galaxy SII
Galaxy SIII
Galaxy Note
Galaxy Note II (Tested by Me )
Some others as well...
Whats Needed:​*APKTool DOWNLOAD HERE
*JAVA DOWNLAOD HERE
*7-ZIP DOWNLOAD HERE
*TouchWiz Base ROM
*SystemUI.apk (in system/app) **FROM TOUCHWIZ ROM**
*SystemUI.apk (in system/app) **FROM AOSP or CM10 ROM**
*Framework-res.apk and TWFramework-res.apk (in system/framework) **FROM TOUCHWIZ ROM**
*Zipalign tool
*Root Explorer App (Get from Google Play Store)
*Holo Launcher (Also get from Google Play Store)​
Lets Get Started:​Follow all of the steps below carefully and you should have an AOSP Themed TouchWiz ROM in no time ​
1. Download the Holo Launcher from the Google Play Store.
(When you run the launcher you will see that you will have an AOSP themed launcher and you will have AOSP system icons [messaging, phone, settings, ect..])
2. You need to install APKTool next. (If you already have this installed then skip this step)
*Download the APKtool files (link above)
*Put the files into your C drive. Make a folder in the root of your C drive called apktool.
*All of your files should go inside that folder (apktool)
*Go to CMD or Command Prompt and type in
Code:
cd C:\apktool
*That should redirect you to the apktool. If it worked then lets move on...
3. Get the framework-res.apk and TWFramework-res.apk (in system/framework) and place it in the apktool folder.
4. In the Command Prompt you will need to direct CMD to the APKtool folder. Then you must install the framework files by doing:
Code:
apktool if framework-res.apk
and
Code:
apktool if twframework-res.apk
Now your framework files are successfully installed. If you have an error in the CMD window then you must check your JAVA.
5. Now get your systemui.apk files from both AOSP (CM10) and TouchWiz ROM. Rename the AOSP systemui.apk to systemuiaosp.apk (so you dont get the touchwiz and aosp systemui's mixed up)
6. Make a backup of the TouchWiz systemui.apk in another folder called "Backup" ****YOU WILL NEED THIS LATER*****
7. Now you should have both systemuiaosp.apk and systemui.apk in the apktool folder. Now you must decompile both files by using these commands:
Code:
apktool d systemuiaosp.apk
and
Code:
aptkool d systemui.apk
You should have 2 more folders (systemuiaosp and systemui).
8. Here comes the actual theming of the systemui. Open both systemuiaosp and systemui folders side-by-side. And now you need to navigate to the drawable-xhdpi folder in both.
***FOLLOW THESE NEXT STEPS CAREFULLY OR YOU WILL HAVE AN ERROR***
9. Find the files you want to replace. They should all be PNG files. DO NOT JUST ADD PNG FILES FROM THE SYSTEMUIAOSP TO THE SYSTEMUI. YOU WILL GET ERRORS WHEN COMPILING THE FILE!! There are XML files (we will not edit in this tutorial) that use those PNG files with those extension names. So you can't just add files from one to another. For example:
If you have an icon you want to change but its only for that AOSP then it wont run on the TouchWiz. If you have a WiFi icon that has a name of AOSP_Wifi_1 and on the other systemui it says TOUCHWIZ_Wifi_1 you cant just delete the one that says TouchWIZ_WIFI_1 and replace it with the AOSP one. The XML files dont tell it to run the AOSP_WIFI_1. So you must ONLY REPLACE FILES WITH SAME EXTENSION NAME!!
10. You can go ahead and transfer files from the SystemuiAOSP to the systemui. Note what i said above!! If you have lets say 6 wifi icons for systemuiAOSP and 6 icons for systemui (touchwiz) you can rename the AOSP PNG files to match the TouchWiz ones so the XML files will know what to run.
I personally suggest only transferring Wifi Icons, Battery Icons, and Signal Icons. These are your most important ones to transfer! You can also transfer the Bluetooth and Airplane mode icons also.
11. After you have transfered the files over and you feel like you have done it correctly then you can go ahead and Compile the SystemUI folder by using this code:
Code:
apktool b systemui semidone.apk
12. If you did all the steps correctly above then apktool will build the apk file with no issues. If you have errors then you did not pay attention carefully. (You may want to try another CM10 ROM to get icons from).
13. Now here is where 7-Zip and your backup file comes into play. Open 7-Zip twice (2 windows). In the first window direct 7-zip to the semidone.apk file. And the second one to your backup file which should be SystemUI.apk (in the backup folder).
14. In the SystemUI.apk click on the RES folder and then find the Drawable-xhdpi folder. Delete the entire Drawable-xhdpi folder. Now in the other window (semidone.apk) go to RES and then transfer the entire Drawable-xhdpi folder into the SystemUI.apk window.
15. Now your SystemUI.apk in the Backup folder is your new modded one. But before you can use it you must zipalign it using any zipalign tools out there. I just use DSIxda's kitchen to do it since I make ROMs with it.
16. Now you can go ahead and transfer the SystemUI.apk onto your phone's SD card.
17. Download Root Explorer. Now go ahead and navigate to your SD card and click the SystemUI.apk file and then click copy or move. (whichever one you like).
18. Now navigate to your system/app folder and paste and overwrite the original one. (You will need to set root explorer to Read/Write). Now you can go ahead and reboot your device.
If you did everything correctly you should now have a themed launcher and a themed status bar with AOSP Icons!​
I don't ask for donations so if this tutorial helped you then please hit that Thanks button!​
MINE
Mine AGAIN
I was just looking for a thread like this... not sure if i have enough time and will to do it but i am very glad you post it!
thanks a lot!!!
ExcaliberX said:
I was just looking for a thread like this... not sure if i have enough time and will to do it but i am very glad you post it!
thanks a lot!!!
Click to expand...
Click to collapse
Your welcome. I hope it works for you!
So are there any screenshots showing exactly what changed? I'd like most of the UI to have an AOSP feel to it not just some parts. Does this theme all or just bits and pieces?
Shmi117 said:
So are there any screenshots showing exactly what changed? I'd like most of the UI to have an AOSP feel to it not just some parts. Does this theme all or just bits and pieces?
Click to expand...
Click to collapse
Well as said above it themes the launcher (holo) and the status bar icons are aosp.
thanks I was hoping to see where you find the blue background bars in the S2 in the settings menu SecSettings.apk or trframework or framework or systemUI I have looked everywhere and changed colors of .9pngs forever and it never phased them. obviously I never found the right one to change. would you happen to know and could you post here or pm me thanks. have a decent ROm that doesnt really need blue gray bars dominating the screen.

Categories

Resources