FORUMS
Remove All Ads from XDA

[MOD][XPOSED][4.0+] XThemeEngine beta5 - Theme engine for any rooted phone

527 posts
Thanks Meter: 1,270
 
Post Reply Email Thread
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.

XThemeEngine is powered by Xposed Framework by rovo89. You will be prompted to install if you haven't.

Install Instructions
  1. Install Xposed Installer
  2. Install Xposed Framework (from the Xposed Installer app)
  3. Install XThemeEngine from the link at the bottom of this post
  4. Activate the module in Xposed Installer app
  5. Download SampleTheme (or create your theme!), activate through XThemeEngineApp
  6. Enjoy!

Which device has XThemeEngine been tested on?
Galaxy Nexus (4.2 stock), Xperia V (JB Stock), Galaxy S3 (JB Stock), Galaxy Note 2 (JB Stock).

Confirmed working by XDA members: Xperia U, Xperia P, Xperia T, Xperia TX, Galaxy S Duos, Lenovo A800, Ainol Novo Hero2, HP Touchpad 4.2.2, Cherry Mobile Flare / Karbonn A9+, L9, SIII, Optimus G, Motorola RAZR HD, Galaxy S Advance I9070, Xperia Sola, LG Motion 4G

Does not work: HTC One X(L) Stock, HTC One Stock

Theoretically, XThemeEngine should work with Android 4.0 and above. Only for ARM devices though. x86 devices are NOT supported. To learn more, read Xposed Framework FAQ.

This would further be limited depending on the theme selected (similar to CM10 theme engine). Do report the device you're using if it works for you too.

Current Limitations
  • Does not support ringtones/wallpapers
  • Avoid res/layout at the moment (despite supported)
  • res/values/styles.xml is NOT supported and may never be
  • XThemeEngine and Themes cannot be stored on external storage or /mnt/asec

Screenshot
Running ported LunarUI II theme on Xperia V stock rooted


Download
From G+ Page: https://plus.google.com/communities/...0991587538620/

SampleTheme apk: https://www.dropbox.com/s/quqsjj9e6k...ampleTheme.apk
SampleTheme GitHub: https://github.com/ruqqq/SampleTheme
The SampleTheme only changes your battery icons
The Following 506 Users Say Thank You to ruqqq For This Useful Post: [ View ] Gift ruqqq Ad-Free
 
 
18th April 2013, 03:00 PM |#2  
OP Senior Member
Thanks Meter: 1,270
 
More
How To Create Theme

Refer to https://github.com/ruqqq/SampleTheme for SampleTheme project. AndroidManifest.xml has all the info. Essentially, the theme format is 90% similar to CM10 Themes.

How To Port Themes from CM10

ONLY PROCEED IF YOU'RE CONFIDENT OF FINDING SOLUTION TO PROBLEMS AND NOT RELY ON GETTING SPOON FEED.

Prerequisites
  • Basic Knowledge with Intellij/Eclipse + Android SDK (able to create a new project and run it on a phone)
  • Basic Command Line Knowledge
  • apktool
  • Some Intelligence
  • I will not tolerate google-able questions

Steps
  1. apktool d THEME_APK
  2. Create a new Intellij/Eclipse project with the same package name as the theme (can find this out in AndroidManifest.xml)
  3. Copy res and AndroidManifest.xml apktool extracted into the new project, replacing the generated files.
  4. Add
    Code:
    <uses-permission android:name="sg.ruqqq.XThemeEngine.permission.SYSTEM_THEME" />
    just after manifest tag
  5. Delete res/values/public.xml (if any)
  6. 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)
  7. Build, Install and Apply Theme!
  8. Soft Reboot!

Porting Themes without Intellij/Eclipse
  • Quote:
    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)

    Code:
    <uses-permission android:name="sg.ruqqq.XThemeEngine.permission.SYSTEM_THEME" />
    (Optional) You may also replace package="com.theme.name" with the ported theme name.
    5. Build, sign. Thats it.



XThemeEngine-only Redirections

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.

