The ThemeMachine is a theming tool, which makes it easier to port a theme.
Its writen in batch and executeable on every Windows since XP.
What it does is told easy but wasnŽt that easy to implement.
It copies all PNG-files (this includes .9.png) from one APK into another one, preconditioned the file exists in the destination APK.
YouŽre interested in the complete process of the tool? Take a look in the attached flowchart or click here.
- Be aware you have cmd and powershell on your PC (which are both components of every Windows since XP)
- Download the attached file or click here and extract it to any place you want. E.g. like this:
- Get a BASE and a THEME APK. Both have to be deodexed.BASE: Its an APK that you want to theme with the contents of the THEME apk. That could be the framework-res.apk that you currently use.
THEME: Its an APK that contains the theme that you want to copy. That could be the framework-res.apk of CM7.2 for Motorola defy.
Using it the right way
Navigate to the folder where youŽve extracted the archive. Enter the folder and youŽll see a foldercontent like this:
Double click on "start.cmd" to execute the batch script.
Drag&drop the first file, the BASE apk, into the window.
Exactly do the same with the second file, the THEME apk.
Now the script will do its best to get a good theme out of it.
You also get some infos in the window. For example the info how much files got copied (see picture below)
At the end of the script when it shows "Press any key to get into folder that contains the new file"
press a any key on your keyboard then the explorer will opens the folder with your new themed APK.
Example / Result
IŽm using MotoSwitchUI 2.0 on my Motorola XT615 (a.k.a Motoluxe) with Gingerbread on it.
Sadly we donŽt have more options like using CM because of locked bootloader.
In my opinion you canŽt make a GUI more ugly then the MotoSwitchUI
So i thought.. well i canŽt make it worser.. so i decided to theme it with the AOSP/CM-Style.
First iŽve downloaded CM7.2 for Motorola Defy. So i remain on the same API-Level, which means more compatible filenames.
Further i have the same imagesizes in this szenario: HDPI.
Files iŽve used: Framework-res.apk, SystemUI.apk, Browser.apk, Settings.apk, DeskClock.apk, DownloadProviderUI.apk, Email.apk, Mms.apk, Music.apk, Phone.apk, SettingsProvider.apk
As BASE iŽve used my stock files from MotoSwitchUI and as THEME the files out of CM7.2 for defy.
After theming them with ThemeMachine + about 10 .xmls edits + using launcher of CM7.2 (which suprisingly works fine) i reached the following result.
And gess me thats not all You should see the rest!
- APKs share their PNGs with other APKs. Most used: framework-res.apk.
To get a good copy of a theme its a must to theme it too.
- As theme-APK you should use a APK with the same API-level as the base-APK.
Reason for this: APKs with the same API-Level most likely have the same PNG-filenames.
- As theme-APK you should use a APK with the same Android image size (xdpi, hdpi,...)
- Igor Pawlow: 7zip is a mighty tool and used for extracting and adding contents
- pieh-ejdsch/bastla (@administrator.de): For helping me to find the right command for comparing contents
- jevan24 (@xda-developers.com): For excessive testing and reporting
- imageshack.us: For hosting my images
- gliffy.com: Used for creating flowcharts. Realy good service.