http://forum.xda-developers.com/showthread.php?t=737526
Heres a script that ports your themes from firmware to firmware, rom to rom.
How it works:
- Looks through app/framework folder for apks that exist in new/old rom
- Then extracts pngs from those apks
- Then deletes mismatching pngs
- Repacks old themes pngs into new rom
- Done
Click to expand...
Click to collapse
Easy cheesy multi rom theme ports
Here we go! This is gonna be fun this weekend.
xtremekilla09 said:
Here we go! This is gonna be fun this weekend.
Click to expand...
Click to collapse
lol... +1
Now I can port my themes for the whole world to share. Thanks for the find...and thanks for sharing.
sent using a phone.
Now what would really be nice would be if someone designed an .apk that did this on the phone(while adding the originals to a "theme-revert.zip" and the new theme to "theme.zip"). Then you just make one theme and post the link to the .apk.
The closest i ever found was zipthemer but it didnt work every time and thats no good.
If only someone could port the open source t-mobile theme choser to samsuck.
So this is it until someone who knows how to code jumps on that idea lol. Still glad it exists and that i bumped into it. And even more so that two of main people i had hoped would make use of it appear to be willing to do just that.
whiteguypl said:
And even more so that two of main people i had hoped would make use of it appear to be willing to do just that.
Click to expand...
Click to collapse
You bet. If this works, there are so many things that can be done, oh man. It will rain themes, well at least for FireFly to start with.
Again, thanks for pointing this out.
xtremekilla09 said:
You bet. If this works, there are so many things that can be done, oh man. It will rain themes, well at least for FireFly to start with.
Again, thanks for pointing this out.
Click to expand...
Click to collapse
From the limited testing ive done it seems to be working 100%. The only real potential problem im seeing (and the script might have a way to handel it) is porting a theme that uses drawable-hdpi to an apk that has both an hdpi AND hdpi-v4 folder in it. I would hope its defaulting hdpi to hdpi-v4. Lol... But i dont know.
Edit: and even that hope is based on the possible incorrect assumption that andriod will allways pull from the v4 folder given the choice? Anyone care to enlighten me?
whiteguypl said:
From the limited testing ive done it seems to be working 100%. The only real potential problem im seeing (and the script might have a way to handel it) is porting a theme that uses drawable-hdpi to an apk that has both an hdpi AND hdpi-v4 folder in it. I would hope its defaulting hdpi to hdpi-v4. Lol... But i dont know.
Edit: and even that hope is based on the possible incorrect assumption that andriod will allways pull from the v4 folder given the choice? Anyone care to enlighten me?
Click to expand...
Click to collapse
I think it does. Isn't the non-v4 there for compatibility reasons with older os versions? I saw something like that a little while ago, in a theming guide
Herp derp Captivate XDA app.
Well after a lot of testing i can safely say that it does not know how to handle hdpi vs hdpi-v4. And since our rom maintainers have decided to mix and match at will without smoothing anything out this script will not work a large majority of the time, depending on what rom you are on.
Quickish fix is to go into the apk before using the script and renaming all the drawable folders to match both the "themed" and "to be themed" apks. Then after the processes you can go in and rename them back to there original names.
............. Im also assuming that if you kept the folder name changes the xml wouldnt know where to look for the images???? I know little to nothing about how android handels that, if someone would like to chime in please do.
Well I most definitely be playing with it this weekend. Thanks again for the info.
sent using a phone.
whiteguypl said:
Well after a lot of testing i can safely say that it does not know how to handle hdpi vs hdpi-v4. And since our rom maintainers have decided to mix and match at will without smoothing anything out this script will not work a large majority of the time, depending on what rom you are on.
Quickish fix is to go into the apk before using the script and renaming all the drawable folders to match both the "themed" and "to be themed" apks. Then after the processes you can go in and rename them back to there original names.
............. Im also assuming that if you kept the folder name changes the xml wouldnt know where to look for the images???? I know little to nothing about how android handels that, if someone would like to chime in please do.
Click to expand...
Click to collapse
Maybe it could be tweaked.
Like after line 55(like roms) (and line 130 pre to post)
Code:
if EXIST "%~dp0old\%dcrt%\%%~nF\res\drawable-hdpi-v4" (rename "%~dp0old\%dcrt%\%%~nF\res\drawable-hdpi-v4" drawable-mdpi)
if EXIST "%~dp0old\%dcrt%\%%~nF\res\drawable-en-hdpi-v4" (rename "%~dp0old\%dcrt%\%%~nF\res\drawable-en-hdpi-v4" drawable-en-mdpi)
Line 240 seems to be for eclair. Most roms here are froyo.
It is possible. Daneshm90 knows his stuff and keeps it fairly simple. If you come up with something he would probably add it.
I will see what I can come up with.
Edit: Extracted file to C:\Theme-Porter_beta_3.
I added the above lines to to the script at lline 57 and 58.
Added files per directions. No errors. Changed files are dated 3/17. Untouched files still old date.
I may reflash soon to test it. Will follow up.
IamSonoma said:
Maybe it could be tweaked.
Like after line 55(like roms) (and line 130 pre to post)
Code:
if EXIST "%~dp0old\%dcrt%\%%~nF\res\drawable-hdpi-v4" (rename "%~dp0old\%dcrt%\%%~nF\res\drawable-hdpi-v4" drawable-mdpi)
if EXIST "%~dp0old\%dcrt%\%%~nF\res\drawable-en-hdpi-v4" (rename "%~dp0old\%dcrt%\%%~nF\res\drawable-en-hdpi-v4" drawable-en-mdpi)
Line 240 seems to be for eclair. Most roms here are froyo.
It is possible. Daneshm90 knows his stuff and keeps it fairly simple. If you come up with something he would probably add it.
I will see what I can come up with.
Edit: Extracted file to C:\Theme-Porter_beta_3.
I added the above lines to to the script at lline 57 and 58.
Added files per directions. No errors. Changed files are dated 3/17. Untouched files still old date.
I may reflash soon to test it. Will follow up.
Click to expand...
Click to collapse
Looks like that would take it one step closer. The main problem would still exist with those changes. It wont take images from a drawable-hdpi folder and migrate them to a drawable-hdpi-v4 folder. I posted in the op and asked if there might be a way for him to add an option to force the images into the other directory. I would assume it would be similar to part of what the script does to handle hdpi to mdpi conversions.
Related
CHANGELOG
v1.1 - Added "Ultra" compression switch. Added a few more commands.
v1.2 -Now includes batch file that signs the theme also. So if you need to add anything else to the theme, like an xml file, add it to themenew.zip BEFORE you run the batch file. I also included a batch file that change the Ticker, Date and Clock font colors to white, then signs it. Of course, you can make it change it to any color, you just need to edit the batch.
v1.3 - Now compatible with CM 4.1.5+ themes.
http://www.mediafire.com/?gmjbnzted5m
Then follow these steps...
Download and extract "themeporter.zip" to C:\themeporter(IMPORTANT that it's extracted there).
1) Copy old theme to c:\themeporter and rename it to "themeold.zip".
2) Copy new theme template to c:\themeporter and rename it to "themenew.zip".
3) Run Port.bat
note: If you want to see for yourself that this works, don't copy and paste "themenew.zip" into the themeporter directory. This batch will automatically create one if there isn't one there. You will then be able to see exactly which files are being ported over.
BIG NOTE: This only ports over.png's. You will still have to manually copy over and xml's, jar's or whatever over to "themenew.zip".
WOW
Man if this works.... WOW!!
The other issue is any modified xml's for color changes...
daveid said:
The other issue is any modified xml's for color changes...
Click to expand...
Click to collapse
Yea, this will only be used just for png's.
Is this geared toward theme creators or users? If creators you could modify it so that if they store only modified files in a tiered folder structure it could just dump them into the new template.
If end users then you will be limited on your current track since you have to unpack/repack with entire files instead of it being selective.
Take a look into the bash scripts available here:
http://forum.xda-developers.com/showthread.php?t=530081
Port the bash > batch, and you'll have a very nice theme porting experience in the windows environment.
I've been using it for the past month, and it's a champ.
cant wait to see this finished. with 6 themes to update this will be helpful!!!
sir*mez said:
cant wait to see this finished. with 6 themes to update this will be helpful!!!
Click to expand...
Click to collapse
So far so good...it's maybe about 60% complete. Hopefully I'll have something whipped up by tomorrow.
ThemePorter v1.0 is up. Check it out!
Looks good. So now all that is needed is the manual updates for HTC Music, XML edits and colorchanger.
Nice timesaver!
Thanks
SICK!!!!! I love this man with this and colorchanger.jar porting is a breeze for cyanogen builds thanks a million!!
Tried porting over Kspec Oreo Theme to Cyanogen 3.9.4
Kept getting a E:\Wrong Digest error with Phone.apk
I tried resigning it and same error
Beats me
xidominicanoix said:
Tried porting over Kspec Oreo Theme to Cyanogen 3.9.4
Kept getting a E:\Wrong Digest error with Phone.apk
I tried resigning it and same error
Beats me
Click to expand...
Click to collapse
Did you have the bat running in C:\themeporter\? Worked for me with Cyan's 3.9.4
Btw ultra Spikey, I have noooo idea why this thread is not insanely bigger cuz this thing is freakin awesome and helps a ish ton for me. Thats why it went unnoticed by me until now. Thanks man! : D
well i did a test that i was thinking about last night. Is it possible to port a theme over to a new CM before the new rom finishes flashing and booting up? the answer............ YES!!! i started the download for the rom and theme template at the same time and with this and colorChange.jar by Oshaka i was able to port my theme before my phone had fully booted up the rom. Also it only took 2 minutes to download the rom so that didn't affect timing too much. Great job ultra spikey, this is amazing
RainCrow said:
Did you have the bat running in C:\themeporter\? Worked for me with Cyan's 3.9.4
Btw ultra Spikey, I have noooo idea why this thread is not insanely bigger cuz this thing is freakin awesome and helps a ish ton for me. Thats why it went unnoticed by me until now. Thanks man! : D
Click to expand...
Click to collapse
Yup had it in the right place and everything .. it zipped everything up into "themenew.zip" but just hit that error when trying to flash it
EDIT: just tried it again ... didnt get the error!! lol ... i had to resign the update.zip (duh) ... rebooting now
Just FYI, for some reason (on my Linux box), when rezipping the files, it does not keep the same letter case.
Phone.apk becomes
phone.apk
This caused some problems...but all I had to do was go in an manually rename. Other than that - awesome work!
EDIT: Actually, just realized that the battery progress icon does not work at all. When I manually change the files - it is fine. But when I run your tool - it is not. My guess is the case-sensitive thing.
erissiva said:
Just FYI, for some reason (on my Linux box), when rezipping the files, it does not keep the same letter case.
Phone.apk becomes
phone.apk
Click to expand...
Click to collapse
Good catch eriss. I just noticed that as well and came in here to post that I am seeing the same issue.
hmm I didnt realize it was case sensitive. It's not on any of my themes at least. I will fix and to match later today.
I fixed the case-sensitive issue in 1.2.
ultra spikey said:
I fixed the case-sensitive issue in 1.2.
Click to expand...
Click to collapse
If you are looking for increased ease you might think about rolling into/incorporating the color changer jar. : )
I have my updating/porting down to about 3 commands:
Code:
490 wget http://n0rp.chemlab.org/android/experimental/template-cm-3.9.6-signed.zip
491 unzip template-cm-3.9.6-signed.zip -d ./theme.new/
492 ./update.theme theme.aero/ theme.new/
493 ./create.new theme.new/
I've incorporated the colorChanger.jar into my own script, and it has dramatically reduced the time/effort in making updates/ports...
I've decided to go ahead and make a tool mostly for themers to make their life of porting the endless amounts of pictures from rom to rom. Now, this doesn't mean users cant use this as well, but PLEASE make a nandroid before hand. It's in beta so don't expect it to be perfect. I have an auto updater with it as well so ill be updating it that way.
*** i had no idea there was a working theme porter on here untill after i made this. I tried i think 1.3 and it failed so i decided to make my own. I just came across the 1.0 posted last month.
WILL NOT PORT GAPPS IF ITS NOT IN THE STOCK ROM.
Im currently working on a fix for that, if you want gapps, throw them in the stock rom your self and then port it.
Notes:
This has only been tested on Motorola Droid.
Instructions:
1. Make a nandroid. I don't want to hear whining if it doesn't work and you lose everything. I'm also not responsible if this bricks your phone. Even if it does, you have recovery, then you have SBF.
2. Download, DO NOT simply just run if your using IE (Who uses IE anymore...?)
3. Select the theme as "Select Theme".
4. Select the STOCK rom you are running as "Select Stock Rom".
5. Hit port and sit back and watch.
Limitations:
Only supports Update.zip formats, for now. i may support Meta Morphs in the future.
Only moves .pngs to new rom, Meaning if the theme has custom .xmls in it, it WONT port.
Change log:
Code:
Version: 1.0:
Ability to port themes from one rom to another.
Progress bars on extracting / moving (Title of console window)
Output log on screen (Not great, will work on.)
Version 1.1:
Added Auto Updater.
Added some crash fixes.
Version 1.2:
Fixed bug where if theme has no themed /system/app's it would crash.
Version 1.5 (Initial Release):
Fixed Progress bar on extracting / moving to archive.
Implemented Suggestion/bug reporting system.
Some general bug fixes.
Added audio on port completion.
Version 1.5.1.0
Added options form.
-Change colors of output console.
-Save last used .zips (toggle)
-Play sound on port completion (toggle)
-Fade out on exit (toggle)
Download:
TheDeathly said:
Only moves .jpgs to new rom, Meaning if the theme has custom .xmls in it, it WONT port.
Click to expand...
Click to collapse
Hmm so it will port the default wallpaper xD
Did you heard about MetaMorph? From your description I think it does exactly the same and more and it's some kind of standard in theming world.
Brut.all said:
Did you heard about MetaMorph? From your description I think it does exactly the same and more and it's some kind of standard in theming world.
Click to expand...
Click to collapse
I've heard of people having lots of issues with metamorph over a standard update.zip, and at least in the moto droid community we use update.zip's over metamorph's especially since metamorph was buggy with Froyo for the longest time, I do not know if it still is or not.
C0mpu13rFr34k said:
Hmm so it will port the default wallpaper xD
Click to expand...
Click to collapse
Oops, i meant it'll only port over .pngs. sorry for the typo lol
Hey cool, haven't tried it but does it work for porting eclair/froyo themes to cupcake/donut roms ? and vice-versa ? A lot has changed since the firmwares (including some .9 being changed to .png and vice versa). Checkout the last beta i posted, it had support for that, u cud prolly use most of the schemes.
@Brut, correct this is a lot like metamorph but metamorph is firmware dependant whereas this isnt/shudnt be. For eg, title_bar in pre eclair/froyo roms was a .png and now is a .9 png. Metamorph just inserts images and hence would cause problems. This only brings over files if they match and in some cases like my script renames them to match the firmware's naming convention (eg, pre-eclair/froyo didnt have mdpi,hdpi, just plain drawable). Hope that clears the air.
Also another thing that makes these have the upperhand to metamorph is the capability to take a dump of ur phone, put the dump of a rom u want to try and BAM ur theme is ported to that rom. Whereas with metamorph, id have to go out and look for the individual morphs that helped me accomplish the look/feel of my phone.
Daneshm90 said:
Hey cool, haven't tried it but does it work for porting eclair/froyo themes to cupcake/donut roms ? and vice-versa ? A lot has changed since the firmwares (including some .9 being changed to .png and vice versa). Checkout the last beta i posted, it had support for that, u cud prolly use most of the schemes.
@Brut, correct this is a lot like metamorph but metamorph is firmware dependant whereas this isnt/shudnt be. For eg, title_bar in pre eclair/froyo roms was a .png and now is a .9 png. Metamorph just inserts images and hence would cause problems. This only brings over files if they match and in some cases like my script renames them to match the firmware's naming convention (eg, pre-eclair/froyo didnt have mdpi,hdpi, just plain drawable). Hope that clears the air.
Also another thing that makes these have the upperhand to metamorph is the capability to take a dump of ur phone, put the dump of a rom u want to try and BAM ur theme is ported to that rom. Whereas with metamorph, id have to go out and look for the individual morphs that helped me accomplish the look/feel of my phone.
Click to expand...
Click to collapse
Hey, i actually have not had a chance to look at donut/eclair themes. My first Android phone was the moto droid so ive never done anything with a donut rom. i will make sure to take a look into that though. Ill go take a look at your latest beta now and see what i can come up with. thanks
Edit: i just took a look at your script and very nice work i have to say also, i may in the future decide to add support to 1.6 and lower to 2.0 +. it'll port most of it over as is except for the .9 and everything that does get ported over wont be resized properly as it does in yours. This should port eclair to froyo fine. ive actually ported over a mdpi to hdpi just fine with this so im assuming it works fine. in anycase thanks for the heads up.
Daneshm90 said:
@Brut, correct this is a lot like metamorph but metamorph is firmware dependant whereas this isnt/shudnt be. For eg, title_bar in pre eclair/froyo roms was a .png and now is a .9 png. Metamorph just inserts images and hence would cause problems. This only brings over files if they match and in some cases like my script renames them to match the firmware's naming convention (eg, pre-eclair/froyo didnt have mdpi,hdpi, just plain drawable). Hope that clears the air.
Click to expand...
Click to collapse
Ahh, ok, thanks for explanation.
But I don't understand, how such tool would work so it'll be flexible and reliable. I mean... it would need to guess what to do. Human could look at files and say: "Ohh, this file was moved here, so I should rename it to xxx.", but what about the computer? How it will know how to port themes to other platforms? Of course you could implement hooks for specific situations as porting between eclair and froyo. But what about custom frameworks from manufacturers? What about changes made by themers? I could add, rename, remove anything I want, so how this tool will know, what I did and how to port my changes to other systems?
Maybe I don't understand something.
Correct its definately not perfect and apks modified more than theming ie smali\xml edit will have to be left out.
Also user must select which firmware theme is and which rom is.
Still its a step up from metamorph imho. In the end the user must recognize a products limitation and react accordingly.
Sent from my GT-I9000M using XDA App
help please.. i get this error....
Error: Could not find file 'C:\Users\Jason\AppData\Local\Temp\Rar$EX00.444\port\new\META-INF'.
Whats next
What do I need to do when finished it says my ZIP file is the final folder but it is just a folder not ZIPPED please help this is too cool to not use.
Edubyah said:
What do I need to do when finished it says my ZIP file is the final folder but it is just a folder not ZIPPED please help this is too cool to not use.
Click to expand...
Click to collapse
Just go inside of the final folder and zip all the contents with a winzip, and make sure it zips as a zip file and not a zipx. after you're done you can use a program to sign your zip like RegawMOD Zip Signer v1.0.
The supplied zip file is not flashable for some reason - have had to manually add them to a ROM.
Going to test this out tomorrow. Any success stories?
I'm giving this a run, but I'm trying to port an hdpi theme to mdpi... will let you know the results. All in all, this is really nice work!!!
Unfortunately for me, the theme I wanted to port is giving me issues because it's a UI rather than a theme. I was trying to get DarkEdge on my Eris. I did want to say though that every thing worked beautifully and this is really an incredible resource for the android community.
From me to you on Cyanogentazz [insert latest version here] Eris
This works great now that it get that instant update! Thanks for the work!
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.
If anyone can help, please take this zip and make it compatible for the Hero. right now it's for the Droid running Cm6. http://www.multiupload.com/BHME414DUC
Thanks
abu_noah said:
If anyone can help, please take this zip and make it compatible for the Hero. right now it's for the Droid running Cm6. http://www.multiupload.com/BHME414DUC
Thanks
Click to expand...
Click to collapse
Its not something you do in a few minutes.
He's been working on it for a bit, think he needs help with the finishing touches
Sent from my HERO200 using XDA App
MrSpradlen said:
He's been working on it for a bit, think he needs help with the finishing touches
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
I have been working on this for a bit, but this is just the Full on flashable zip, made for the Droid. I got three kids and not alot of time to resize every image to mdpi. plus this is coming from the a droid theme, so I'm not sure what to do with the drawable-nodpi images and other if any nopi images. anyway, i'm just asking for help, not for "I can't help you" or "Alot of work" answers. I know it's alot of work as i have driving myself crazy on how to do it. Thanks.
I tried using the theme porter to save time but it will not recognize 9.pngs and I'm pretty sure that's why it's not porting.
abu_noah said:
I tried using the theme porter to save time but it will not recognize 9.pngs and I'm pretty sure that's why it's not porting.
Click to expand...
Click to collapse
What errors are you getting, what issues are you having? sorry to be so coarse.
ASimmons said:
What errors are you getting, what issues are you having? sorry to be so coarse.
Click to expand...
Click to collapse
I have converted the hdpi to mdpi now I think. before I used the theme porter, but it kept saying system file cannot be specified. well i got the pngs converted and the folders renamed, but I don't have a hero to test it on. I use my wife's when she's here. Don't know if this will work or not.
I also need to know if the images in the framework-res are the only thing I need to change, and then I can flash that same package that was meant for the droid or if I need to transfer those over to the Hero's framework-res?
abu_noah said:
I have converted the hdpi to mdpi now I think. before I used the theme porter, but it kept saying system file cannot be specified. well i got the pngs converted and the folders renamed, but I don't have a hero to test it on. I use my wife's when she's here. Don't know if this will work or not.
Click to expand...
Click to collapse
I almost positive you cant just rename folders like drawable-hdpi to draw-mdpi as theres more in the apk that specifies that the apk is built for an hdpi phone.
This is how I do it (short version cause I'm working out kinks). basically just copy over the pngs from the hdpi folders to the mdpi folders. Basically the difference in size from hdpi to mdpi is about 66% the size of an hdpi png so in the process of copying them I also shrink them. 9 patch pngs are a alot harder to get right and I currently working through some ways to port those now, but for a basic port you can just leave them as is. If you wanted to fix the 9 patch you basically have to decompile the apk and then use the 9patchDrawable tool in the android sdk and gimp to shrink them and then redraw the patch borders.
Your problem is most likely trying to rename the file folder. The port should only bring over the pngs and maybe ( i never do) some minor xml tweaks and put those in the rom your porting to you can't use anything from the ported rom except the pngs unless you want a buncha headaches.
I was wondering if any kind soul could make it possible to provide flashable zips to change the transition animations on our phones. I know that Adrynalyne had some cool transition animations on some versions of his SuperClean Rom, but I would like to continue this. Also, in particular, if it's possible to have a screen rotation animation I would love to have that also. Thanks!
The only way would be to either have metamorf files (which someone posted here a very long time ago) of the different animations or have multiple zips that only include framework-res.apk. The animations are controlled by xmls located in framework-res.apk/res/anim. I myself for my personal theme have created a nice cocktail of the various types of animation xmls used tasefully for various ui events and actions.
good day.
There is an app on the market. Ani something....I'll find it. I have it on backup
Sent from my SCH-I500 using XDA App
its called AnimMod and its a paid app
akaine2001 said:
its called AnimMod and its a paid app
Click to expand...
Click to collapse
Saw that app, and a couple of fascinate users comment that it boot looped them. If that app swaps out the "whole" anim folder within the apk and if you're running comm rom or the newer sbrissen mods it will surely boot loop you. 7 xml's pertaining to the lockscreens have been added by sbrissen to that anim folder and if those get deleted by an app replacing the whole anim folder within the framework it will certainly lead to trouble.
good day.
Works fine for me. No boot loops on CommRom 2.1.
Sent from my SCH-I500 using XDA Premium App
Zacisblack said:
Works fine for me. No boot loops on CommRom 2.1.
Sent from my SCH-I500 using XDA Premium App
Click to expand...
Click to collapse
BOOya chopper... BOOya
akaine2001 said:
BOOya chopper... BOOya
Click to expand...
Click to collapse
that wasnt necessary
Actually there is a way to patch basically any apk or jar file on the phone through a flashable zip. I have been doing exactly that so that I can maintain mods between upgrades.
An anim patch would be very easy to apply without breaking anything. But as chopper the dog stated, if you mess with or delete others then there will be issues.
Anyhow if interested I can put together a basic anim patch for testing or I can share a readily available anim patch for cm7 (mtd, possibly miui as well) as proof of concept. From there you could modify what you want patched to your liking and the updater-script for (rfs) if needed.
Of course this is something that only myself have used, so it would come with no guarantee's. Would be interesting to see how compatible it would be or better yet how far it could be taken. I have replaced resource's this way without issue.
notta said:
Actually there is a way to patch basically any apk or jar file on the phone through a flashable zip. I have been doing exactly that so that I can maintain mods between upgrades.
An anim patch would be very easy to apply without breaking anything. But as chopper the dog stated, if you mess with or delete others then there will be issues.
Anyhow if interested I can put together a basic anim patch for testing or I can share a readily available anim patch for cm7 (mtd, possibly miui as well) as proof of concept. From there you could modify what you want patched to your liking and the updater-script for (rfs) if needed.
Of course this is something that only myself have used, so it would come with no guarantee's. Would be interesting to see how compatible it would be or better yet how far it could be taken. I have replaced resource's this way without issue.
Click to expand...
Click to collapse
oh hi notta, hadnt seen you in awhile
nitsuj17 said:
oh hi notta, hadnt seen you in awhile
Click to expand...
Click to collapse
I'm a ninja, your not supposed to see me.
notta said:
Actually there is a way to patch basically any apk or jar file on the phone through a flashable zip. I have been doing exactly that so that I can maintain mods between upgrades.
An anim patch would be very easy to apply without breaking anything. But as chopper the dog stated, if you mess with or delete others then there will be issues.
Anyhow if interested I can put together a basic anim patch for testing or I can share a readily available anim patch for cm7 (mtd, possibly miui as well) as proof of concept. From there you could modify what you want patched to your liking and the updater-script for (rfs) if needed.
Of course this is something that only myself have used, so it would come with no guarantee's. Would be interesting to see how compatible it would be or better yet how far it could be taken. I have replaced resource's this way without issue.
Click to expand...
Click to collapse
It would be great if you could get this tested by a few brave individuals. If you want, you can use my thread or make another one. I personally need the stability of Comm Rom for everyday use of my phone so I won't be going to CM7 until some of the signal, SOD, and calling issues are addressed. The AnimMod app works great but I would like to see a larger compilation of transition animations to choose from. We could even stick these zips in the theme sticky . Also what about screen rotation animations? Is this possible? Thanks for answering my call to god!
nitsuj17 said:
that wasnt necessary
Click to expand...
Click to collapse
Only my 6 year old rolls eyes, and yeah it wasn't but it wasn't mean or nothing chill out j. . . He always stamp on somebody parade, not this time, not this guy, booya. works flawlessly like he said homie, booya.
Edit: answered his prayer too, ...... Booya. Lol
Sent from my SCH-I500 using XDA App
Lmao
Sent from my UKB 2.1 sch-I500
akaine2001 said:
Only my 6 year old rolls eyes, and yeah it wasn't but it wasn't mean or nothing chill out j. . . He always stamp on somebody parade, not this time, not this guy, booya. works flawlessly like he said homie, booya.
Edit: answered his prayer too, ...... Booya. Lol
Sent from my SCH-I500 using XDA App
Click to expand...
Click to collapse
Did you ever realize that the reason you are so disliked on xda is because you needlessly start **** and then act like a 5 year old?
Zacisblack said:
It would be great if you could get this tested by a few brave individuals. If you want, you can use my thread or make another one. I personally need the stability of Comm Rom for everyday use of my phone so I won't be going to CM7 until some of the signal, SOD, and calling issues are addressed. The AnimMod app works great but I would like to see a larger compilation of transition animations to choose from. We could even stick these zips in the theme sticky . Also what about screen rotation animations? Is this possible? Thanks for answering my call to god!
Click to expand...
Click to collapse
Those SOD issues were a blessing in disguise.. lol
Not completely familiar with screen rotation animations. A quick search states there used to be what they called fancy animations in android 1.5 but no longer added after. I could be wrong this is my first android phone, so I don't know the history. Anyhow there are some slightly rotating anims in the patch.
Ok, so this is what is going on..
An apk is just a zip file with an .apk extension. So what I am doing is utilizing a zip binary that is copied to a temp location along with some very basic commands. With these commands its basically injecting the structure of the res folder in the patch, to your framework.
Therefor you can use this to inject basically anything as long as you follow the structure. As stated before I have changed resource level items such as colors without issue. Just be advised if you change out any id's from public.xml and many others it will end in failure. This can also be modified to patch any apk or even jar files. It can also be modified to make a cwm zip of your current rom, data apps etc... The list go's on!
So in a sum, the zip will copy a zip & zipalign binary along with the script and patch files to /tmp. The script will kick in and as an added bonus (incase anything go's wrong) will make a backup of your existing framework-res.apk and create a cwm zip and place it on the root of your sdcard called notta-anim-patch-restore.zip. This zip can be flashed to restore the previous state.
Then utilizing the zip binary, will inject the patch files zipalign and ovewrite your /system/framework/framework-res.apk. In this case a set of animations. I hope this is a satisfactory explanation.
As with anything you flash, you do it you except responsibility. Also I have personally tested this one ukb 2.1. This should work with any touchwiz fascinate rom, well anything with a system location at "stl9".
http://bit.ly/n0Q4Mc
Please post results!
notta said:
Those SOD issues were a blessing in disguise.. lol
Not completely familiar with screen rotation animations. A quick search states there used to be what they called fancy animations in android 1.5 but no longer added after. I could be wrong this is my first android phone, so I don't know the history. Anyhow there are some slightly rotating anims in the patch.
Ok, so this is what is going on..
An apk is just a zip file with an .apk extension. So what I am doing is utilizing a zip binary that is copied to a temp location along with some very basic commands. With these commands its basically injecting the structure of the res folder in the patch, to your framework.
Therefor you can use this to inject basically anything as long as you follow the structure. As stated before I have changed resource level items such as colors without issue. Just be advised if you change out any id's from public.xml and many others it will end in failure. This can also be modified to patch any apk or even jar files. It can also be modified to make a cwm zip of your current rom, data apps etc... The list go's on!
So in a sum, the zip will copy a zip & zipalign binary along with the script and patch files to /tmp. The script will kick in and as an added bonus (incase anything go's wrong) will make a backup of your existing framework-res.apk and create a cwm zip and place it on the root of your sdcard called notta-anim-patch-restore.zip. This zip can be flashed to restore the previous state.
Then utilizing the zip binary, will inject the patch files zipalign and ovewrite your /system/framework/framework-res.apk. In this case a set of animations. I hope this is a satisfactory explanation.
As with anything you flash, you do it you except responsibility. Also I have personally tested this one ukb 2.1. This should work with any touchwiz fascinate rom, well anything with a system location at "stl9".
http://bit.ly/n0Q4Mc
Please post results!
Click to expand...
Click to collapse
I'll try this out when I get home. Thanks notta! Also, everyone else please no flaming/arguing in this thread it makes me sad =(.
Sent from my SCH-I500 using XDA Premium App
You know i had to post here on this side
i didnt know that this zip did that much! this is awesome!
nitsuj17 said:
Did you ever realize that the reason you are so disliked on xda is because you needlessly start **** and then act like a 5 year old?
Click to expand...
Click to collapse
Who is that said that? Who said that you? I just laugh at you guys now... And keep it moving
Sent from my SCH-I500 using XDA App
Booya
Sent from my SCH-I500 using XDA App