Example:
Code:
<package-redirections android:name="com.android.systemui" android:resource="@xml/xthemeengine_com_android_systemui" android:minSdkVersion="16" deviceManufacturer="Sony" deviceModel="LT25i,LT29i,LT30p" deviceId="9.1.A.0.490,9.1.A.1.140" />
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.

FAQ
  • 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.
The Following 94 Users Say Thank You to ruqqq For This Useful Post: [ View ] Gift ruqqq Ad-Free
18th April 2013, 03:08 PM |#3  
[GS]'s Avatar
Senior Member
Flag Durres
Thanks Meter: 82
 
Donate to Me
More
testing now, thank you

can i run Cm theme?
18th April 2013, 03:14 PM |#4  
OP Senior Member
Thanks Meter: 1,270
 
More
Quote:
Originally Posted by [GS]

testing now, thank you

can i run Cm theme?

No. CM theme has to be ported to XThemeEngine. Porting is really simple though.
The Following 3 Users Say Thank You to ruqqq For This Useful Post: [ View ] Gift ruqqq Ad-Free
18th April 2013, 03:23 PM |#5  
[GS]'s Avatar
Senior Member
Flag Durres
Thanks Meter: 82
 
Donate to Me
More
Im testing in galaxy S3 mini and work great with sample theme! batery icon change... but work afer normal reboot,no with soft reboot
18th April 2013, 03:52 PM |#6  
Guest
Thanks Meter: 637
 
More
Awesome!!!
Worked on my Xperia P ICS
Here screenshot(observe battery icon)

Sent from my Xperia P using XDA-premium
Attached Thumbnails
Click image for larger version

Name:	uploadfromtaptalk1366296684881.jpg
Views:	49385
Size:	119.1 KB
ID:	1892938  
The Following User Says Thank You to sadiq23 For This Useful Post: [ View ] Gift sadiq23 Ad-Free
18th April 2013, 04:04 PM |#7  
Senior Member
Flag Madrid
Thanks Meter: 741
 
More
This is amaaazing many thanks !!

screenshots Xperia U (Stock Ics) sample green theme for framework & systemui

changes - Tabs - Slider - green button system ui - battery 100 step green , green switch , at the moment, all works well

now alot of works for do
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2013-04-18-16-54-55.jpg
Views:	54131
Size:	29.5 KB
ID:	1892954   Click image for larger version

Name:	Screenshot_2013-04-18-16-55-05.jpg
Views:	49780
Size:	26.3 KB
ID:	1892955   Click image for larger version

Name:	Screenshot_2013-04-18-16-55-42.jpg
Views:	47739
Size:	25.3 KB
ID:	1892956   Click image for larger version

Name:	Screenshot_2013-04-18-16-56-39.jpg
Views:	43131
Size:	20.5 KB
ID:	1892957  
The Following 3 Users Say Thank You to XDA.AGM For This Useful Post: [ View ] Gift XDA.AGM Ad-Free
18th April 2013, 04:14 PM |#8  
cartmenicus's Avatar
Senior Member
Flag British columbia
Thanks Meter: 1,976
 
Donate to Me
More
Works great on T already got some themes ported

Sent from my LT30p using xda premium
18th April 2013, 04:16 PM |#9  
josephnero's Avatar
Senior Member
Flag Sanford NC
Thanks Meter: 668
 
More
can you post a small guide on how to do it?
The Following User Says Thank You to josephnero For This Useful Post: [ View ] Gift josephnero Ad-Free
18th April 2013, 04:52 PM |#10  
Guest
Thanks Meter: 637
 
More
Quote:
Originally Posted by josephnero

can you post a small guide on how to do it?

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!

Don't forget to hit thanx button!
The Following 88 Users Say Thank You to sadiq23 For This Useful Post: [ View ] Gift sadiq23 Ad-Free
18th April 2013, 05:23 PM |#11  
Recognized Themer
Thanks Meter: 1,049
 
More
Wow, this is great. I've been on stock for while, but i do missing theme engine.

Xposed is getting more mature now, nice job guys.
Post Reply Subscribe to Thread

Tags
engine, framework, jellybean, theme, xposed

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes