[MOD][XPOSED][4.0+] XThemeEngine beta5 - Theme engine for any rooted phone
What is XThemeEngine?
XThemeEngine allows you to theme your device similar to how T-Mobile/CM10 Theme Engine. Install theme apk, activate theme from XThemeEngine app. Voila! Forget MetaMorph. Forget flashing zips.
Make sure there is a file called res/xml/redirections.xml and the file contents is set up to reflect the theme (refer to SampleTheme or read and understand T-Mobile Theme structure)
Build, Install and Apply Theme!
Porting Themes without Intellij/Eclipse
Originally Posted by pier10
By the way there's another easier method to port a theme, without IntelliJ or Eclipse.
I assume you know how to use apktool and how to sign .apk.
1. Decompile sampletheme.apk
2. Decompile your desired theme .apk
3. In sampletheme folder just delete "res" folder, replace it with the "res" folder from your desired theme.
4. Edit androidmanifest.xml and add the line below (before application tag)
(Optional) You may also replace package="com.theme.name" with the ported theme name.
5. Build, sign. Thats it.
Unlike CM Themes which is made just for CM and it's cousins (AOKP etc.), XThemeEngine is made to support various devices. Hence there will be a problem of fragmentation for theme devs.
I implemented an extra functionality to workaround the fragmentation. This require you to add a new file: res/xml/xthemeengine_redirections.xml. This file works the same as res/xml/redirections.xml except with 3 new attributes: deviceManufacturer, deviceModel, deviceId. These attributes defines the condition for which device to do the redirections for. The attribute can have multiple values separated by commas.
xthemeengine_com_android_systemui.xml will be loaded to theme com.android.systemui for Sony LT25i, LT29i, LT30p and only for the specific ROM versions. This way, I can theme status bar layouts for specific device without causing FCs.
Why does the ported theme not look 100% as the original theme?
There are 2 reason for this. Firstly, as stated in the previous post, styles.xml is not working for XThemeEngine. Hence, the ported themes would not work 100%. For better success, port a theme which is closer to Holo styles (dark background, bright text). Second reason, which is the most common reason, is that the theme is made for CM10. CM10 is very close to AOSP while your device which is running stock rom only retain some parts of AOSP. The theme need to be properly ported (analyze your stock rom frameworks and redirect the proper files in your ported theme etc.) to fully support your device.
It is simple, here:-
1) First download and install Xposed
2) Then open Xposed and there you'll find "Install/update", press that!
3) Now reboot
4) next download and install XThemeEngine
5) Now download any of sample theme and install it
6) Open Xposed and swipe your screen to "Modules"
7) There activate XThemeEngine
8) Now open XThemeEngine
9) There you'll find option "choose theme" press and select "sample theme"
10) below that there will be a option "apply theme", press that
11) Reboot and your done!
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?