ZipThemer - theme installer with support for MetaMorph files - Android Themes

ZipThemer is a theme installer app with MetaMorph compatibility. It builds flashable "update.zip" files onboard your Android device by combining your existing system files with modifications from the theme files of your choosing. Supported theme files formats are ZipThemer and MetaMorph theme files.
The app determines which system files need to be patched by reading the XML descriptor information from the theme files. It then creates patched versions of the system files by merging in content from the theme files. The result is then packaged as a signed "update.zip" which you flash via recovery to apply the changes.
Add as many theme files as you want to install in a single "update.zip" file. Order is important when two theme files update the same resources. For example, lets say you have a status bar theme which updates all of the status bar icons, and a cool circle battery pack which updates only the status bar battery icons. You'll want to add the battery pack theme after the status bar theme so that the battery pack takes precedence. In other words, the battery theme should appear further down the list.
This method of patching/modding preserves themes you've installed previously that don't conflict with newly applied themes. It also allows multiple themes to be installed in a single recovery/flash/reboot cycle.
ZipThemer has the capability to also create flashable "undo" files that can be used to quickly and reliably revert a theme install. See the user manual for more information.
Unlike MetaMorph, ZipThemer works with the theme files in their unextracted format -- there is no step to unpack the theme files. ZipThemer will not work with the extracted zip files.
The following links will take you to the official ZipThemer website for more information:
User Manual
Overview and Feature List
Issues & Limitations
Screenshots
Donate
Edify workarounds:
NOTE: as of version 2.0 workarounds are no longer required. ZipThemer 2.0 can create an Edify configuration on the device by reading the required information from a flashable ROM or update on your sdcard. In the app, visit Menu -> Update Edify.
Deprecated workaround instructions...
Select the "Update Edify" menu item to force the creation of /sdcard/ZipThemer/edify.
Download the edify-support.zip file for your device.
Extract and push the two files, phoneDatabase.xml and update-binary, to /sdcard/ZipThemer/edify/. Use 'adb push' or your favorite onboard file manager app.
In ZipThemer's settings, change the 'Update Script Format' to the Edify option with your device name in it.
ZipThemer will now be able to create flashable updates with the correct Edify commands for your device.
NOTE: if you use the 'Update Edify' menu option after installing the workaround, it will overwrite the phoneDatabase.xml and you'll either have to delete the update-binary file or re-install the workaround.

I just published version 1.1 to the market. This removes three of the previously listed limitations.
Changelog:
* Added checkboxes to enable/disable theme subcomponents.
* Fixed update zip script generation so it automatically includes commands for copying to DATA and SDCARD as appropriate for the theme content.
* Improved the theme meta-descriptor format to allow files to be copied at build time.
* Added build completion status/log display.

This is sweet! I had a little trouble at first but then I realized that all the themes I was trying to build either had 'spaces' or 'periods' in their filenames. After renaming the main folder and the xml file it works fine.
Thank you!

Glad you like it. If you can point me at a theme with spaces/periods in the name I can probably fix ZipThemer to make it work without having to change the theme file.
Ken

Version 1.2 is out. The list of limitations just got shorter again.
Changelog:
* Added long press context menu to items in the theme list.
* Added ability to remove themes from the list via context menu.
* Added ability to move themes up and down in the list (because order is important, see first post).
* Added theme details screen which displays information from the theme's XML file and screenshot.
* Some minor fixes.

Error on build out
I'm trying to build a zip to theme swype. I'm using one of the zip files from here and trying to apply it to the swype.apk in the system/app folder.
When I click "build it" I get the following error "IllegalArgumentExecption: Incorrect offset/len parameters"... any help would be appreciated.
Thanks!

Do you have the Android SDK installed on your computer? If so, it would help to run the 'adb logcat' command while doing this and then send me the output so I can get a better idea about what's going on.
Was Swype was installed from the market? ZipThemer doesn't yet support theming market apps (but its on my TODO list). The error may be related to that.
Ken

Swype wasn't installed from the market. I'm on Calkulin's EViO 2 ROM v1.7.1 swype came in package ROM so it's the OTA version.
I've attached the log file

mwhiz said:
Swype wasn't installed from the market. I'm on Calkulin's EViO 2 ROM v1.7.1 swype came in package ROM so it's the OTA version.
I've attached the log file
Click to expand...
Click to collapse
Thanks. Unfortunately I forgot to tell you to increase certain log levels, so the output is not as useful as I had hoped. Anyway, after thinking about the problem and reading the SwipeHD theme thread I see at least three things that need fixing.
First, I'm pretty sure that the "IllegalArgumentExecption: Incorrect offset/len parameters" error is what happens when you try to theme what I call a "market app". But what I mean by that is any app which is not signed by one of the four well-known Google keys. An OTA version of Swype falls into this category because probably signed by a key private to the app makers. Anyway, there's a bug in ZipThemer which results in this error when you try to theme such an app. FYI, MetaMorph doesn't sign the files after patching them. Two things for me to do here -- provide a better error message in this case, and implement an option to patch market apps by a) re-signing with a Google key, or b) not signing the result.
The other thing I noticed is that the SwypeHD morph files have an item to copy a custom system library into place. I missed this feature of MetaMorph during my analysis, so I also need to implement support for this also.
I'm not sure how long it will take me to get a new version out that supports these features. Maybe a week or two. There are certain experiments that will help determine which way to go with the signing/not-signing part -- e.g., to figure out which one to implement, or if both are need which one is the best default, etc. Let me know if your willing to help with this.
My appologies for not having better news at this time, but with your help we can make ZipThemer a great app.
Thanks again,
Ken

