Related
Clicking the wiki just now gave me a 404 error and the sticky is a bit long and just a bit outdated in terms of the links.
What programs, apps, vids, etc do I need in order to make themes?
I have been flashing themes left and right and each have their goods and bads. The biggest bad is there doesn't seem to be a well done red theme which I would like to do. I have tried enamored but the notification icons kill it for me.
So again, are there any up to date tutorials on making themes? Thanks in advance for any help.
+1 to that
Sent from my Droid using Tapatalk
A quic and dirty how to
lovethyEVO said:
Clicking the wiki just now gave me a 404 error and the sticky is a bit long and just a bit outdated in terms of the links.
What programs, apps, vids, etc do I need in order to make themes?
I have been flashing themes left and right and each have their goods and bads. The biggest bad is there doesn't seem to be a well done red theme which I would like to do. I have tried enamored but the notification icons kill it for me.
So again, are there any up to date tutorials on making themes? Thanks in advance for any help.
Click to expand...
Click to collapse
shanesol said:
+1 to that
Sent from my Droid using Tapatalk
Click to expand...
Click to collapse
heres the How to
An apk is really just a zip file... apk stands for android package (if i remember correctly). So treat it like a standard zip file.
Youll need a pint program to make changes I use gimp its free so get it here
TIP: Your first theme should really just be a mixing and matching of other themes to get use to the process.
TIP: d/l and look at other themes and see what the have done, using the same process below you can port and mash themes. To see what is themed go to the res/drawable-xxx folders and sorte the png's in there to newest at the top and you'll see what they have changed.
TIP: system/app/xxx.apk are where most apps that are themed are contained in these apks you'll find a res folder and in there you have a bunch of folders. you really on need to look in the drawable-xxx ones mdpi, no-dpi, land and so forth. these pngs make up the apps look and feel changing them will theme the app.
You'll need apk manager this will allow you to sign zips which makes them flashable. get that here
Now get your favorite Rom and make a folder. In that folder make 2 folders one called packed the other called packed. Take your rom and unzip it in the unpacked folder. and then take the original zip and move it to the packed folder.
Next go into the unpacked folder and nav to system/framework.framework-res.apk (this holds the bulk of the android png that make up all the stuff most people change to make a theme) take this apk and unzip it in this folder and then make a copy of the apk and move the copy to the packed folder.
Now when you want to make a change to the framework-res.apk use the unpacked as a reference. us the packed as the change dir, you do this by opening but not unzipping the apk you want to change and just dragging the files you are replacing into the apk, this will replace them. You might want to make a a 3rd folder sorta of a master copy if you ever mess up the packed roms. Remember that in all three of the dirs created you want to keep the dir structure the way you extracted it from the rom and theme.
Now that you have an altered framework-res.apk you can just push it to system/framework folder (i think) and reboot and your changes are in. I never do this since flashable is easier to manage I make a flashable.
A flashable is like a rom but allot smaller, so d/l one of my themes and take the zip file and place in in a folder next to the packed and unpacked folder call it something like staging. now unzip apk manager into the top dir next to 4 other folders you just made.
Now my theme zip can be renamed to whatever you want, your going to use it as a place holder for signing flashable zips. go into the theme zip and delete ever thing in the system folder except the framework folder then go into the frame work folder and delete everything, if you have apps your theming just make the system/app.
Your flashable zip folder should only have a a meta-inf folder and a system folder, the system folder should only have a framework and or app folders. Now drag your altered framework-res.apk into the flashable zip system/framework folder you just cleaned out.
Ok now you have to sign it, copy that flashable zip to the place-apk-here-for-signing folder, this should have shown up when you unzipped apk manager into the folder the also contains unpacked and packed folders.
Now click on the script.bat and you'll see a bunch of option you can do option 16 to sign your zip. it takes a second or two and the date should get updated on the flashable.zip file in the place-apk-here-for-signing folder.
Now you have your new them ready to install. if your changing something else find the apk and replace framework-res.apk in these instruction and it works the same. note that most app reside in system/app so you next to take that into account.
Keep the questions reasonable and I'll answer then.
Thanks simmons. For the most part I have been doing the open apk without extracting and replacing png files. The one thing that I cant seem to get is changing the battery icon...it never sticks. Anyways, do the themes always have to be signed? I know amon 1.8 can flash unsigned zips but do the themes have to be signed always? I will be taking my laptop to work tonight to practice what you outlined. Thanks again.
EDIT: I noticed some themes have com.htc.resources.apk alongside framework res and some have services.jar. What are these for?
No they don't have to be signed but people will complain cause most people don't have the eng spl, it all so protects you from flashing bad stuff. If your only changing the standard 5 battery icons thus method always works.
The services.jar usually room specific and changes things like lock screen behavior mixes These with other roms will cause boot loops be careful.
Sent from my HERO200 using XDA App
Simmons thanks for answering so far.
My last question is to theme the entire phone is it basically the resources, framework, and services.jar files that need to be edited? I understand the apps would be themed themselves and then just included as part of the zip file right?
lovethyEVO said:
Simmons thanks for answering so far.
My last question is to theme the entire phone is it basically the resources, framework, and services.jar files that need to be edited? I understand the apps would be themed themselves and then just included as part of the zip file right?
Click to expand...
Click to collapse
well the service.jar is compiled and therefore can't necessarily be themed you can't hack it or mod it by decompling it or you can change it by compiling changes you made from source but for the sake of normal themes its not needed.
as for the resources I assume your referring to the resources.arsc which is basically a set of compiled xml files. In here it where you can change stuff like how many pngs are associated with the battery status icons (think of circle batter mod which has one icon per percentage instead of the 0 10 20 40 60 80 100 ? icons in the normal aosp rom) changing this can be done with the apk manage by decompiling the framework-res.zpk, making the change and compiling back. but I wouldn't recommend it to a beginner.
The problem with the above is you take the chance of the theme not be cross-rom compatible. For you normal theme all you need to change are the pngs in the res folder of the framework-apk, however somethings like the launcher or the dialer still reside in the app folder and have there own apk.
Oh and I have no question limit.
ASimmons said:
well the service.jar is compiled and therefore can't necessarily be themed you can't hack it or mod it by decompling it or you can change it by compiling changes you made from source but for the sake of normal themes its not needed.
as for the resources I assume your referring to the resources.arsc which is basically a set of compiled xml files. In here it where you can change stuff like how many pngs are associated with the battery status icons (think of circle batter mod which has one icon per percentage instead of the 0 10 20 40 60 80 100 ? icons in the normal aosp rom) changing this can be done with the apk manage by decompiling the framework-res.zpk, making the change and compiling back. but I wouldn't recommend it to a beginner.
The problem with the above is you take the chance of the theme not be cross-rom compatible. For you normal theme all you need to change are the pngs in the res folder of the framework-apk, however somethings like the launcher or the dialer still reside in the app folder and have there own apk.
Oh and I have no question limit.
Click to expand...
Click to collapse
Simmons, thank you very much. Every answer you give is clearing things up more and more for me. I have decompiled a frameworkres before when I was trying to get the circle batt mod onto the odex stock rom so I am not too unawares there. What I want to do is theme the colors on anything and everything along with making the transparent windows such as when you confirm actions and the transparent notification pull down. Are these really accomplished with simply changing the pngs or do I have to edit the xml files? If I must edit the xml files, are there key files to edit or would editing one xml affect another?
lovethyEVO said:
Simmons, thank you very much. Every answer you give is clearing things up more and more for me. I have decompiled a frameworkres before when I was trying to get the circle batt mod onto the odex stock rom so I am not too unawares there. What I want to do is theme the colors on anything and everything along with making the transparent windows such as when you confirm actions and the transparent notification pull down. Are these really accomplished with simply changing the pngs or do I have to edit the xml files? If I must edit the xml files, are there key files to edit or would editing one xml affect another?
Click to expand...
Click to collapse
The xml files really just hold names for the pngs. So for example the pngs for the battery have there names store in the xml (cant remember off hand which one of the decompiled xml from the resource.arsc.. strings??) file and then as the value value next to that filename for what percent to show that specific png at.
But 95% of your theming only involves changing the png files. So to have a clear notification back ground look in the framework-res.apk/res/drawable-mdpi/status_bar_background.png or you want to change the button to unlock your phone framework-res.apk/res/ic_jog_dial_unlock.png or to change the status bar framework-res.apk/res/statusbar_background.9.png
TIP: if you see a png with 9 in the name like xxxx.9.png its basically a stretchable png where the side that you want stechable has a one pixel wide line running the length of the png as a border this tells android that the png should stretch that side until it fills the screen.
9 patch explanation
So aside from editing the xmls for the battery percent everything is just replacong pngs? Thats awesome.
When it comes to apps like the internet browser for example, where would I find the apk? I'm assuming theming the apps is just like themeing the phone in that I just replace the .pngs right? Again your answers are very much appreciated and definitely making things seem easier. Thanks.
Hiya all.
I'm a noob at this too and I want to change the icons of some of the apps installed on my phone and theme a couple of widgets that am using. I have two questions:
1) In the system/app folder of the phone almost all the apps have a xxx.apk and a xxx.odex file. In order to change the png files in the apk does something need to be done with the odex file too?
2) Can I change the png files in the apk files in data/app the way you described above?
Sorry if the questions are noobish
From my Galaxy S loonie-phone
lovethyEVO said:
So aside from editing the xmls for the battery percent everything is just replacong pngs? Thats awesome.
When it comes to apps like the internet browser for example, where would I find the apk? I'm assuming theming the apps is just like themeing the phone in that I just replace the .pngs right? Again your answers are very much appreciated and definitely making things seem easier. Thanks.
Click to expand...
Click to collapse
To theme the browser you can alter the Browser.apk in the system/app and using the direction I posted it works the same way.
And if you make a theme pm me so I can check it out.
Fireloon said:
Hiya all.
I'm a noob at this too and I want to change the icons of some of the apps installed on my phone and theme a couple of widgets that am using. I have two questions:
1) In the system/app folder of the phone almost all the apps have a xxx.apk and a xxx.odex file. In order to change the png files in the apk does something need to be done with the odex file too?
2) Can I change the png files in the apk files in data/app the way you described above?
Sorry if the questions are noobish
From my Galaxy S loonie-phone
Click to expand...
Click to collapse
1. My theming expertise is more with AOSP roms but its my understanding that you should be able to theme a sense rom in the same way by de-odexing a rom. And yes any and all apps are themable if it has a png files in it you can unpack it alter the png's and put them back in the original apk, which overwrites the original png's and resign it and then flash or reinstall it.
2. Yes you can. any and all apks can be themed in the manner I described. for odexed roms search the forum for de-odexing techniques.
Thx for the answer. I'll search about deodexing
From my Galaxy S loonie-phone
Thanks for all the great tips I just got finished porting a theme thanks to all the help!
shanesol said:
Thanks for all the great tips I just got finished porting a theme thanks to all the help!
Click to expand...
Click to collapse
awesome pm some screenies or the op here I'd like to check it out.
ASimmons said:
awesome pm some screenies or the op here I'd like to check it out.
Click to expand...
Click to collapse
It's a simple black/white matte theme called Invertnito. It was made for Sapphire but I like CM too much to give it up lol
ASimmons said:
awesome pm some screenies or the op here I'd like to check it out.
Click to expand...
Click to collapse
Looking to have some sort of base by this weekend. I have just been mix/matching pngs I like from other themes as well as trying to make my own pngs and figuring out the transparency/borders effect. Taking my time but still want to come out with something for critique.
shanesol said:
It's a simple black/white matte theme called Invertnito. It was made for Sapphire but I like CM too much to give it up lol
Click to expand...
Click to collapse
Nice Job.
lovethyEVO said:
Looking to have some sort of base by this weekend. I have just been mix/matching pngs I like from other themes as well as trying to make my own pngs and figuring out the transparency/borders effect. Taking my time but still want to come out with something for critique.
Click to expand...
Click to collapse
Well I'm not much of a critiquer since most of the themeing stuff I've done doesn't go over so well around here (I dont like dark colors, black, dark blue blah blah) really its up to what you like, I made a couple of themes based on what I liked and left it at that. But I'll be glad to look at it and dont forget to make sure that if you use some elses stuff you give them there props in your ops and pm them a warning you going to use it, unless they specify different this is all you should need to do..
ASimmons said:
Nice Job.
Well I'm not much of a critiquer since most of the themeing stuff I've done doesn't go over so well around here (I dont like dark colors, black, dark blue blah blah) really its up to what you like, I made a couple of themes based on what I liked and left it at that. But I'll be glad to look at it and dont forget to make sure that if you use some elses stuff you give them there props in your ops and pm them a warning you going to use it, unless they specify different this is all you should need to do..
Click to expand...
Click to collapse
Definately making note of whose work I use. Though it's kind of hard because my favorite notification icons I have seen in two diff themes and neither one of them mention who was the artist for them. But still keeping at it. And like you I dont care about dark colors unless its used to contrast the main theme color. I'm working on a red theme and there will be some parts that will have a darkish background to help the red border colors and/or text pop more. In time though. Your first post here was definitely a great shove in the right direction.
Hi can anyone suggest an alternative tool for apktool. It just doesn't work for me. Whatever I do either gives compiling errors or just a bootloop. Thanks guys.
It's nice to know I'm not the only one. Anything past extract optimize and zip is useless for me. I have never had it actually compile an .apk without an error.
I'm having serious problems compiling the framework-res from a CM6.1 based ROM. It decompiles fine, but won't recompile I get hundreds of errors about missing referances.
I only wanna edit a few XML's :sad:
Sent from my HTC Hero using Tapatalk
l0st.prophet said:
I'm having serious problems compiling the framework-res from a CM6.1 based ROM. It decompiles fine, but won't recompile I get hundreds of errors about missing referances. I only wanna edit a few XML's :sad: Sent from my HTC Hero using Tapatalk
Click to expand...
Click to collapse
Which xmls do you want to edit, and what are you wanting to change?
dean.d said:
Which xmls do you want to edit, and what are you wanting to change?
Click to expand...
Click to collapse
Thanks for replying, but I worked it out. I had some dodgy .9.png's that were breaking the compile, so I just had to remove them before compiling.
For anyone else having trouble, check the logs after you decompile to see if there are any messages about .9.pngs. If there are, remove them from the decompiled folder, compile when you are finished, then just add the .9.png's back in afterwards with WinRAR.
I was tryna change the color of the text and the border in the bottom popup menu for my Gingerbread theme
l0st.prophet said:
Thanks for replying, but I worked it out. I had some dodgy .9.png's that were breaking the compile, so I just had to remove them before compiling.
For anyone else having trouble, check the logs after you decompile to see if there are any messages about .9.pngs. If there are, remove them from the decompiled folder, compile when you are finished, then just add the .9.png's back in afterwards with WinRAR.
I was tryna change the color of the text and the border in the bottom popup menu for my Gingerbread theme
Click to expand...
Click to collapse
The reason that happens is the original "dev" who themed the framework did not decompile/modify/recompile. He merely dragged and dropped the modified .9.png
Hence when u decompile, apktool cannot find the necessarry data within resources.arsc to decompile the .9.png and hence when u go to recompile, it complains. Ur safest bet is to always decompile an apk as close to stock as possible.
Where do you place your framework-res.apk I placed mine in the platform tools folder but apktool can not find it
so of you have notice and have been asking about this. i decided i would open up my vault and let the secret out for all.
this is brought to you by myself and the rest of ACS.
Me and dreamsforgoten figured this one out together.
Disclaimer: do not decompile a custom framework and expect it to recompile as it will not work and you'll end up with a list of errors. You can not hold me our anyone at ACS for bricking your phone or any damage that may have occurred by doing this
this how-to is written as if you have a half a brain and know what your doing. if you dont know what your doing please read the themeing how to's written by dreamsforgotten.
1. decompile framework-res.apk
2. open up the values folder
3. locate strings.xml and open with notepad++
4. ctrl+f and search for Sprint. it should be under zz_roamingguard_1 or something simliar. make sure just to edit the roaming guard_1 only
5. rename to w/e you would like. this changes the pull down branding, the aosp lock screen branding, and the network in settings
6.recompile apk. if your building a theme make your other xml edits while decompiled
If you use this mod in your custom themes or roms please give me credit
if you feel as you have benefited from this in anyway please buy me a beer in my signature to keep me motivated on finding more tricks, hacks and themes
Not sure if this will work on other phones or carries.
Thanks for posting this. Is there a way to tell if a framework-res is modded already? Or, more specifically, if trying this on dk28, where's the best place to get a "pure" framework to start with?
also, do you use a specific level of compression when compiling your edited framework?
Thk u.
Sent from the future.
decalex said:
Thanks for posting this. Is there a way to tell if a framework-res is modded already? Or, more specifically, if trying this on dk28, where's the best place to get a "pure" framework to start with?
also, do you use a specific level of compression when compiling your edited framework?
Thk u.
Sent from the future.
Click to expand...
Click to collapse
When I mean a modded framework-res.apk it's one that comes from a theme. They don't compile nicely with the new images added.
I'm personally using the dk28 release from ACS as my framework to modify.
A good way to test is as soon as you de compile the framework re compile it. If it re compiles with no errors you then you can go ahead and use that framework.
I haven't changed my compression when compiling any of my work
Sent from my SPH-D700 using Tapatalk
I know in apk manager 4.9 it saves the file as unsigned_filename.apk but when you chose yes to carry over the signature, it is carried over into the new file in tact. You can skip the last step of resigning the apk after compiling if you choose yes as a system file when you compile. it throws you off being named unsigned but if you open it the meta inf folder is in there.
Sent from my SPH-D700 using Tapatalk
Ok
Maybe i am in wrong thread but here goes.
I installed acs dk28 fro-yo version when it was first released
I have an app i use called privacy star,it no longer will let me use the app
I called privacy star they say my carrier is iroot the original branding acs used for the ROM since iroot isn't a phone company i cannot pay for the app at all.
tell me why, and any suggestions how i can change my carrier back to sprint branding, i have a build prop if anyone can help me.
about phone says sprint as my carrier and i didnt see anything odd in buildprop
http://pastebin.com/92hCixde
humdrum2009 said:
Maybe i am in wrong thread but here goes.
I installed acs dk28 fro-yo version when it was first released
I have an app i use called privacy star,it no longer will let me use the app
I called privacy star they say my carrier is iroot the original branding acs used for the ROM since iroot isn't a phone company i cannot pay for the app at all.
tell me why, and any suggestions how i can change my carrier back to sprint branding, i have a build prop if anyone can help me.
about phone says sprint as my carrier and i didnt see anything odd in buildprop
http://pastebin.com/92hCixde
Click to expand...
Click to collapse
you may basically have to reverse the instructions in the OP. do you understand the instructions? browse the how to theme guides by dreams, you wouldnt be doing all the editing of pngs and compiling in eclipse, but you will need apk manager. basically decompile your framework-res.apk, go to values/strings.xml and change iroot back to Sprint in Notepad++, recompile. you could either drop it in /system/framework with root explorer or replace in the ROM zip and reflash.
Ill get on it right now thanks
Nice post.
Hmm.. I'm curious If that works for you, since you're decompiling and recompiling a "modified" framework.
Sent from the future.
decalex said:
Hmm.. I'm curious If that works for you, since you're decompiling and recompiling a "modified" framework.
Sent from the future.
Click to expand...
Click to collapse
Unfortunadamente, it won't. You can however, take a stock framework-res.apk and copy over the drawable-hdpi folder. But you will lose the battery % mod as well, so make sure to change the battery images back to stock before you copy it.
Sent from my Xtremely Syndicated and Emotionless Epic 4G
Thread cleaned. If something like this happens again, infractions will be handed out to everyone involved.
If you have a member that is trolling/flamming, just ignore them and report the post. I will take care of it.
By saying something to them you are going to get yourself in trouble and start a large fight in a thread that does not need it.
decalex said:
Hmm.. I'm curious If that works for you, since you're decompiling and recompiling a "modified" framework.
Sent from the future.
Click to expand...
Click to collapse
you can reverse the order but there will be extra steps involved. when your ready ro re compile you would have to add in all the stock .9.pngs when re compiling.
Sent from my SPH-D700 using Tapatalk
Thx for your help guys I'll edit this post with results.
Cool-- using both of your recommendations (starting with orig ACS DK28 rom's framework-res.apk, I was able to edit the xml(s), recompile, (delete resources.arsc in the created keep folder), then signed, then dropped in drawable pngs. When you want to do the png edits, do you overwrite All of the folders in your signed framework's res folder? (wouldn't that overwrite the xml edit made)? or just the drawable folders
decalex said:
Cool-- using both of your recommendations (starting with orig ACS DK28 rom's framework-res.apk, I was able to edit the xml(s), recompile, (delete resources.arsc in the created keep folder), then signed, then dropped in drawable pngs. When you want to do the png edits, do you overwrite All of the folders in your signed framework's res folder? (wouldn't that overwrite the xml edit made)? or just the drawable folders
Click to expand...
Click to collapse
you will only loose your xml edits if you replace the xmls
Sent from my SPH-D700 using XDA App
hehe.. come on man. gimme a little more credit than that
in compiled state, the strings.xml (for example) is contained in the resources.arsc file (?). Because, decompiled, obviously, the folder structure is different.
so, I could basically just replace the whole res folder, since the resources.arsc is *not* in that folder? I'll play around with it, but I think I'm getting the gist.
decalex said:
hehe.. come on man. gimme a little more credit than that
in compiled state, the strings.xml (for example) is contained in the resources.arsc file (?). Because, decompiled, obviously, the folder structure is different.
so, I could basically just replace the whole res folder, since the resources.arsc is *not* in that folder? I'll play around with it, but I think I'm getting the gist.
Click to expand...
Click to collapse
When editing xmls you delete the xmls you edited in the keep folder. The hidden xmls like strings.xml is not seen when being built. I delete the resources.arcs when ever I edit a xml even if it is a visable xml. You cannot replace the hole res folder cause of the xmls inside. Some xmls makes changes in the public.xml when compiled. The public.xml is also hidden.
Just decompile the custom framework you wanna edit. Make your changes. Replace all the modified .9 images with the stock ones. Recompile the framework. In the keep folder delete resources.arcs and any xml you can see in the build that you edited. Delete the .9s from the keep folder since you replaced them. Once the file is compiled sign it. Open up the old custom framework with 7zip and your newly created framework with 7zip. Drag and drop the .9s.from the custom framework into your framework
Sent from my SPH-D700 using XDA App
I came across an app that is free in the play store called photo editor, you can edit pngs with this app! Now my question and barrier that's blocking me since theme Chooser came out you only have to have a theme in apk and not zip so do you really need to be able to decompile and recompile for the apk to work properly and if so how can you go about decompiling recompiling on the android itself, very useful post for ppl having issues with their PC or don't have a PC at all and want to create their own themes, I know you can take a copy of the systemui and framework-res in a file manager and extract it but if you want to make an apk theme is it really as easy to edit pngs and compress it back to apk?
Sent from my Nexus S 4G using Xparent ICS Blue Tapatalk 2
I am trying to modify XMLs of Jelly Bean Contacts.apk. Using apktool that has been used for ICS and other Jelly Bean apks, I can decompile and then recomplie it without any error. However, the recompiled Contacts.apk would not work in cell phone, showing a message "Unfortunately, Contacts has stopped!".
To simplify the problem, I simply do decompiling and then recompiling without any modifications. I found that the size of resources.arsc has been changed from 1480 KB to 1525 KB. The new Contacts.apk causes FC!
Note: Files in smali folder can still be modified. After editing, use apktool to recompile and create a new apk. Then use WinRAR or 7zp to drag the newly created classes.dex into the original Contacts.apk. Such a "modified" Contacts.apk works properly. Note here that we did not modify resources.arsc.
This problem is only related to resources.arsc!! XMLs cannot be recompiled!!
Does anybody have the same problem? Do you know how to solve this problem? Any solutions or suggestions are appreciated.
Did anybody try this?
Are you all ok with modifying Contacts.apk?
With the current apktool jar file you can not edit any XML in the contacts apk. It has to be done in source code
Sent from the BatCave
zelendel said:
With the current apktool jar file you can not edit any XML in the contacts apk. It has to be done in source code
Sent from the BatCave
Click to expand...
Click to collapse
Thank you for your reply. The question is why we can edit XML in other apks except Contacts.apk.
Is there any magic?
framework-res.apk, Settings.apk, SystemUI.apk, Phone.apk are all ok without any problem.
iBotPeaches, the author of apktool, wrote: "Looks like we have new resource type. T9Map. Will have to code support for it. Its just loosing it on rebuild."
See discussions at: https://github.com/iBotPeaches/brut.apktool/issues/11