[THEME] [HELP] Working on a modded theme, running into problems. - Nexus One Themes and Apps

Everything seems to work fine so far, but I've hit a snag.
Here's what happens. I've made some changes to my rom. I'm on modaco's latest, I have theme with the battery percentage mod installed (can't remember which), but everything runs perfectly with no hiccups or hangups.
The problem I'm running into is with the battery icons.
Here's what I do.
1) Pull framework-res.apk from device(to keep my changes)
2) Pull battery icons from framework-res
3) Modify icons
4) Put icons back into framework-res
5) Push framework-res back to device
As soon as I push this back to the device, everything starts force-closing. Phone, gmail, launcher, contacts...everything.
I've made changes like this before and this has never happened. Am I doing something wrong here? Any help would be appreciated. I would like to eventually release this as a theme that people can flash.

try pushing the modded files while in recovery...

..never pushed framework-res.apk.
In recovery sounds good..
But why not makin a morph?..or you could do an update.zip.

i am assuming you rebooted after pushing the new framework-res.apk across?
Did you zipalign before pushing? I know CM zipaligns on boot after changes in recovery but can't remember for stuffed pushed across- i either just zipalign it myself or the easiest and best thing to do is what rori~ said- just make a metamorph- that way when the rom gets updated you dont have to change anything at all (assuming there are no xml changes)..
eg. i have been using the same CM metamorph theme i made since about 5.0.X and it still works on every nightly- i have had tyo remove xml edits etc as CM now does that itself but it makes it all so easy.

instead of using adb, try doing it the easy way with Metamorph. Basically you'll need to create custom pngs with the same name as the ones you want to replace in the framework-res.apk.
So get a copy of your framework-res.apk and rename it to .zip and unzip it. Erase all the folders where you have no custom images to push. You'll prob just end up with some nested folders like "framework-res-->res-->drawable-hdpi" or a similar last folder. Place the custom images in there, then just reuse this attached xml file, making sure to change the pertinent information such as the file structure to be the correct path so the images push to the correct folder when you apply it with Metamorph. Be sure to save the xml file with a reasonable name, then zip the xml and framework-res folder containing your custom images together. Make sure the zip has the same name as the xml file only with .zip extension or you may get an error.
From there install Metamorph. Load the zip you created onto your sd card inside the "android themes" folder. Launch Metamorph, grant su, then "unzip new theme", and "apply all".
Hope this is helpful. A bit longer than I pictured it, but easy to do. If you run into trouble just DL a couple ones other people did and it should become easier to figure out.

^^^ what they said
made life even easier ......
here is a blank framework-res morph drag drop your desired pngs in the drawable-hdpi folder within the zip and morph away
http://www.mediafire.com/file/d1zr12fke13i61l/Framework_res_obama.zip

icegad said:
^^^ what they said
made life even easier ......
here is a blank framework-res morph drag drop your desired pngs in the drawable-hdpi folder within the zip and morph away
http://www.mediafire.com/file/d1zr12fke13i61l/Framework_res_obama.zip
Click to expand...
Click to collapse
Awesome! Thanks a ton! I'll report back my findings...

Sorry, no such luck. Endless force closes and reboots. Bummer. I'll have to sleep on it for a day or two and come back to it.
If anyone has any ideas, please let me know.

If u like u can upload the images and ill try to morph it on my phone and see what causes the fcs if any

icegad said:
If u like u can upload the images and ill try to morph it on my phone and see what causes the fcs if any
Click to expand...
Click to collapse
That would be great, thanks!

morphed the icons onto my phoneno fc or bootloops here
see screenshot....(i have a black status so it maybe hard to see your icons )
only thing i can think of is.... dont know if you were putting your folder within the drawable-hdpi folder that can cause errors..put the standalone images only
and i went ahead and put the icons in the morph you so you can jus morph this zip >>>
http://www.mediafire.com/file/9ldnfsf4t894kz6/Framework_res_obama.zip

Related

[Tutorial] Status bar transparency