Ken,
Thanks for the quick replies! I'll do what I can to help, let me know what I can do.
-Mark

mwhiz said:
Ken,
Thanks for the quick replies! I'll do what I can to help, let me know what I can do.
-Mark
Click to expand...
Click to collapse
Try the attached 1.3-beta1 version...
adb uninstall kellinwood.zipthemer
adb install ZipThemer-1.3-beta1.apk
or Gmail the attachment to yourself and click the "install" button in Gmail onboard the device -- this probably requires allowing "Unknown sources" to be enabled in the phone's Applications settings.
Your first attempt to build an update zip file should result in a "Key Selection Error" dialog. This is the fix for the incorrect offset/len parameter exception in the previous version. This dialog is issued when the key signing mode is "auto" (the current default) and the certificate of the app being patched is not recognized.
Next, visit ZipThemer's menu, select Settings and change the Package Key Mode to "auto-none". Retry the build... it should succeed. The Swype app should get patched but not re-signed because the app's certificate will not be recognized. The log ouput should say it updated entries, but should not say that it was signed.
Create a second update zip before flashing the first. This time set the package key mode to "auto-testkey", rename the output file using the "*Output" button and build again. In this version, the Swype app will be resigned with the Google testkey.
BACKUP YOUR SYSTEM BEFORE FLASHING EITHER OF THESE UPDATES!!!!
See what happens when you flash one of the files and reboot. Test swype and then flash the other update and reboot. In my tests I updated the YouTube app and didn't see any difference between the signed and unsigned versions.
I'm anxious to hear how it goes.
Ken

Worked like a charm! I flashed both updates with no problems and both updates appeared to work just fine. Nice work!!!
Going to try a few more and I'll let you know how it goes.
For my info does it matter which Package Key mode I use? Does one give me anything that the other doesn't?
Thanks again..

Nice!
I'm not exactly sure which one is better... auto-testkey results in a signed app which means it has a valid digital signature, but the certificate is different than the original and could cause problems in the future, e.g., if an updated version becomes available you might not get the update.
auto-none results in the same outcome as using MetaMorph -- a patched app with an invalid digital signature, because the file was patched and not re-signed.
I might be inclined to use auto-testkey myself until a problem was discovered, especially since I like the idea that everything is signed correctly. But with auto-none having the same result as MetaMorph which as been around for a while, it might be a better choice in the mean time.
I'll try to get an official 1.3 release out to the Market in the next day or two.
Ken

I uploaded 1.3 to the Market this morning. Most of the changes address Mark's issues above, but I also sneaked in the theme list save/restore feature and fixed a few bugs along the way.
FYI, in the 1.3 release the package key mode is "auto-none" by default, which means user's are unlikely to have to change it. The default was "auto" for the beta version.
Change log:
* Added support for including plain files to the generated zip via "xxx.cpy" item's in the theme control files.
* Preference settings to control key signing mode for patched packages and the update zip file
* Theme list save and restore operations
* Various other bug fixes.

Is the final output a theme file or an entire rom with the theme incorporated into it?

Neither... its an update zip file that you flash in recovery to apply the changes for the themes. The file is bigger than a theme file, but much smaller than a full rom. For example, say you have a theme which modifies the icon for the Calendar app. The theme file contains a single image and the theme control file. The resulting update zip file will contain a patched version of /system/app/Calendar.apk and the update-script file. When you flash the update the new version of Calendar.apk gets installed and you'll see the new icon. ZipThemer can easily create update zips to install multiple themes and therefore patch multiple packages/apps in one update, so this is just a simple example to explain things.
Hope that helps,
Ken

kellinwood said:
Neither... its an update zip file that you flash in recovery to apply the changes for the themes. The file is bigger than a theme file, but much smaller than a full rom. For example, say you have a theme which modifies the icon for the Calendar app. The theme file contains a single image and the theme control file. The resulting update zip file will contain a patched version of /system/app/Calendar.apk and the update-script file. When you flash the update the new version of Calendar.apk gets installed and you'll see the new icon. ZipThemer can easily create update zips to install multiple themes and therefore patch multiple packages/apps in one update, so this is just a simple example to explain things.
Hope that helps,
Ken
Click to expand...
Click to collapse
Worked like a charm and thanks for the quick response!

Kfunk said:
Is the final output a theme file or an entire rom with the theme incorporated into it?
Click to expand...
Click to collapse
Sorry, if you meant "theme file" as a something you flash in recovery to apply the theme, then the answer is the final output is a theme file.
I tend to think of theme files as MetaMorph files, and I forget that there are a lot of themes delivered as flashable updates.
Ken

kellinwood said:
Sorry, if you meant "theme file" as a something you flash in recovery to apply the theme, then the answer is the final output is a theme file.
I tend to think of theme files as MetaMorph files, and I forget that there are a lot of themes delivered as flashable updates.
Ken
Click to expand...
Click to collapse
Yes, that was my intent by using the word "theme". It is a relative term in the world of Android!

I just released 1.4 after fixing some issues which came up installing a large morph that patches about 20 apps. Some of the apps were missing on my device...
Change Log:
* Better support for installing themes when some system files are not found on the device. This version skips theme sub-components when the corresponding system file is not present. A notice is displayed when themes are loaded indicating which files are missing and the completion status display also notes skipped files. This is not an error condition but an FYI that some of the files the theme is capable of updating will not be updated because they weren't found. The previous version issued a "file not found" error during the build and you had to explicitly disable sub-components as a workaround.

