OK, so I think it's time to explain what this is about. It's born from the idea that came about on IRC, for a way to make a theme once for a ROM, rather than have to adjust it for each incremental update for a given ROM or ROMs.
As a user, you don't need to know much - just flash this zip like a regular zip, and you'll get your theme running. But you should be able to apply themes to any device, ROM, and version of the ROM, without it causing adverse effects. That means less time spent by themers making the original theme, and less time spent modifying it constantly for new versions of ROMs.
As a themer? Well, here is the information:
Inside the zip, in the vrtheme folder, you can create a folder called "system" and "data". The former is required, the latter is not required unless you wanted to theme a data app (strongly not recommended, unless you know the app will be there on every phone)
Inside the system or data folder, create a subfolder "app", and in these, make subfolders named EXACTLY after the APK name. For example, to theme the Browser, you need a folder called "Browser.apk". It must be correctly capitalised.
Within there, place the files you require for your theme, in the relevant locations. So most PNGs will be in res/drawable-hdpi/. You can put in xml files too (those which are not in resources.arsc), if you compile them via apktool, and extract them with a zip tool.
In the vrtheme folder, as well as system and data folder, one called "raw" can exist. Within here, you can place files to be copied verbatim to the ROM (for example, modified JAR files). Note that using this may make the theme device dependent (read WILL make it device dependent)
And that's about it.
Features
Will modify APKs in a ROM, without changing signatures, and can be used on any ROM where the filenames of themed files is the same.
Should not need updated between versions of a ROM
Zipaligns all APKs before installation
Stores a backup of all files being modified in /cache/vrtheme-backup/
Requires no coding abilities or editing of files - just drag and drop
Can copy "raw" files, though at risk of not working on other devices (well, let's face it, it won't work on likely a slightly different ROM, so this feature is not recommended or encouraged)
Credits
D.O.C for the original idea in a discussion on IRC
Stericson for the original idea of metamorph. While totally different, it's a shared goal to separate themes from ROMs
Matt from the Metamorph team, for the zip binary compiled for Android
Seshy, for testing
EULA
Quote:
Nothing evil or complicated - just a few little things. You should not charge for access to this code. That includes a zip containing this, or a derivative of it. So please don't sell themes using it. That's not particularly cool. If you want to use it commercially for some reason, get in touch with us.
If you spot a bug or error, and find a fix, please reply in this thread and let us know, or post the changes you made. If you're going to distribute the changed version, it is expected that you share the change made by contacting us, or posting it here.
Finally, don't be a douche - don't rip this off or call it your own, and leave all headers and comments identifying the origin of the code in place. Don't rename this to match your ROM or "team" name - it's not cool, and it's not yours to go and adjust. I chose to make this a readable "plain" script, but can easily obfuscate and encrypt it if you want to be a douche.
If any of the templates get updated I will make sure to post the updated version with a changelog.
This was posted with permission from Pulser_g2 as he is on vacation.
If you have any issues you can PM me and I will try to solve them, you can also drop by on the VillainROM.co.uk IRC channel and see if someone can help.
Also will state this again, all credit should go to Pulser, I am just posting this since he was away on vacation.
Added TWRP Recovery compatible vrtheme (thanks to TWRP developers for compiling the zipalign binary, and again, thanks to androidphone2012 for pointing it out)
0.4.1 compatibility issues
Removed mounting partitions as blocks from updaterscript.
Removed bootlogo flasher from updaterscript
0.4.0 bugfix
Fixed permissions privileges in installtheme.sh
0.3.6 experimental
Different handling of raw files.
0.3.5 experimental
Fixed ASCII art in updater script.
Minor clean up of installtheme.sh
Added preview.png to template.
0.3.4
Changed the way the .zip handles raw files again. Just put them in the raw folder.
0.3.3
Modified installtheme.sh as it was giving possible problems.
0.3.2
Fixed a problem with raw folder copying. Put contents of /raw in /system now on the root of the .zip
Fixed some status 0 errors.
Currently known bugs:
You might need to grab an updater-binary fit for your device (just grab it from any .zip that will flash on your device.
Notify your physician if after exposure to XDA n00bs you experience any of the following symptoms: rapid or irregular heartbeat, chest pain, shortness of breath, leg cramps, headache, nervousness, irritability, sleeplessness, tremors, change in appetite, weight gain or loss, vomiting, diarrhea, excessive sweating, heat intolerance, fever, changes in menstrual periods, hives or skin rash, or any other unusual medical event.
I'm an NVIDIA Tegra Champ. Any opinion that I express here and elsewhere are solely based on my personal
preference and any relevant expertise that I may/may not have on the subject matter.
In case someone in the future or near future makes an app to choose the themes.
Maybe an idea to put a theme preview.png somewhere in there.
Kudos, great idea guys.
Searching for Anwsers on XDA? Try The FireFox & IE Search Bar Plug In www.noonski.nl For My Device History, BackLog, Beer Gifting, Off Topic Rants and everything else that won't fit in my Signature.
Most of us take the simple act of waking up our devices and having a quick glance at the … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?