I've been seeing way too many requests for this with just about every mod possible. Considering the simplicity of this mod, the easiest way to please everyone, is for all of you to know how to accomplish this mod yourself.
BTW, this is for the status bar itself, not pulldown bar or notification background.
What you need:
- Paint.NET software (or any other image editing software that you are already comfortable with, this one seems to be the easiest for setting transparency though.)
- Your framework-res.apk AFTER you have all of your other mods applied to your phone. Otherwise you will have to apply this mod again every time you add or change mods (most likely).
- 7zip
So, you should have your framework-res.apk on your computer and 7zip installed to open the apk. Open up the framework, navigate to /res/drawable-hdpi folder. In that folder, find the file statusbar_background.png. You can either pull that file out to your computer to edit it or open it straight from 7zip (which is the best way to ensure there is no issues when pushing framework back to the phone) but you must have your editing software set as the default to open .png files.
Now once you have that file open in Paint.NET, you will see the image of the status bar as you currently have it. Up on the top toolbar, you should see the option "Layers". Click that then select "Layer properties" at the bottom of the drop-down. At the bottom of the window that pops up, you should see "Opacity" and the number set at 255 with the neighboring slider all the way to the right. I suggest using the slider because as you move it you will see the transparency applied to the bar image, allowing you to slide it around to the desired transparency.
Once you have finished setting your transparency, click the little disk image at the top left to save your changes, close the program out and you should then see a box pop up in 7zip (if you made changes without unpacking the file from 7zip first) asking if you would like to apply changes to file you edited. Say yes, then close 7zip, which may or may not state that changes have been made to the apk and if you'd like to update it, which you would say yes to if it does. If you unpacked the file from 7zip, simply drag and drop the file back into its correct spot, confirm you want to replace the file, then close it up. After all of this is done, just put framework-res.apk back into the framework folder on your phone whatever way you like, turn your phone on and you have a transparent status bar.
As a side note, you can play with Paint.net to see all of the modifications you can make to your status bar like changing colors, texture, and a few other things. One piece of advice is to have a backup framework-res.apk in case you make a mistake or something.
excuse my extreme noobness, but what is the best way to transfer the apk back and forth from the phone to computer? yes I am new to this and yes I am a retard and yes I probably shouldnt even try this..
JoeyBones1 said:
excuse my extreme noobness, but what is the best way to transfer the apk back and forth from the phone to computer? yes I am new to this and yes I am a retard and yes I probably shouldnt even try this..
Click to expand...
Click to collapse
Easiest way would be to get root explorer so you can navigate to the /system/framework folder and copy the apk from there to your sdcard, where you can just copy it to your computer. the other option would be plugging your phone into your computer, phone should be on, open up command prompt then navigate to your sdk/tools folder (get it if you dont already have it), then type "adb pull /system/framework/framework-res.apk c:\" without the quotes. the file will be in the root of your C directory. To get it back on your phone when finished, for root explorer just reverse the steps, but when moving the apk back to its proper folder, just hit the "Mount R/W" button at the top right of root explorer, copy the file back in and reboot. For alternate method, boot into recovery, mount /system partition, then in prompt after navigating to sdk tools folder type "adb push c:\insertdirectoryto\framework-res.apk /system/framework/" without quotes, then boot up and youre done.
tried this...boot looped...had to restore backup...thanks for the info though...might try again soon
BillytheKid82 said:
tried this...boot looped...had to restore backup...thanks for the info though...might try again soon
Click to expand...
Click to collapse
Did you try editing the file without extracting it or did you extract it and reinsert it?
Or you could edit the .png and use metamorph to push it into the framework-res.apk without moving or unzipping anything. And you could just keep the metamorph theme with that one .png on your sdcard to re-apply it whenever you flash a new rom, without altering any other theme elements you've already applied.
What do I edit to change the pull down notifications?
Sent from my Incredible using XDA App
thx a ton got it
transparent, transferring back to phone now..we will see
edit ..boot loops too..
i used root explorer ..extracted framework-res.apk to my sd card ,,then on my computer i opened paint.net and edited the statusbar_background.png file and then
zipped back up the framework-res and renamed to apk then copied back to my framework folder and it the forced closed and went into boot lopes...
i know im close to getting this right ..what step am i skrewing up?
i edited the file w/out extracting it...using root explorer i copied the framework res to my sdcard...plugged my phone in to comp, opened the framework res w/ 7zip, edited w/ gimp, saved all changes...unmounted phone, used root explorer and copied the new edited framework, then navigated to the original framework res and pasted the new one there to overwrite the original...then it force closed so i tried to paste it again, then the phone rebooted and boot looped? not sure if i did something wrong
Gahh Its Lee said:
What do I edit to change the pull down notifications?
Sent from my Incredible using XDA App
Click to expand...
Click to collapse
That file is a .9.png file. editing these is ridiculously difficult and ill-advised.
chrisloveskaos said:
thx a ton got it
transparent, transferring back to phone now..we will see
edit ..boot loops too..
i used root explorer ..extracted framework-res.apk to my sd card ,,then on my computer i opened paint.net and edited the statusbar_background.png file and then
zipped back up the framework-res and renamed to apk then copied back to my framework folder and it the forced closed and went into boot lopes...
i know im close to getting this right ..what step am i skrewing up?
Click to expand...
Click to collapse
BillytheKid82 said:
i edited the file w/out extracting it...using root explorer i copied the framework res to my sdcard...plugged my phone in to comp, opened the framework res w/ 7zip, edited w/ gimp, saved all changes...unmounted phone, used root explorer and copied the new edited framework, then navigated to the original framework res and pasted the new one there to overwrite the original...then it force closed so i tried to paste it again, then the phone rebooted and boot looped? not sure if i did something wrong
Click to expand...
Click to collapse
I JUST remembered that I think you need to be running a deodexed rom to allow modifications. I've always used deodexed roms and forgot that it might be a requirement for things like this. Do either of you know if what youre running is deodexed or not?
mixedlemon said:
Or you could edit the .png and use metamorph to push it into the framework-res.apk without moving or unzipping anything. And you could just keep the metamorph theme with that one .png on your sdcard to re-apply it whenever you flash a new rom, without altering any other theme elements you've already applied.
Click to expand...
Click to collapse
metamorph is definitely more useful. I just have never created anything to run with it so I don't know the process of doing so.
im running skyraider vanilla, i tried to look on the thread to see if it is deodexed and i couldn't find if it is or not...may not be...thanks for your help
mb02 said:
I JUST remembered that I think you need to be running a deodexed rom to allow modifications. I've always used deodexed roms and forgot that it might be a requirement for things like this. Do either of you know if what youre running is deodexed or not?
Click to expand...
Click to collapse
running new skyraider 3.3 and im sure it is
Yea it seems they are both deodexed, and btw I didn't know skyraider 3.3 was so awesome I'm tempted to switch over to it. But yea, I'm not sure why your phones aren't allowing the modifications to the framework. I might as well load SR 3.3 and see for myself what's up. I'll get on that later tonight when I have time and let you guys know if i figure anything out.
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace. And of course, do a nandroid backup just in case.
EDIT: As Berzerker7 pointed out, this file probably wont make anything transparent unless you have a modified services.jar. oops.
mixedlemon said:
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace.
edit: and of course, do a nandroid backup just in case.
Click to expand...
Click to collapse
Well then that simplifies a lot of things lol. Thanks for putting that up for us, makes everything even easier.
Simply swapping a file won't work. It's the same reason simply swapping a transparent image for the notification pull-down doesn't work. Opacity is controlled on another level by services.jar. You need to modify the values there, as well as swapping out for a transparent image.
Btw, this didn't work for me on SkyRaider 3.3. (Metamorph or swapping the file).
It makes the background black but not transparent on virtuous 3.0.1
mixedlemon said:
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace.
edit: and of course, do a nandroid backup just in case.
Click to expand...
Click to collapse
Berzerker7 said:
Simply swapping a file won't work. It's the same reason simply swapping a transparent image for the notification pull-down doesn't work. Opacity is controlled on another level by services.jar. You need to modify the values there, as well as swapping out for a transparent image.
Btw, this didn't work for me on SkyRaider 3.3. (Metamorph or swapping the file).
Click to expand...
Click to collapse
Ah, I must have already installed a theme that modified it, then.
WOOOT!
SO can't wait to try this!
Wow... epic fail on my part... edited the image, repackaged, compared to original, file sizes/compression were similar enough, so I copied it onto my SD card and went in to Root Explorer... Mistake number 1)forgot to do a nandroid OR a titanium, Mistake number 2)Renamed the framework-res.apk to framework-res.bak BEFORE I copied the new file to the /system/framework. As soon as I did that, everything went haywire so I did a battery pull and went to do it the ADB way from recovery. Thought I did that right, so I rebooted into a bootloop... Finally gave up so I decided to do mistake number 3)full nandroid restore of a backup that was admittedly a few days old (See mistake 1 lol) after which I had rearranged a few things and added more apps etc... Now on to the important stuff...
MAKE SURE YOU DO STEP 1 BEFORE ATTEMPTING ANY OF THIS AND IF YOU RUN INTO PROBLEMS, DO STEP 2 SO YOU DON'T MAKE THE SAME MISTAKE I DID!
Step 1)For the love of all that's holy, do a Nandroid and Titanium backup first!
Step 2)In Clockwork Mod Recovery, do NOT do a full restore, instead go to advanced restore and simply restore the system (the part that you were messing around with to do this mod lol I realized this gem just as I clicked "Yes" in CWM, I still have the palm print on my forehead... haha​
Hopefully you folks will have better luck than I did, but if not, hopefully I can save you some of the headache I went thru...

[How To] Basic Themeing

This is a very basic guide to beginning themeing. It is not meant to be all-inclusive, just some simple steps that can be taken to make your own custom theme fairly easily. This guide should allow anyone to be able to grab images they like from any ROM and incorporate them into their own.
I SUGGEST YOU ALWAYS MAKE A BACKUP OF ANY FILE BEFORE YOU THEME IT AND NANDROID FIRST BEFORE FLASHING
Here is a basic overview of changing images in an apk:
1. Get your base file to theme – framework-res.apk, com.htc.resources.apk, phone.apk ect.
2. “Open” apk archive with 7-zip (don’t unzip!) and drag and drop the new images into the appropriate folder.
3. Flash new file.
Now some details:
1. The first step is to obtain the file you are going to theme. The file you are themeing ( i.e. going to flash to your phone) must come from the ROM you are currently running. Always use files from your current ROM as a base, however the images you want to change can come from other ROMs, or you can edit existing ones or make your own from scratch. You can obtain your theme base through an ADB pull of the files from your phone, or simply downloading the ROM zip file and extracting the files you need.
2. Now that you have the file to theme, don’t touch it! OK, more specifically, you won’t unzip or do anything to this file except “open” it with 7-zip (unless this is a market app, but more on that later). You are going to drag and drop the new icons into this file by “opening” it and navigating to the appropriate folder. The images you want to change are stored in the apk under /res/drawable-hdpi. Once you have your new icons from other sources, open your base file and navigate to this folder and drop them in.
3. Now you can flash this new file. I have provided empty zip files that you can place your themed files into and flash in recovery. Place your framework-res.apk and/or com.htc.resources.apk into the /system/framework folder located in the zip file provided. Now highlight the META-INF and system folders and zip them up. You can now place this file on the root of your SD card and flash. System apps can be placed under /system/app in the zip file.
Some more info on common themeable files:
Framework-res.apk – this is the meat and potatoes of a theme. On an AOSP ROM it will contain almost everything you want to theme aside from individual apps themselves. Sense ROMs have another file com.htc.resources.apk, as well as framework-res.apk. Both of these files are located in a ROM under /system/framework.
System apps: These apps come packaged in a ROM under /system/apps. They can be themed in the same manner as a framework apk. Some of these apps include Gmail, browser, camera, ect. Place them in your flashable zip under the folder /system/app.
Market apps: These apps are downloaded from the market and are can be pulled from your phone from /data/app. These files require a bit more to theme. They don’t share the same signature as the system apps and you must resign them using a program such as apkmanger. Place them in your flashable zip under /data/app.
If there are any errors, or if anyone has suggestions please let me know. I may have over looked some details, ect.
Thanks to everyone on XDA who has shared their knowledge and made this a great community!
Thanks that will be helpful
Sent from my PC36100 using XDA App
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
xlGmanlx said:
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
Click to expand...
Click to collapse
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
its a website where you can load your requirements and folks can bid to do your work
linky
nukedukem said:
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
Click to expand...
Click to collapse
xlGmanlx said:
its a website where you can load your requirements and folks can bid to do your work
linky
Click to expand...
Click to collapse
Interesting. Didn't know anything like this existed.
Sent from my EVO (CM6.1) using XDA App
Thank you, thank you!!!! I've been looking for something like this for a while.
evolishesh said:
Thank you, thank you!!!! I've been looking for something like this for a while.
Click to expand...
Click to collapse
No prob. Let me know if it works for you.
I couldn't get the auto signing to work, but the manual way of doing it worked.
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
JasonK75 said:
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
Click to expand...
Click to collapse
The signing should be ok. If you are using Amon_ra recovery it wont let you flash an unsigned zip I believe. Are you on sense or AOSP? Are you editing images or just copying from other ROMs?
What you might want to do is just create a simple test file. Change just one image and then flash that. That should let you know that your process is correct.
I using Amon Ra and using AOSP. I was moving some items out of a sense ROM so I guess that is where I might have went wrong. I think I'll take your advice and move just a single image and see how that works for me. Thanks!
I tried again this time I ended up stuck at the EVO white screen. I'm guessing it doesn't like the sense part I'm trying to throw in there. I'll have to try again with a AOSP theme instead.
Sent from my EVO (CM6.1.1) using XDA App
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
spence341 said:
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
Click to expand...
Click to collapse
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
I think that
1.7.0.2 = yes
1.8 = no
nukedukem said:
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
Click to expand...
Click to collapse
nukedukem said:
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
Click to expand...
Click to collapse
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
nukedukem said:
No prob. Let me know if it works for you.
Click to expand...
Click to collapse
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
xlGmanlx said:
I think that
1.7.0.2 = yes
1.8 = no
Click to expand...
Click to collapse
So the new amon_ra doesn't require a signed file to flash? I'll make a note off that. Thanks.
JasonK75 said:
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
Click to expand...
Click to collapse
OK I'll try and do what you are trying to do and see if it works...
evolishesh said:
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
Click to expand...
Click to collapse
So now you have an unzipped framewor-res.apk with a bunch of images. This framework should be the one that you want to take icons from. If not, start over with the ROM you want to copy images from. You will want to copy the images you want to put into another ROM so that you can dump them into the new framework-res.apk. After you figure out what icons you want to bring to your new framework, get a clean version of framework/com.htc from the ROM you are actually running - i.e. if you are running myn ROM on your phone, download the myn ROM and pull out the framework-res.apk or com.resources.apk that you are going to theme.
Now with this fresh clean framework you will "open" it with 7-zip to navigate to the /res/drawable-hdpi folder so you can now drag and drop the images you want to copy over into it. Then the close the 7zip window and your framework-res.apk is all set to flash. You don't need to rename if the file names are the same, you can just drag and drop and the files will be overwritten in the new framework.

[GUIDE] Newbie's How To: Port Theme's

How To Port Theme's
(Using Apktool, and Theme Porter)
Since there are some people out there willing to learn but not exactly able to with all of the convoluted information on the forums, I decided I'd start putting together a guide similar to other's to aid those trying to learn. Stay tuned as this is under construction!
All credit is due to original creators of the product's used in this process, without them there wouldn't be a reason for this guide . Please be respectful of other's work, sometimes it's best to ask before attempting (if it is an original product) but at very least give credit and a link back.
What is porting?
Porting very basically is taking .png files and XML changes from one theme (typically created for a different model, but using the same resolution) and copying them into deodexed stock rom's such as EC10/EE19 Pick and Pack so that they can be flashed onto our phones and used with our framework and/or updated framework.
Sounds really easy, doesn't it? At first it will be cumbersome and frustrating, but after you've used the processes enough you will be able to snap these out in 30 minutes or less! The problem lies in the way these files are packaged, they are mainly just a .zip file that isn't compressed, however there is another layer to an .apk that you can only see once you've learned how to use tools such as apktool/apkmanager. The other tool we will use to aid us in this painstaking process is an application called Theme Porter, which essentially is a script that has been written that will do all of the legwork for us. Let's get started!
What will I need?
Apktool I currently use an older version of the program, you can download here, this one I know works for sure - last I heard the other has issues.
ThemePorter
7zip (Win rar could be used instead)
Notepad++ (Or equivalent code editing software) which will be used to make the xml changes. If you're not familiar with using something such as this, you may want to take time to research before attempting to port.
How to set up;
Begin by getting ThemePorter setup, you just need to unzip the download and that will be "theme porter" It is basically just made up of a few folders, and has a batch script that you will use to initiate the process. I just place mine on the desktop for easy access.
Secondly, get apktool downloaded and unzipped. place the apt folder somewhere where you can easily navigate to it through a command prompt. C: might be a good place if you want to save yourself some keystrokes.
Next just make sure you have notepad++ or another editor installed for use later.
Lastly, get 7zip installed so that you're able to open .apk and .zip files without actually extracting the files.
Where do I get my source files?
You can use any framework from any rom that can be decompiled correctly with apktool. This means when you decompile it, there are no errors and it generates a folder with the same name. Download the rom of your choice and save it (still zipped) somewhere on your desktop, and make an extra copy in case you mess up and overwrite the wrong files. You will ALWAYS use these in the NEW folder within theme porter, but we will get to that.
As for the theme you're trying to port, I usually use fascinate theme's, because it is basically a direct copy of our phone (Note: As of 2.2 they now have a Data on/off icon in their status pull down, where we have Silence, so this will often need to be taken care of separate from this process.) I've also recently started using Vibrant theme's, as these are also very similar - but there are tweaks with these too and I will try to cover them in the guide at some point. You may find others that will work too, at this point this is all I've had time to mess with. Either way, download the .ZIP file and also place it somewhere easy to access.
This is where it get's sort of difficult.
Stock ROM's have some differences to theme's that theme porter cannot handle for you. These are basically MOD's that may exist in the theme ROM and/or XML changes that have been made to alter text color's to accommodate the theme (black to white, white to black, etc.) These changes WILL NOT be ported over using theme porter and unfortunately also cannot be made AFTER using theme porter, so there is a certain process to go about this.
Now enter's apktool. Apktool is a script brut.all very kindly wrote to assist android developers in decompiling/recompiling .apk files without losing structure that normal compression software breaks. Basically there are two reasons you will need to take this step.
When;
Editing Text Color- When choosing a theme to port you will need to pay attention to the screenshots the original poster has posted, as these will clue you in whether or not this needs to happen.
The Pick and Pack rom is essentially still stock, as far as XML goes - so the text on menu's for example, will be Black text on a white background. If the theme you chose has something different, you will need to take this step so that the text is legible in the final theme.
Adding accurate battery MOD- Also when choosing a theme you will need to take a look at the framework-res.apk file to determine if the themer has added the accurate battery mod. Essentially all this means is the XML and image's have been edited to show you each percentage of battery life vs. the stock one that only shows odd increments of 10/15/20.
Open framework-res.apk with 7zip
Navigate to res/drawable-hdpi (this also may be drawable-hdpi-v4 depending on your theme, I haven't quite figured out why this is)
Scroll down until you see the status_battery icons near the bottom - if there are not images for every percentage - then no mod exist's and you can skip using apktool for this step.
How;
For either change you will follow this process to decompile To gain access to the XML/PNG files that contain these text values, we will need to decompile the framework-res.apk file from the rom.
Copy framework-res.apk from the rom and place in the APT folder created earlier.
Rename this to something shorter such as "FW.apk" for easier command lines
Start a command prompt (in windows 7 type "cmd" in the search bar within start menu)
Navigate to the APT folder, For example;
Code:
CD c:\Users\brandon\Desktop\apt
Type
Code:
apktool d FW.apk
This will decompile the .apk into a folder called FW within the APT folder, allowing you access to the files. I will cover the actual changes in a later post.
At this point you have the files in a folder and they can be edited how you see fit (should you choose to just edit the stock ones vs. actually porting already changed ones).
You'll notice when examining the folder that there are quite a bit more files. Also, you will be introduced to the .9.png file type, which essentially is just a .png file that has some black lines embedded in the file to instruct android how to resize and reuse the image within the framework.
Any edits made to these files must be made carefully, as to not alter the integrity of these black lines. When the file is recompiled, the lines will disappear but will be included (if you tried doing this without decompiling - your photo editor would nix these lines and android wouldn't know how to size them)
If all your edits were complete, you would then recompile the file through apktool. (I will continue with the theme porting guide in the next step, this is just a good reference point for these steps.)
Type this into the command prompt
Code:
apktool b FW framework-res.apk
This would then create the framework-res.apk file in the APT folder, however there is an important step here. During this process the META folder is lost, and the AndroidManifest file is corrupted.
Delete the AndroidManifest.xml file from the new framework-res.apk
Copy the META-INF folder and the AndroidManfiest.xml file from the ORIGINAL framework-res.apk (now named FW.apk in this example) and place it in the new framework-res.apk using 7zip (do not extract the file, open the archive with 7zip.)
At this point, your framework could be ready for replacing in your theme.zip (will be covered later) with the edit's you've made Or if you're learning how to port theme's, continue reading.
Guide Part 2....
Preparing for Theme Porter
Okay now that we have some of the side process out of the way, let's get back to the guide.
Determine if you need to make any XML edit's for battery or text color changes and perform them per the processes detailed below. If you do not need to make them, you may skip this step completely and move on to using theme porter.
Correcting Accurate Battery Mod Animations-
Follow this guide to make the changes to the framework to use the new charging animation images and will allow you to then use theme porter to swap the .png files
Decompile the framework-res.apk from the ROM download (I usually just rename this to EE19.apk or whatever the rom is i'm working with)
Decompile the framework-res.apk (I first rename the framework-res.apk file to NEW.apk (or whatever you wish) Note: It will typcially give you errors (unless it's theme'd correctly) but you're just after some code from a few .xml files so don't worry.
In the NEW folder Navigate to
Code:
\res\drawable-hdpi\
or
\res\drawable-hdpi-v4\
Copy all of the battery charging .png's and drag them to a folder on your desktop. Then open the EE19 folder within APT (the one you decompiled from the rom you're working from) Drag those images into the /res/drawable-hdpi-v4 directory replacing any existing ones.
open the following file in notepad++
Code:
\apt\NEW\res\drawable\stat_sys_battery_charge.xml
Also open the same file within the EE19 decompiled folder
In the THEME xml file select all and copy
In the EE19 xml file, paste this replacing the text. Then save it overwriting the original.
At this point, the battery mod is done and the new .png files exist so that theme porter can do it's work (And the xml is there to make it works when it get's to your phone). If you don't have any text edits to make, you can recompile the apk (as stated in steps in first post) and move on to steps below (skipping the section on changing text).
Changing text colors-
If you have determined that the text in the theme is different from the rom framework (I.E. Text on notifications, menu's, etc.) then you will follow these steps to locate where these changes need to be made.
If you haven't already, decompile the framework-res.apk from the Rom.
Next, determine what text color edit's you need to make and then use this wonderful reference to determine which actual files those edit's correspond to.
Locate the file you need to edit in the decompiled folder, and open it with 7zip.
Typically removing the "inverse" reference on the color line will change it from black to white, or white to black and is the easiest/best way to alter colors in a ROM. (For a quick note, searching for "menu" in the styles.xml files located in /values/ will give you the items you need to change, watch for _bright references for the dividers, change those to _dark instead.
Once you are done making these edits, recompile the folder as stated in first post. And move on to using theme porter.
Using Theme Porter-PAY CLOSE ATTENTION HERE.
Now that you have the appropriate prep-work done, the easy part finally comes. (Hopefully)
Copy and paste the applications & framework-res.apk twframework-res.apk files from the THEME.zip into the appropriate folders within the OLD folder in theme porter.
Now copy and paste the same files that you copied from the theme.zip, now from the rom (EE19 for example) to the NEW folder in theme porter.
Once all files are in appropriate folders, run the Script.bat file in theme porter. Use a selection of "1" and press enter.
Theme porter will now copy all of the .png files from one .apk to the other (where the folder names are an exact match)
NOTE:At this step, you may have issues where the images aren't brought over (This typically only effects the framework files and just depends on how the file was generated/edited). This can be detrmined by opening the .apk in 7zip and pulling out the res folder, where you can view the files (you will see if it's been changed or not) If it hasn't, you will need to make sure the folder within the Themed .apk's are the exact same as the ROM you're themeing and re-run the theme porter script. (meaning you need to add or remove the -v4 ending depending on where the previous themer placed the themed files)
If you're lucky, everything is done at this point and you can move on to packaging a flashable update.zip.
Packaging A Flashable Update.Zip
A flashable package is simply a .zip file (stored as "store" in 7zip, no compression) that is made up of META-INF and System folders. The META-INF folder is very important as there is a big difference between using one from a ROM (pick and pick) and a theme (NeonGT) You will need to download a theme and pull the META-INF folder out so that you can use it in your theme ports. This is to ensure you have the correct script (edify or ammend) typically now we're using edify so use one from one of the H57 theme's via baked_tator The system folder should contain two folders "framework" and "app" each of which will hold the respective .apk files you have been working with. (but could also contain a "Media" folder for changing bootanimation.zip files, basically any files within the folder structure you create (matches the system structure) will be replaced when flashed. So be careful not to include things I haven't listed here unless you know what you're doing. And be sure to test these things before even thinking about a release.
Create the following folder that can be re-used with any new theme port, it's the easiest way to keep things organized and not lose track of files.
Create a new folder on your desktop called New Theme
Within that folder paste in the META-INF folder from another EE19 theme.
Create a new folder called "system"
Open system and create two new folders "app" and "framework" (and "media" if you are including the bootanimation.zip from the theme (which typically will work on our phone)
Place approprate files from the NEW folder within theme porter into these folders, respectively
Back up so that you see the META-INF folder and System folder, select those two, right-click and select "add to archive" in the 7zip menu.
Name the file "EE19 ThemeName VX.zip" and select "Store" for the method
Drag this to your desktop and this will be what you will place on your SD card for flashing.
Test the theme thoroughly to make sure everything ported over and everything still works (make sure to test USB, even color XML edits can cause odd issues) and get help from others to make sure the bugs are out.
If you run into issues, check the next post for possible resolutions.
BE SURE TO CREDIT THE PROPER CREATORS!!! I can't express this enough, I have a format for the way I do release posts, feel free to copy it if you'd like but either way make sure you make it known that it's not your work!
FAQ / Common Issues / Other Resources
Common Issues:
Images do not transfer to new framework.apk files.
(typically the applications all have the same folder names, so no problems occur here.)
As stated in the guide, all folders within each res folder within each .apk file used in theme porter must have exact matching folders/files for the .png to actually transfer. If it's been edited with apktool, it typically has the -v4 extension.
Troubleshoot your issue by opening the resulting .apk file in 7zip and comparing to the downloaded theme file in 7zip. You may have to pull the res folders out and look that way to actually see which images didn't transfer.
First thing to check is the folder names within the res folder, if the rom folder's names are "drawable-hdpi" and "drawable-land-hdpi" and the theme has "drawable-hdp-v4" then you need to remove the -v4 from those folders and run theme porter again.
NOTE: I've also run into situations where both folder's existed in the .apk file, meaning both drawable-hdpi and drawable-hdpi-v4 folders were there, but only one actually had the themed .pngs. In this case it was the drawable-hdpi folder that had the themed ones, but I needed it to be -v4, so I deleted the existing -v4 folders and renamed the others to -v4 - this also slimmed the rom because you really don't need the extra folders/files (nor wan't them!)
Some times icons don't exist on other phones, or they are completely different icons. I.E. with 2.2 fascinate theme's the Silence icon does not exist and therefore would need to be pulled from another theme or created to be fixed. This can be done with 7zip, no need to decompile the file if you're just swapping .png files (in the final framework-res.apk .
[*]Problems after testing theme.
This has happened to me on all sorts of levels;
Problems Restoring - Sometimes after testing theme's you'll go to restore and things will not be right when you boot, FC's and whatnot. Best case scenario you can restore to a vanilla restore (meaning your rom + any app's you wanted, but no theme's) or just flash your rom to fix.
Problems with icon's not being correct on a restore or a flash.
Same as above, sometimes things just go awry when you're flashing theme on top of theme, so i'ts best to start from the rom. Make a restore point with your rom + all your apps, then you can always go back to it and flash your day to day theme - this will give you the least trouble.
Phone stuck in airplane mode, setting is disabled.
I had this happen to me randomly once, no idea why but if you do run into this the only thing that fixed it for me was an odin back to a full build. No restore or flash would fix it. Typically your problem should be solved with a fresh flash of your rom, but sometimes going to a full build with odin is the only way.
FAQ:
Post them and we'll get them answered and edited in here. So far I've tried to cover everything I knew of in the guide .
Reserved
Reserved
Reserved
Other Resourcs:
Great guide by nitsuj17 on how to theme
Hex Colors
Free Photoshop Alternative
XML Color Edit Guide - in case you missed it above - credits to KBanause
wow, you rock bde. thanks for your time and help with this, I will be following it to help you guys out with stuff more.
Sent from my SCH-I500 using Tapatalk
sageDieu said:
wow, you rock bde. thanks for your time and help with this, I will be following it to help you guys out with stuff more.
Sent from my SCH-I500 using Tapatalk
Click to expand...
Click to collapse
Great, and thanks, I'm glad to share what I've learned with the community
Great write up,ive read through it several times. Just wish I hadn't traded my desktop for tattoo work this weekend. ..
Sent from my SCH-I500 using Tapatalk
man you write some good tutorials...
Very thorough and still easy to understand, Great work!!
Very nice! Just fixed the white on white text in my super light port. Big Thanks!
Great write up!
So, I tried using apktool to decompile the framwork-res.apk and it worked fine, recompiled it and everything was good, are these the same steps I would use for other APK's such as in the apps folder (i.e. Settings.apk) because I cannot get them to work I keep getting brut.androlib errors
bwot75 said:
So, I tried using apktool to decompile the framwork-res.apk and it worked fine, recompiled it and everything was good, are these the same steps I would use for other APK's such as in the apps folder (i.e. Settings.apk) because I cannot get them to work I keep getting brut.androlib errors
Click to expand...
Click to collapse
Usually if you get errors in compiling there have been things added or removed after compiling, this is sometimes caused by using theme porter for example.
Apktool works on any apk, but i'ts fussy about what's there before it recompiles. Try decompiling and recompiling with no changes, if it doesn't work then it won't work on that .apk (to my knowledge). You basically will always need to start with one of the deodexed apks from phidelt's pick and pack, then add changes while i'ts decompiled, then run theme porter after it's recompiled if needed.
And glad you all appreciate it
I vote sticky on this how-to...very good write up and it makes my life easier!!!
Definitely sticky
Sent from my SCH-I500 using XDA App
Thanks for the good reading bde. great tutorial.
Hey thanks, glad to share the wealth
Sent from my SCH-I500 using XDA Premium App
I followed this guide and made XML editing for Framework-res.apk to change font colour in the Menu using Notepad++, but after xml edit, cant build the framework.apk, it says sources have changed and does not build the apk. Am using apktool for this. Any suggestions how to go about it. Or somebody can guide, how can I change the menu background so that Menu texts are visible?
trip007in said:
I followed this guide and made XML editing for Framework-res.apk to change font colour in the Menu using Notepad++, but after xml edit, cant build the framework.apk, it says sources have changed and does not build the apk. Am using apktool for this. Any suggestions how to go about it. Or somebody can guide, how can I change the menu background so that Menu texts are visible?
Click to expand...
Click to collapse
As stated in an above post, try decompiling the framework-res.apk you are working with - without any edits and see if it will recompile with no error. If it doesn't then re-read my guide
Ok thanks will check it.
Never mind, I figured it out.
Sent from my SCH-I500 using XDA App
I did some major fixin' on the OP, hope it's more clear!

[Q] Icon location and question to themers about framework-res.apk

Well I've started theming myself since I wanted a Windows Phone 7 Theme and learning as I go along but I've come across a few hurdles.
1. How do I push framework-res.apk without losing configurations like my email/gmail set up or wallpaper being back to default?
2. Where do I find the icons for the top right voice search and search buttons? I've found a couple that look identical within the files but when I change them nothing happens.
3. Any good guides or tools on how to make a flashable zip? I used to just use a script to make an updater script but it doesn't work anymore since they changed it to edify. I'm a lowly designer and can't figure out how to make a working updater script.
Thanks in advance.
Bump to the top.
and another bump ):
hope this helps...
seshmaru said:
Well I've started theming myself since I wanted a Windows Phone 7 Theme and learning as I go along but I've come across a few hurdles.
1. How do I push framework-res.apk without losing configurations like my email/gmail set up or wallpaper being back to default?
2. Where do I find the icons for the top right voice search and search buttons? I've found a couple that look identical within the files but when I change them nothing happens.
3. Any good guides or tools on how to make a flashable zip? I used to just use a script to make an updater script but it doesn't work anymore since they changed it to edify. I'm a lowly designer and can't figure out how to make a working updater script.
Thanks in advance.
Click to expand...
Click to collapse
1. grab an old zip for a system/framework file
toss the previous file(s)
toss in your new edited framework res
resign using this and this
flash via recovery
2. let you know when i get a chance to look.
3. grab apk manager.
MagnusRagnarok said:
1. grab an old zip for a system/framework file
toss the previous file(s)
toss in your new edited framework res
resign using this and this
flash via recovery
2. let you know when i get a chance to look.
3. grab apk manager.
Click to expand...
Click to collapse
1 is as simple as that? Sweet.
Also I have apk manager and Update zip packer but they use the old updater script ): But if I can simply use other peoples update script and replace their files with mine then that shouldn't be a problem, thanks for the help.

Changes Not Applying?

So I'm using running MIUI 1.23.9 and I'm using metamorph to change my wifi signal bars. I'm using a modified version of Akoe101's bars (unzipped, changed images, rezipped). After applying in metamorph and rebooting, my wifi bars are still the same... What gives? I've tried twice, I looked in /system and the files are in the res folder, but I still get the normal wifi bars.
i dont think this will work<<<
now i could be wrong. and maybe cause its miui, but in most roms you can just edit the systemui.apk to have different wifi images.
you just have to resign it and all.
make sure to always have back ups of your original. worst thing that happens is system ui crashes, when this happens you can just hold the search button down, and usually if you get into google search, it wont require the status bar. then you can search for your root explorer app, and edit the file back and reboot.
sorry im not that much help, good luck.
there is probably a tutorial online that shows you how to make a miui theme
i know there are tutorials on changing systemui.apk
MiUi is not like most Roms......i dont think you just go pulling images from theframework.res or Ui images either....
LG would be the one to ask he seems to be able to make Miui Themes and turn them into MTZ files so u just have to put in the proper folder and Bam miui does the rest.
but Ninja/MetaMorph......Dont work here.
you will only get bootloops, OR just nothing will happen.
Okay so if the mtz theme your using already has modded wifi signal bars the easiest way to exchange them if you insist on using your phone is to use root explorer download both the mtz you want to use and the one that you just want the wifi bars from. Rename the one you want to use to to zip by renaming the file form .mtz to .zip extract all go to extracted folder when you open is it will either have a bunch of files "if there files at the end of systemui and extract" or folders if there folders than just find systemui go to drawable-hdpi and check to see if the wifi bars are there if so back up to were the other mtz is the one you want the wifi bars from. repeat the process now once they are both extracted go into the drawable-hdpi folder that has the bars you want use multi-select to select all the images then go to the folder you want them in click paste and hit yes to over write. now in the folder you just out the files in re-zip go to zip extension when prompted rename it and take the zip out it should now turn into a file again move the com.systemui file or systemui folder back into the theme zip the theme go to zip when prompted rename to mtz and place this in your miui theme folder if you need more help pm me but once you do this a few time it will get easier and easiest if you use a computer...

Categories

Resources