Related

[RELEASE] Metamorph - Theme Control File Upgrader

Stericson have a new Metamorph App.
It uses xml theme control files instead of the old thm files.
danation from the ModMyMoto forum has made a program, that updates the thm file to the new xml format.
It works very very well.
Please at all themers:
Use the Pro Version, use the new Metamorph with xml. Upgrade your Morphs with the xml files. Its not many work for you, but you can help us themers and users if you do this.
Download
http://www.4shared.com/file/5l0E6t76/ThemeControlFileUpgrader.html
Original Post at ModMyMotoForum
http://www.modmymoto.com/forums/showpost.php?p=3917253&postcount=10
Thanks, danation, thanks stericson! Great work!
Ummm, do you themers not use the pro version?
Only a question. I think, this app from stericson is every buck worth!
I've upgraded my themes all for Metamorph xml files.
Now all themes have an xml AND a thm file, so everybody could use them.
Today is the day.
I hope, you themers out there have changed your theme control files to the new one (*.xml)
Today, stericson has released the new Metamorph free version which supports only the xml file.
Please update your themes. We dont want to have some chaos in the theming community, isn't it so?
Stop getting angry at Stericson for moving Metamorph into a safer environment for the user (giving more information as to what is being changed).
HTCClay put it best:
@Stericson you can't update...where do you get off making things better? How dare you...
Click to expand...
Click to collapse
This utility is VERY easy to use and will convert any .thm file to .xml in seconds.
JAguirre1231 said:
This utility is VERY easy to use and will convert any .thm file to .xml in seconds.
Click to expand...
Click to collapse
Thanks I've updated it, in case anybody still needs some converting to do. This is the final version, unless there are any bug fixes needed.
Included in the download is an executable JAR file that will work on any operating system that has the Java Runtime Environment installed (version 6 or later.) Windows, Mac, and most Linux Distros will be able to run this program.
An equivalent EXE file was also added for the convenience of Windows users.
Original download location at M3 is here.
Download from XDA here.
-1.3-
* Drag and drop directories - All .thm files in the directory and all subdirectories will be converted. Other files are ignored. You can convert all of your themes at the same time
-1.2-
* Drag and drop feature added (I borrowed some public domain code found here.) Tested on Windows 7 and Ubuntu. Should work on Mac and Kubuntu as well.
* Option to disable dialogs
-1.1-
* Fixed bug that always warned about duplicate files
* When errors are found, it finishes writing all valid data before terminating.
-1.0-
* Ignores single blank lines
* Captures notes after double blank lines
* Adds functionality to enter in header information
* Prevents file overwriting
* Puts framework at the bottom no matter where it is in the .thm file
I'm still not clear on how you actually *use* this converter. Could someone post a step-by-step breakdown? Right now, I have the thing sitting on the root of my SD. Do I need to move it to the Android Themes?
No, not using with your mobile phone.
Copy it to your pc.
Open the Programm and take your *.thm file you want to convert to an *.xml file.
Thats all.

[HOW TO] Do it yourself guide for theme editing

To get started, read the posts below by tsachi.
Then give this a glance - Do it yourself guide for theme editing
More Resources:
http://forum.xda-developers.com/showthread.php?t=982300
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Info on how to edit the items in notification bar:
+ http://forum.xda-developers.com/showpost.php?p=11158662&postcount=3
All credit belongs to the original authors. I am simply gathering all this information to make it easier.
For any help or support, post in this thread and we will try to help you the best we can.
Expanded Information
Introduction
The link in OP gives you instructions on how to replace images, but it lacks information for the inexperienced themer. Here is some background information and some more details on the steps before and after you insert new images in your framework.
System Icons and background images sit in two main files: framework-res.apk and twframework-res.apk. Within these files there is a res directory, and under that you have the folders containing data. Google has guidelines on icon design, although themers usually ignore those in order to get a different from stock look. One thing you would notice is that there are a lot of repeated icons. For example, framework-res.apk has both drawable-hdpi and drawable-hdpi-v4. The first is there for compatibility with older APIs (anroid 1.6 or older) so I am not sure why it is still there, but if you remove it your phone will not like it.
Each application has its own res folder where the launcher icon and other visuals are kept. There are, however, a lot of applications that reference the framework.apk for visuals. An example is the dialer that calls on some background images from both framework-res and twframework-res.
There are 2 types of images that you would encounter. Normal icons and images are non-scalable. They take a certain amount of real estate on the phone, and that’s it. Example of these are the battery levels and notification icons. The other type is the .9 images. These are images that are going to be stretched to fit whatever space is needed. An example of that are the menu backgrounds. The .9 images have a special format. The one pixel border around them defines how they stretch and how content is displayed in them. It is highly recommended to follow the standards in order to get repeatable and consistent look. Android SDK has a tool to help with .9 file design: draw9patch.bat.
Important note: The .9 files show the borders ONLY when de-compiled. If you grab a file from the framework directly you will not see that line. It is therefore required to compile the .9 files after you make them. You can use apk manager or ThemePro-JAVA to recompile the framework apk after modifying the files.
Definitions for which image is used where sit in the xml files under the drawable folder. These are compiled xml files, you can’t edit them with a text editor. For this introduction I will not go into modifying xml files. Each apk also has a resources file that describes what is in there. If you add, remove, or rename files in the apk you will have discrepancy with the resource file and the theme will not work (more likely you will be stuck in an infinite bootup loop)
Before you start:
Warning: frameworks are highly linked with other files. You can’t just take a framework from one ROM and put it in another. Always keep a backup of the original files ready to be installed (see below), otherwise you may need to re-flash the ROM. Frameworks are also sensitive to compression. DO NOT use winzip to handle the files, it can cause problems with the final apk file.
There are several things you would need before you start
A rooted phone
SDK installed on the computer
A zip handling software other than winzip (winRAR and 7-zip are both good options)
Auto-sign (http://forum.xda-developers.com/showthread.php?t=471634) or signing tool (http://forum.xda-developers.com/showthread.php?t=473580)
Create a backup
Grab the framewor
k-res.apk and twframework-res.apk from your phone. They are located in the system/framework folder. You would need them as a starting point for your modification and you need them for a backup
Create a clockwork installation file of the original files (see post below)
Name the installation framework-original.zip, or something else that would be easily recognized in
case of trouble, and then copy it to your internal sd card.
After you are done modifying files
Create an installation file (see post below)
Give the file a name that is easy to recognize and copy it to your internal sd card
Reboot into recovery
Select install zip from card -> choose zip from sdcard
Select the installation of the new framework and confirm the installation
Reboot
If you are stuck in an infinite boot-up cycle
Take the battery out
Using 3-key combination boot into recovery (up-down volume + power. Hold until the AT&T screen cycles back, then release)
Install your original framework backup and reboot
Creating clockwork installation
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Puzzle Lock Screen Mod
Here is information for people who want to modify the look of the puzzle lock screen. It is only the list of images to replace, not the coding to change functionality.
The files sit in framework-res.apk under res\drawable-hdpi. The files are zzz_unlock_puzzle...
puzzle pieces
zzz_unlock_puzzle_noti_icon_call.png : Missed call piece in the floating state
zzz_unlock_puzzle_noti_icon_call_fit.png : Missed call when it gets to the unlock spot
zzz_unlock_puzzle_noti_icon_unlock.png : General unlock floating
zzz_unlock_puzzle_noti_icon_unlock_fit.png : General unlock at the unlock spot
Same for messages and voicemail.
Background
zzz_unlock_puzzle_bg.png : The image that shows on the lock screen. This should be semi-transparent if you want to show the regular screen background
zzz_unlock_puzzle_bg_pressed.png : Image that shows while dragging the puzzle pieces. Usually a slight modification of the regular background
zzz_unlock_puzzle_bg_land.png : The landscape version
Music player
zzz_unlock_disk... and zzz_unlock_ctr_pr... are the files related to the player.
zzz_unlock_ctr_bg.9.png is the background for the music controls
Text background
Overlaying the unlock image is text. That text can have background that is more opaque than the rest of the unlock screen.
The attached image shows the three regions. These regions also apply to the glass unlock.
Note: These are .9 files and should be done right to ensure correct stretching and text boundries.
Other files
There are some extra background files in the frameworks but I haven't been able to find where they go. There are also some files to control the clock numbers zzz_unlock_clock_...
Working with APK manager
What is APK manager?
APK manager is a tool for decompiling / recompiling apk files. If you want to change anything other than images, it is a must have.
The basics
The basic flow when using APK manager is
Place apk file in place-apk-here-for-modding folder
run the Script.bat file
Type 22 and select the file you want to work with
Type 9 and wait for it to finish decompiling
Modify the items you want modified (they will be in the projects folder)
type 11 to recompile
Sounds easy? It is, and it isn't. There are several places where things can go wrong. Here are a few of the things to watch for:
Bad starting file
This is mostly true for framework files that went through several cycles of modifications. The framework is forgiving to having extra items, or having bad .9 images (see post above about .9 images). Some people may have replaced images without recompiling the framework in a way that breaks internal links. If this happens you will very likely see error messages during the decompile stage. If that happens check the log file and correct things. One of the most common errors is .9 files replaced with regular images. See this post for how to solve this.
Things may not always be "fixable", so the best approach is to get the original framework that is the base for the one you need. Having a clean start can save a lot of headaches later on.
Overwriting your changes
When you recompile, assuming everything worked ok, you are prompted if this is a system file. Most likely you want to say yes. This ensures that the original signature is copied over. You will also be prompted if you want to copy some files over from the original. BE CAREFUL!. There are people who say you reduce the risk of errors if you copy things that didn't change. Personally, if I changed anything that required recompilation (mostly added new images or modified xml files) I always choose not to copy extra files. If you do choose to copy some files over, pay attention to the next step. Do not hit any key until you remove the modified files. You will need to go to the newly created "keep" folder (in the top apk manager directory) and remove any image that you changed and any xml that you modified. Also, if you modified xml files to add new images you need to delete "resources.arsc".
Failed rebuild
APK manager is trying to minimize work by only compiling newly changed items. If you built an apk and realized you have an error, or want to add more changes, I recommend removing the cached build. Go to the projects folder and delete the "build" folder. I've had cases where the new items didn't catch.
Removed items
I highly recommend to leave icons that you do not need. I've had occasions where I removed things that I thought had no more reference, but then ended with endless boot-loops. For example, if you modify the xml to only show 6 out of the 101 battery charge animations, leave the remaining icons in your project.
If you're stuck
Look at the log file. That would usually give you an answer. Also, if you are working on a recent GB ROM you probably need to get the beta 5 version. Version 4.9 will have problems compiling the newer files.
Thanks for the info!!! I have been wanting to play with themes for a while. Now I gots the knowledge.
sent from my Cap using the app.
Thanks for this post...I'll be looking into this for sure.
tsachi said:
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Click to expand...
Click to collapse
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
TorqueWrench001 said:
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
Click to expand...
Click to collapse
The file has no extension but it isn't empty. It contains the installation instructions. Typical instructions would be:
copy_dir PACKAGE:framework SYSTEM:framework
which copies everything in the frameworks folder in the zip file to the system/framework folder on the phone
Sent from a captivate running phoenix using XDA app
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Good info
Thanks, been wanting to play with themes for a while now!!!!!
This needs a bump for all those requesting themes to be made.
This needs to be a sticky. I detailed guide is just what was needed. I been wanting to play around with themes but always end up doing something stupid so it never works. Now I have some more knowledge and hopefully can avoid that mistake.
Thank you, one of the links has the info I need to fix my text color issue in my notification/menu window!
Sent from a phone using an app.
Why it's not pinned it's beyond me. We have a thread pinned for must have apps that aren't even must have apps, but not this.
That was do to some how me missing this thread for the post few months. It is corrected now. Stuck
Since the thread is getting more life, I just added info on lock screen (fourth post)
Sent from my captivate running the latest firefly
Resorce dump
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
whiteguypl said:
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
Click to expand...
Click to collapse
Very nice, I will add these to OP with details about each link.
I'm quite happy that this has been pinned finally. Now to get to work. I haven't decided on which ROM I want to do, or even if I wanna port another theme or make my own. SO MANY CHOICES!!

Speedo-Battery install instructions for all rooted ROMs

The updated version causes a boot loop on KaosFroyo, probably other ROMs too. Make a backup or undo file !
This page contains instructions to install the port of the speedo battery from the Viva Cyan, http://forum.xda-developers.com/showthread.php?t=900589. I take no credit other than packaging it for installation on the Eris, Hero and other medium-res Androids.
The original theme post for Eris by CondemmedSoul is here.
This method of installation only updates the status bar battery icons. See the attached screenshots of it installed with stock Froyo and with my HtcBlackStatusBar. I like it better over a black background myself.
INSTALLATION
1. Download and install ZipThemer from the market. Its free. If you have it installed already, check to be sure you have version 1.5 or later.
2. Download this theme file to your device and leave it unpacked in Zip format. This is not a MetaMorph file and it is not a flashable update. You may put the zip anywhere you wish on your sdcard, but I suggest a subdirectory like /sdcard/ZipThemer or /sdcard/download so you won't see this zip in the list of flashables from recovery.
2a. If you don't already have a black status bar and want one, download any black status bar MetaMorph theme to your device such as HtcBlackStatusBar, http://forum.xda-developers.com/showthread.php?t=779488. Also leave this theme file in Zip format. ZipThemer can install multiple themes at once following the instructions below.
3. Open ZipThemer and press the "+Theme" button to load the theme file. A file browser opens, use it to select the speedo-battery2.zip file.
3a. If you are also installing a black status bar theme, click "+Theme" again and select its zip file. In the ZipThemer theme list, long-press on speedo-battery and select "Move Down". You want the speedo-battery theme to be lower in the list compared to the status bar theme in order to ensure that its icons take precedence over any others.
4. Click the "Build It!" button to begin the process of creating a flashable update zip file. Answer "Yes" to creating an undo file if you want an easy way to revert these changes later. It takes about a minute to create the flashable update and undo files.
5. Exit ZipThemer and make any font color changes required by the status bar, if you are installing one. The speedo-battery theme does not require font changes itself.
6. Boot into recovery and flash speedo-battery-update.zip.
7. Reboot. Enjoy your new status bar battery icons. If you're not enjoying them, go back into recovery and flash speedo-battery-undo.zip.
CondemmedSoul's version with 100% levels is here.
Sent you a PM dude. Check your in box
Anyone else notice that the gauge disappears while charging?
Eric1948 said:
Anyone else notice that the gauge disappears while charging?
Click to expand...
Click to collapse
Yes, you're not alone. I'll take a look at the problem when I get a chance.
Ken
Cool, other than that it works wonderfully!
It's been fixed now. I just uploaded the flashable zips for tazz v26 and CELB 4.1
in my thread and sent the missing piece to kellinwood so he can add it to the theme zipper file.
CondemnedSoul said:
It's been fixed now. I just uploaded the flashable zips for tazz v26 and CELB 4.1
in my thread and sent the missing piece to kellinwood so he can add it to the theme zipper file.
Click to expand...
Click to collapse
The updated ZipThemer theme file is attached here temporarily until CondemmedSoul picks it up for distribution in his thread.
EDIT: Rats, the new version causes a boot loop, just like when I tried the original flashable version. Looks like this install method is a no-go.

Gingerbread theme for HVGA Swype

Let's face it, Swype is ugly and there are not many HVGA themes out there, so I made a Gingerbread-inspired HVGA Swype theme for our Arias.
First off, I am greatly indebted to Marurban, who set me on the right path, as well as provided the inspiration in this thread:
http://forum.xda-developers.com/showthread.php?t=930306
But I want to emphasize, all images in this theme are 100% created by me.
Installation is a little complicated and is pretty much the same as for Marurban's theme.
Stuff needed:
apk manager (http://forum.xda-developers.com/showthread.php?t=695701)
ADB pull your Swype from /data/app/
HxD if you want to modify the color of the tracer line (http://mh-nexus.de/en/hxd/)
Swype GB theme files (attached -- download and unzip)
How to:
in apk manager, place Swype apk into folder place-apk-here-for-modding
run Script.bat
choose 19 (-Select compression level for apks-)
choose 0 for compression level
choose 22 (-Set current project-)
choose the number corresponding to your Swype file
choose 9 (-Decompile apk-)
go into apkmanager > projects > [app folder name] > assets > keyboards and overwrite Swype keyboard PNGs with themed files.
go into apkmanager > projects > [app folder name] > res > drawable and overwrite Swype horizontal selection highlight files with themed files. (these are for landscape mode word suggestions -- see screenshot#5)
go into apkmanager > projects > [app folder name] > res > drawable-hdpi and overwrite Swype voice input files with themed files. (see screenshot#4)
if you want to change the color of the Swype trail:
go into apkmanager > projects > [app folder name] > lib > armeabi
open libSwypeCore.so in HxD
CTRL+F (search) for DD A2 5B
find a color you want to use and note it's HEX value. (IIRC, I used #ffba00)
switch values around so that it is B-G-R (mine would be 00 BA FF)
replace values and save
a .bak file will be created in the directory -- delete it
when you are finished with all mods, go back to console window and choose 11 (-Compile apk-)
choose Y (-is this a system apk-)
followed by N (-would you like to copy over any additional files-)
choose 12 to sign your apk
signed apk is in place-apk-here-for-modding folder
uninstall your previous version of Swype before installing this one!
License It:
If you just start using Swype, it will only let you tap type and will say "Swype is not configured for this device," IIRC.
License your modded Swype by running the Swype Installer app. It will guide you through the steps and generate a license.
Enjoy!
Dealing with Swype updates
I'm glad so many people are trying out my theme! Apologies to those that are having problems--I have been busy and not been able to update this thread recently.
So, some people are having problems as of the new Swype Installer (1.1.20186) and Swype version (2.29...)
If you have applied my theme to a previous Swype version, and try to license it via the Swype Installer (after flashing a ROM, for instance), you will run into problems when the installer updates itself, and consequently fails to generate a license for your old version of Swype.
To fix this:
uninstall any versions of Swype you may have, themed or not.
download and install the newest official Swype from the installer (installer may want to update itself first)
ADB pull Swype and apply the theme as above
uninstall the official Swype
install the themed Swype (via sideloading, DropBox, or whatever)
license it, as above
Just to clarify, you won't have to do this every time Swype releases a new beta. But you will have to do this workaround whenever you try to theme the lastest Swype. Seems the Swype Installer only recognizes the latest and greatest, and will fail to license prior versions of Swype.
Here is the Swype beta changelog for the recent update:
http://forum.swype.com/showthread.php?2865-Swype-BETA-for-Android-UPDATE-March-2011
this is pretty cool. good jorb!
Can someone just Make an apk and post please?
Sent from my Liberty using XDA App
Javi97100 said:
Can someone just Make an apk and post please?
Sent from my Liberty using XDA App
Click to expand...
Click to collapse
Its not allowed.
Sent from my cm7 Aria using XDA App
Yeah, but if someone wanted to help me make a flashable update.zip, that would be cool.
From the screenies it appears the popup word suggestion box also behaves as it does in the regular GB keyboard (across the top of the keys, rather than the vertical box in regular swype). Is this actually the case, and if so, does it behave like this in portrait as well as landscape?
Either way, excellent work - now I have a little project for tonight
Edit: Tried to work through your steps on my linux machine: The APKManager script I am getting (not sure if this is due to linux vs. windows discrepancy, or being a different version for Linux, or both) only 17 options for selection. This means options 19 and 22 (steps 3 and 5) in your instructions are unavailable to me. Could you please post the text related to those options in the script so I can determine the correct options in linux? Unfortunately I don't have a windows box available to play with right now.
Thanks.
Think I'll take a WAG at it in the meantime though...wish me luck.
Edit 2: I think I have it mostly working - can't figure out how to get APKmanager to find java on my linux machine to get it to sign the zipped apk. Not sure what I need to add to the path for it to be found. Out of time screwing around at work now...will be back at it later maybe.
dandrumheller said:
From the screenies it appears the popup word suggestion box also behaves as it does in the regular GB keyboard (across the top of the keys, rather than the vertical box in regular swype). Is this actually the case, and if so, does it behave like this in portrait as well as landscape?
Either way, excellent work - now I have a little project for tonight
Edit: Tried to work through your steps on my linux machine: The APKManager script I am getting (not sure if this is due to linux vs. windows discrepancy, or being a different version for Linux, or both) only 17 options for selection. This means options 19 and 22 (steps 3 and 5) in your instructions are unavailable to me. Could you please post the text related to those options in the script so I can determine the correct options in linux? Unfortunately I don't have a windows box available to play with right now.
Thanks.
Think I'll take a WAG at it in the meantime though...wish me luck.
Edit 2: I think I have it mostly working - can't figure out how to get APKmanager to find java on my linux machine to get it to sign the zipped apk. Not sure what I need to add to the path for it to be found. Out of time screwing around at work now...will be back at it later maybe.
Click to expand...
Click to collapse
Glad you're trying it out.
#19 is set compression level for .zips and you want it to be 0. #22 is choose current project, and you just want to navigate to the Swype file (in case you have a bunch of other APKs you are working on. Later, when I am on my PC, I will transcribe the more detailed text choices and edit first post.
Also, I should have put in a screenshot of the word choice window. Swype functionality is 100% the same as normal. In landscape you get the bar atop the keyboard, and in portrait, you get the squareish pop-up. I made the pop-up grey so it looks good with the theme, but it's still there.
stone_ship said:
Glad you're trying it out.
#19 is set compression level for .zips and you want it to be 0. #22 is choose current project, and you just want to navigate to the Swype file (in case you have a bunch of other APKs you are working on. Later, when I am on my PC, I will transcribe the more detailed text choices and edit first post.
Also, I should have put in a screenshot of the word choice window. Swype functionality is 100% the same as normal. In landscape you get the bar atop the keyboard, and in portrait, you get the squareish pop-up. I made the pop-up grey so it looks good with the theme, but it's still there.
Click to expand...
Click to collapse
Thanks for getting back to me. Neither of those options exist in the linux version of apk manager (or I don't know how to find them if they do). I'm going to guess I'll be ok once I figure out the java/path issue.
Thanks.
Sent from my Liberty using Tapatalk
Thanks
stone_ship said:
Let's face it, Swype is ugly and there are not many HVGA themes out there, so I made a Gingerbread-inspired HVGA Swype theme for our Arias.
First off, I am greatly indebted to Marurban, who set me on the right path, as well as provided the inspiration in this thread:
http://forum.xda-developers.com/showthread.php?t=930306
But I want to emphasize, all images in this theme are 100% created by me.
Installation is a little complicated and is pretty much the same as for Marurban's theme.
Stuff needed:
1. apk manager (http://forum.xda-developers.com/showthread.php?t=695701)
2. ADB pull your Swype from data/app
3. HxD if you want to modify the color of the tracer line (http://mh-nexus.de/en/hxd/)
4. Swype GB theme files (attached -- download and unzip)
How to:
1. in apk manager, place Swype apk into folder place-apk-here-for-modding
2. run Script.bat
3. choose 19
4. choose 0 for compression level
5. choose 22
6. choose your apk for current project
7. choose 9 to decompile
8. go into apkmanager > projects > [app folder name] > assets > keyboards and overwrite Swype keyboard PNGs with themed files.
9. go into apkmanager > projects > [app folder name] > res > drawable and overwrite Swype horizontal selection highlight files with themed files. (these are for landscape mode word suggestions -- see screenshot#4)
10. if you want to change the color of the Swype trail:
a. go into apkmanager > projects > [app folder name] > lib > armeabi
b. open libSwypeCore.so in HxD
c. CTRL+F (search) for DD A2 5B
d. find a color you want to use and note it's HEX value. (IIRC, I used #ffba00)
e. switch values around so that it is B-G-R (mine would be 00 BA FF)
f. replace values and save
g. a .bak file will be created in the directory -- delete it
11. when you are finished with all mods, go back to console window and choose 11 (compile)
12. choose Y, followed by N
13. choose 12 to sign your apk
14. signed apk is in place-apk-here-for-modding folder
15. uninstall your previous version of Swype before installing this one!
License It:
1. If you just start using Swype, it will only let you tap type and will say "Swype is not configured for this device," IIRC.
2. License your modded Swype by running the Swype Installer app. It will guide you through the steps and generate a license.
3. Enjoy!
Click to expand...
Click to collapse
I have never used ANY of these programs, and was able to follow this tut 100%. Thanks
This is gorgeous! Can you build a WVGA version? Would love it for my DInc.
Love swype and now even more so, thanks.....
nerdBrain said:
This is gorgeous! Can you build a WVGA version? Would love it for my DInc.
Click to expand...
Click to collapse
this one by Marurban is pretty similar and has a WVGA. For now, it's just going to be HVGA. You big screened people get all the good themes and such anyway
http://forum.xda-developers.com/showthread.php?t=930306
Thanks. I actually knew about that one...I just think yours looks better . Let me know if you change your mind.
I used Root Explorer to find the name of the Swype app to pull in ADB (com.swype.android.inputmethod-1.apk). However, when I issue the adb pull command, it can't find it.
This is what I get:
C:\android>adb pull data/app/com.swype.android.inputmethod-1.apk c:\android\
remote object 'data/app/com.swype.android.inputmethod-1.apk' does not exist​
What am I doing wrong?
I ended up using Root Explorer to copy the APK to the SD card, then followed all the steps from there. However, after compiling the new signed APK, the file size is way off - does that matter? Original file is 2,266KB, New file is 1,911KB. When I try to license the new one it says Registration of Swype failed. Rebooted and tried again with same result.
No help? Anyone...?
911jason said:
No help? Anyone...?
Click to expand...
Click to collapse
I haven't had a chance to get back to troubleshooting my linux issues with getting this done, but wanted to mention there is a new version of swype installer available through the beta program - you might want to give that a shot for licensing if you haven't yet...
Sent from my Liberty using Tapatalk
(then)
i believe it should start out "C:/Android/tools>adb pull. . .after that im confused on where to have it pulled to, since it keeps giving me the "it does not exist crap"
No, I've added adb to my environmental variables so I don't have to be in the tools folder to use the adb command. It works from any location.

[Q] how to use zipthemer in SGT p3100 with stock 4.2.2..

Want to use zipthemer to create own themea but can someone help me to show exact procedure.. I am having a rooted device in stock 4.2.2 want your help guys.. if any other process is there kindly link me to it.. will be waiting for ur rply...
First, download some MetaMorph or ZipThemer theme files to your sdcard. Leave them in ZIP format.* The location on the sdcard is not important. Leave them in downloads, move them to /sdcard/ZipThemer or /sdcard/AndroidThemes... it doesn't matter.If you have ClockworkMod 3.0 (or higher) installed as your recovery program or require Edify scripting for any other reason, then visit "Menu -> Update Edify" and follow the instructions shown.* The device type name field on this screen is for display purposes only (enter anything you want).* See below for more details on Edify support.
Click the "+Theme" button to launch a file browser and select a theme zip file.* Repeat to add as many other themes as you want to install via the generated update zip file.Click the theme names in the theme list to expand and reveal the sub-theme components.* Components may be excluded from the build by unchecking the corresponding checkbox.Long-press on themes in the list to get a context menu which allows you to remove themes, order them, and launch the theme details view. Note that the context menu is not operational for the theme sub-components.Click the "+Output" button to select the output file via the file browser.* The parent directory of the selected output file becomes the new default output directory.* See below for more details.
Click the "*Output" button to edit the output file name.Click "Built It!" to create the flashable update zip file.**
Review the completion log and follow any instructions displayed there.
Reboot into recoveryIf you chose not to create a flahsable undo file, do a Nand backup instead so you can revert in case you change your mind later about having installed the theme.Flash the zip file to apply the themes.Reboot and enjoy the results!
Undo Files
You can choose to create a flashable undo file that can be used later to revert the theme changes.* The creation of the undo file is relatively quick and does not add significant time to the build process.* Using an undo file is generally faster and easier than Nand backups.* However, in order for the undo file to work it must be created at the time the theme update is created. It can't be created after the theme has been applied in recovery.* Also, undo files must be applied in exact reverse order of creation in order to reliably back out changes from several independently flashed theming operations.
The choice to make an undo file is controlled by a preference setting with a default value of "Ask".* In this mode, a dialog is displayed asking for your decision to create the undo file at the beginning of each build.** You may also choose to "Always" or "Never" create undo files.
Undo files are written to the same directory as the update zip file.* They will have a similar name except with a "-undo.zip" suffix.
Edify Scripting
There are two formats for the script file inside an Android update.zip file.* The old format is called "Amend", and the new format is called "Edify".** As of this writing most recovery programs support both formats, but Amend has been deprecated in favor of Edify.* ClockworkMod 3.0 no longer supports the Amend format and users with this recovery must configure ZipThemer to use Edify scripting.
Begin by selecting the Menu -> Update Edify option.* Pick one of the two options.* Option 1 is likely to work for most users and simply requires that you have a flashable ROM or update on your sdcard that contains an Edify script.* The device type name field on this screen is used for display purposes only.* Enter whatever you want for this value.* Browse and select the ROM or update file.* Click "Configure..." and you're done.* This is normally a one-time operation that you don't have to repeat, assuming it succeeds without errors (see the*FAQ*for exceptions).
You can control which format ZipThemer generates by changing the "Update Script Format" setting.* Amend is the default and should work for many users .* If you require Edify (ClockworkMod 3.0 users) or just want to try it, first check to see if your phone is listed in the Update Script Format setting list.* If its not listed, update the database via the app's "Update Edify" menu item. * If your phone still doesn't appear, try one of the "Generic" phone options or generate a configuration using "Option 1" on the Update Edify screen.* Finally, if you still can't get themes to install then ask for support by visiting the support forum or sending me (the dev) an email.
Edify Phone Database
File-system partitions must be explicitly mounted when using Edify and the mount commands can vary from phone to phone.* ZipThemer can extract the required information from a flashable ROM or update file, and there is a database of mount commands provided by nubecoder as an artifact of his*amend2edify tool project.* ZipThemer can use this database when generating Edify scripts and ships with a built-in version, but if you use Option 2 in the "Update Edify" menu screen the latest version of the file will be downloaded to/sdcard/ZipThemer/edify/phoneDatabase.xml.* This file takes precedence over the built-in one.
update-binary
ZipThemer also contains a built-in version of the update-binary file which is used when running edify scripts after configuring with Option 2.* The file gets copied into the update.zip automatically during generation when Edify scripting is enabled.* The default version was also obtained from the amend2edify project.* At the time of this writing the built-in update-binary file is known to work on most phones, but you can provide your own version by copying one into the*/sdcard/ZipThemer/edify*directory (it must be named "update-binary").* However, not all update-binaries are created equal so you're on your own when doing this.
Default Output Directory
Changing the output file via the "+Output" button implicitly changes the default output directory to the containing folder of the selected file.* The default output directory value is persisted across application restarts and can be changed again by selecting a file in another directory via "+Output".* If the directory is ever found to not exist, then the default directory will revert back to /sdcard.*
This feature of persisting and re-using the default output directory is meant to aid users whose method of installing updates requires the output zip files to be located somewhere other than in /sdcard.*
Sent from my GT-P3100 using XDA Premium 4 mobile app
thnks man..!!
Bro can u suggest few themes or link them below.. would be highly appreciated...!
You must be in a Cyanogenmod or AOKP rom for using themes. Then just search in market for*CM10 themes :thumbup:
Sent from my GT-P3100 using XDA Premium 4 mobile app
This section is not for questions! U people are making section dirty!! Stop please, use Q&A for question.....

Categories

Resources