[Micromax Canvas 2 Plus A110Q] abhimanyu bajaj:
modify your ROM - without modifying any APK (developers) or flashing (users)!

Advantages:

No need to modify any APKs. This means:

No need to decompile, change things in smali, compile, sign, ...

It will work for odexed and deodexed ROMs.

Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Hell, it will probably even work with different ROMs.

Multiple mods can be installed at the same time, even if they change the same package. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.

It does its magic at runtime. That means you can implement options to let the user decide if they prefer the bikeshed to be painted in red or blue. Or you can have some extra logic for certain ROMs without building different mod versions.

It can be disabled easily without having to reflash.

It's open source.

Download:

You can download the installer from http://dl.xposed.info/latest.apk. The attached XposedBridgeApi*.jar is only needed for developers.

How to install:

First step for everything you do: Create a nandroid backup and make sure you know how to restore it!

I'm not responsible for anything you do with your phone/tablet/rice cooker.

There is also the risk to soft-brick your device. In such a case, restoring a backup is the easiest way to get rid of it (other possibilities mentioned below).

For the framework:

Download the Xposed Installer APK and install it

Launch the Xposed Installer, go to the "Framework" section and click on "Install/Update"

Reboot

Done!

You can verify this by starting the Xposed Installer again. If app_process jumped back to an older version (or none at all), you probably have a ROM with S-On or similar, which reverts any changes to /system after a reboot.

For any modules you want to install:

Download <module>.apk and install it

Launch the Xposed Installer and go to the "Modules" section (you will also get there if you click on the notification warning you that the module is not enabled yet)

Enable the module by checking the checkbox

Reboot

Done!

(note that you can install the framework and enable/disable multiple modules at once and reboot afterwards)

In case you get into a boot loop:

You can flash the attached Xposed-Disabler-Recovery.zip by Tungstwenty. It will be copied to your (external) SD card when you install Xposed as well. The only thing it does is copying /system/bin/app_process.orig back to /system/bin/app_process, which you can also do yourself (e.g. with adb shell in recovery mode).

You could also create a file /data/data/de.robv.android.xposed.installer/conf/disabled, which causes Xposed to be bypassed as well.

Modules:

The official repository for Xposed modules, which can also be access from within the app itself (with download/update support), can be found at http://repo.xposed.info

You can also have a look at this index: http://xdaforums.com/show....php?t=2327541

Please don't use this thread for problems with modules! Use the thread of the module instead.

How to write a module:

If you are an interested developer, give it a try. The development tutorial will help you get started. Further documentation (e.g. how to replace resources) is here. And of course, you can ask your development questions in this thread.

If you have suggestions for new functions the framework could provide (which means they should be useful for more than your module), you can do this here as well. However, requests that I or somewhen else should write a module for xyz are NOT allowed here. Again, this thread is only about the framework.

Changelog:

1.0: Initial version

1.1: ???

1.2: Installer

1.5: Resource replacing

1.6: Some fixes and improvements [629 downloads]

2.0 rc2: Lots of thing redone. Supports (temporarily) replacing native libraries, lots of additions and changes for developers. [3,234 downloads]

2.0: Removed the native library replacement again, support for 4.1 and 4.2, Instagram crash fixed, ... [631 downloads]

2.0.1: Fixed a crash when a module tries to hook a function with "long" or "double" parameters [930 downloads]

2.0.2: Fixed a problem which resulted in a boot loop [4,310 downloads]

2.1: Various improvements, e.g. earlier callbacks for module loading. For details, see this post. [345 downloads]

2.1.1: Fixed a bug in drawable replacements [5,421 downloads]

2.1.2: Small fixes, added Chinese and Russian translations [11,415 downloads]

2.1.3: Reverted a change in 2.1.2 that caused bootloops; new translations and some more fixes [46,803 downloads]

2.1.4: Support for Galaxy S4 and HTC One plus a few minor fixes/enhancements (details) [208,176 downloads]

2.2: Builtin updater/module downloader, extended UI, support for Android 4.3 and more (details) [241,267 downloads]

2.3: x86, Knox, MIUI support (experimental), context menu in modules list and more (details) [18,219 downloads]

2.3.1: "Segmentation fault" during installation fixed [679,333 downloads]

2.4: Support for Android 4.4, performance improvements, log viewer, active check (details) [101,613 downloads]

2.4.1: Fixed bootloop on some x86 ROMs

Source code:

https://github.com/rovo89/Xposed (the C++ part)

https://github.com/rovo89/XposedBridge (the Java part)

https://github.com/rovo89/XposedInstaller (Installer app)

Thanks to:

Tungstwenty for his many contributions, both in code and thoughts

XDA admins, news writers and supporters for making Xposed known to so many people

All those volunteers who help answering questions about Xposed

The people who donated to get me a Nexus 5 for earlier KitKat support

aljohanei for Arabic translations

hero355 for Azerbaijani translations

David_Vaz for Spanish, Catalán, and Galician translations

kecinzer for Czech translations

BobQuentok for German translations

sirodoht for Greek translations

tonymanou for French translations

Adam77Root for Hungarian translations

AngSanley for Indonesian translations

Vincenzo Cerminara for Italian translations

DubelBoom for Hebrew translations

WedyDQ10 for Japanese translations

Martinusbe, Gertlily for Dutch translations

czeci for Polish translations

marciozom13 for Portugese translations

michfood for Russian translations

pyler for Slovak translations

TheNorth34 for Turkish translations

Cye3s, liveasx for Chinese translations

If you want to contribute more translations please use this file as a template. I can't accept translations based on decompiled APKs. Submissions on GitHub as pull request are preferred because it's easier for me.

Original Forum : http://xdaforums.com/showthread.php?p=24267797

Xposed Disabler in case of brick http://xdaforums.com/attachment.php?attachmentid=2568891&d=1391958634

1.Xtheme Engine Thread - http://xdaforums.com/showthread.php?p=49952644#post49952644

2.Android Tuner

The most comprehensive toolbox to save battery, tweak, tune, backup, secure and monitor any Android devices running any ROMs, any kernels.

What is Android Tuner: http://www.3c71.com/what

☺ Replaces 20+ apps easily worth 30€ or more ☺

Life-time support, updates and new features for all your current and future devices.

Supporting me is only a couple of beers ☺

☺ Getting started: http://www.3c71.com/getstarted

☺ App screenshots: http://www.3c71.com/screenshots

☺ App benchmarks: http://www.3c71.com/benchmarks

☺ Best on rooted phones, works well on stock phones too

◊ Permissions requested: http://www.3c71.com/permissions

◊ Open-source APIs used: http://www.3c71.com/opensource

♦♦ Feature set (some require root access, try free version first) ♦♦

► Device manager *1

◊ Device profiles (CPU, IO, components)

◊ Tasks scheduler (app management, clean-up, etc)

◊ Device watchers to automatically activate a profile, run tasks or display alarms

◊ Battery savings using profiles and tasks

► File explorer *1

◊ Batch copy/paste, zip, delete, move, share and stream files and folders

◊ Change files/folders permissions and ownership

◊ Access all your Samba network shares

► Application manager *1

◊ Backup and verify app apk/data (multiple versions), sms and call-logs

◊ System app uninstaller and update cleaner

◊ Share and backup apps to e-mail, DropBox, GDrive, etc...

◊ Move any apps to user, system, SD or link2SD

◊ Freeze/unfreeze apps, crystallize (eg hibernate/greenify) and control app startup and events

◊ Zip align, clear cache, wipe dalvik-cache, fix permissions and optimize databases

◊ Control app notifications, permissions, locker (secure access), rotation and force screen-on *2

◊ Usage and standby statistics (find app draining your battery)

► Network manager

◊ Set WiFi access point priority

◊ Configure Android firewall, TCP Congestion, DNS *1

► Task manager

◊ Check CPU, network and memory usage

◊ Kill (default) or force-stop *1 any apps or kernel processes

◊ Automatic task killer, memory booster, memory cleaner

► System Control *1

◊ CPU governor, frequency, voltage, GPU controls, thermal and MPDecision controls

◊ Build.prop and sysctl editor (basic and advanced mode)

◊ Boost, analyze and benchmark SD cards

◊ Android memory manager, memory cleaner, SD linker (directory binder)

◊ fsync, sweep2wake, gamma and fast charge control

◊ Safe: restore defaults from app or recovery and CPU settings on boot-loop

► System Monitoring

◊ All Android applications or all processes, battery, CPU, network, memory

◊ Component states (WiFi, Bluetooth, GPS, 3G, Phone, APN)

► Status bar notifications

◊ Battery, cpu, memory, sd, temperature optionally with graphics in drop-down

◊ Add battery remaining bar on top or bottom

◊ Remove original battery icon

► Highly Configurable Widgets

◊ Resizable gauge widget

◊ 1x1 and 2x1 (PRO ONLY) text widgets

◊ 2x1-5x2 graphic widgets (PRO ONLY)

◊ 1x1 and 4x1-1x4 (PRO ONLY) toggle widgets *1

◊ 4x4 summary widget (PRO ONLY)

► System Toggles (manual widgets or in profiles)

◊ GPS, WiFi localization

◊ WiFi, BT, BT discoverable, APN, NFC, airplane

◊ Tethering (USB, WiFi, BT)

◊ Brightness, screen time-out, stay awake, flashlight

◊ Ringer, vibrate, synchro, background data

◊ Debug (over WiFi), unknown sources, USB storage, reboot

► Terminal Emulator & Script Editor

◊ Command history

◊ Run or test any scripts, optionally on boot

◊ Share scripts, commands and outputs

► System Logs Reader *1

◊ Logcat or kernel messages

◊ Advanced filtering and search

and much more that meets the eye ☺

*1 Requires root and kernel support for full feature

*2 Requires root and Xposed framework

Download Android Tuner From Play Store Or Buy Full Version

3.Gravity Box

GravityBox - tweak box - Xposed module for devices running Android 4.1/4.2/4.3 ROMs

Version 2.9.6 [JellyBean]

READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER

Hey!

After countless hours of coding and searching for proper entry points to inject code to incorporate fixes and mods, here it is:

GravityBox - a complex Xposed module targeted for devices running Android 4.1/4.2/4.3, which turns vanilla ROM into

feature-packed "non-flashing" custom ROM.

Originally, this module was designed for MTK6589 devices which lack custom ROMs built from source due to MediaTek closed-source policy.

Later on, it was adjusted to support other (non-MTK) devices running vanilla or close-to-vanilla AOSP ROMs.

Introduction

The app utilizes amazing Xposed framework coded by recognized

developer rovo89 which, briefly, provides interface for injecting code into any app, including system services allowing modifications of applications and system services at run-time. One of the biggest advantages of GravityBox is that it is not bound to any specific device. Actually, it should run on any device having vanilla Android 4.1/4.2/4.3 (ROM close enough to AOSP).

This project wouldn't be possible without rovo's Xposed framework, so huge kudos to him.

Feature highlight

GravityBox provides 2 main groups of features:

Fixes - help to fight typical MTK6589 bugs like:

--- Date&Time settings crash

--- Caller ID mismatch

--- Split conversation in messaging

--- Wakelock in calendar app periodically turning on the screen

--- Waelock in messaging app turning on the screen every time new message arrives

--- Missing TTS settings in Language&Input

--- Missing extended developer options

Mods

--- the set of additional useful features that make using the system more easy and fun

--- CyanogenMod Pie controls

--- Expanded Desktop

--- Statusbar QuickSettings tile management with tile reordering

--- Lockscreen targets

--- Statusbar color and transparency

--- Statusbar Brightness Control

--- Statusbar icon colors

--- Additional QuickSettings tiles:

------- Sync on/off, WiFi AP on/off, GravityBox shortcut, Torch, Network mode (2G/3G/2G+3G switch), Sleep, QuickRecord,

QuickApp, GPS on/off, Ringer mode, Volume tile

--- Quick pulldown - switches to QuickSettings when status bar is pulled down near edges

--- Auto-switch to QuickSettings when there are no notifications

--- Center clock in statusbar

--- Battery indicator style

--- Navigation bar tweaks

--- Low battery warning policy

--- Disable LED flashing when battery low

--- Disable LED while charging

--- Auto-hiding of signal icons for empty SIM Slots

--- Advanced power-off menu (reboot, recovery)

--- Volume key cursor control

--- Skip tracks by volume key long-press while screen off (thanks to rovo89)

--- More volume levels for music stream

--- Option to control safe headset media volume

--- Button for clearing all recent tasks at once

--- Fullscreen caller photo

--- CRT screen off animation

--- Minimal brightness setting

--- Autobrihtness levels adjustment

--- Lockscreen tweaks - show widgets maximized, lockscreen background style (color fill, custom image)

--- Lockscreen rotation

--- Phone tweaks - flip action, disable vibrate on call connect

--- Hardware key actions - menu long-press/double-tap, back long-press, home long-press

--- MasterKey vulnerabilities patched (thanks to [MENTION=4322181]Tungstwenty[/MENTION])

--- Dithered Holo background

--- Option to use solid black Holo background

--- Expandable volume panel

--- Option to unlink ringtone and notifications volumes

--- Notification drawer style (background color, image for portait/landscape, transparency)

--- Button backlight modes (default, disabled, always on while screen is on)

--- Button backlight notifications (for devices that lack Notification LED)

--- Navigation bar ring targets

--- GravityBox Actions (shortcuts)

... more to come

Compatibility

Some words about GB's main concept. One thing I didn't like about xposed modules was that it was always necessary to reboot a device after making a change to some option. Since GB's main concept was to turn MTK devices running stock ROM into something that's close enough to a feature-packed custom ROM, I had to take a decision - for it to be as much comfortable as possible and to really behave like a custom ROM, I had to design it to support most of the preference changes to be done on the fly without needing to reboot a device. While this sounds nice, it also brings couple of "drawbacks". For changes to be made on the fly, it is necessary to make some preparations when device starts. This means, even if you don't use the particular feature, the necessary preparation/modification is already there and is waiting for the user to come and change that option.

This means it is not possible to "completely deactivate" particular feature if it causes trouble on your device or if you installed GB because you want to use only one particular feature you can't find elsewhere.

This results in issues on ROMs/devices that have parts that are diverting from default Android implementation too much, or are running heavily modified custom ROMs.

If you experience weird issues after installing GB, even if you didn't activate a particular feature, it is not because of GB is broken, it is because it is not compatible with your ROM. It is very similar as if you installed ROM built from source for Nexus to some Xperia device - it won't work.

Next thing, GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source (CM, PAC, ...), and you are missing a certain feature, your best option is to go ask creators of those ROMs to implement those additional features. Supplementing missing features on well-known custom ROMs built from source by installing xposed modules (especially complex ones) is definitely not a good way to go and can cause more trouble than good.

And finally, the last. GB being a complex module, it shouldn't be combined with other complex modules often racing for the same goal. They can conflict/fight on the same playground and there's no way you can deterministically say which one's going to win.

They can even lose both.

So in summary:

- this module is designed to run on vanilla or close-to-vanilla Android 4.1, 4.2 and 4.3 (AOSP)

- supports majority of MTK6589, MTK6577, MTK8389 devices

- supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 4.1/4.2/4.3

- Samsung Touchwiz, HTC Sense, MIUI, LeWa, etc. are NOT supported. It is not guaranteed this module will work on these at all so try at your own risk. This module is simply too complex to support all kind of ROM brands that were vastly modified by vendors.

- DO NOT USE WITH CUSTOM ROMS LIKE CM,AOSPA,ROOTBOX,AOKP,SLIM, ETC... IT MAKES NO SENSE AND CAN CAUSE CONFLICTS AND UNEXPECTED BEHAVIOUR

- I will not implement any exceptions that will adapt this module to a specific custom ROM. Please, do understand, it is unmanageable.

- I will not provide any support for devices violating these compatibility rules

Prerequisites

To use this module, the following conditions must be met

- You have a device running Android 4.1/4.2/4.3 that's based on AOSP (vanilla or close-to-vanilla Android)

- ROM must be rooted (XposedInstaller requires root to be able to install framework into system)

- You have working custom recovery allowing you to make a backup before installing Xposed framework

GravityBox has been developed and tested on THL W8 5" XHDPI device (MTK6589)

Installation

If you are using my GravityMod2 ROM, don't follow these instructions to update!

There's a flashable ZIP for updating GravityBox in GravityMod2 thread!

These instructions are only for those not running GravityMod2 ROM!

1) Backup your current ROM in custom recovery. I am serious. Don't skip this step.

2) Get the Xposed installer from Download section from Xposed official thread (the latest version is typically available at this link: http://dl.xposed.info/latest.apk)

3) Install and run Xposed installer and follow the instructions to activate Xposed framework

4) Reboot. If device doesn't boot that means that the Xposed framework is not compatible with ROM you are currently

running. You don't need to continue with the next steps. You will have to restore your ROM from backup.

5) Download, GravityBox.apk attached at the end of this post, rename it to GravityBox.apk and install it

6) Make sure GravityBox app is installed to internal memory. If it was installed to phone storage or external storage,

move it to the internal memory, first

7) Run Xposed installer, go to Modules menu and activate GravityBox by checking the checkbox

8) Reboot

9) Launch GravityBox from app drawer or from Xposed installer and set options as desired

Reporting bugs

If you experience problems with certain feature, provide the full-detailed info that can help me

to reproduce the bug and attach debug.log file you'll find in either:

/data/xposed directory in case of Xposed Installer version prior to 2.3

or

/data/data/de.robv.android.xposed.installer/log in case of XposedInstaller 2.3+

In case you experience SystemUI crashes or other apps Force Closing, or device soft reboots, attach logcat from time

crash occurs. (use adb logcat *:E or your favorite logcat app from Play Store).

Please, don't attach big logs. Only the portion where error is clearly seen.

Disable all other xposed modules before reproducing bug to make sure it is really GravityBox related

Remember, this app was developed and tested on one particular MTK6589 device so it is not guaranteed that

it will work flawlessly on yours.

Multilanguage support

Volunteers are welcome to translate GravityBox to other languages.

Simply download this file: https://github.com/C3C0/GravityBox/r...es/strings.xml

Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.

Source code

GravityBox is opensource. Sources are available in my gihub: https://github.com/GravityBox/GravityBox

If you're a dev and have some ideas for additional features, feel free to fork it, work on it

and send the pull requests.

Copyright notice

https://github.com/GravityBox/Gravit...llybean/NOTICE

Support development

Coding, maintaining and supporting this project costs me a lot of my precious time. If you find this project useful, you are welcome to support its development via donation. This form of support is meant to compensate for my time dedicated to the community + eventually, help me to afford newer device to keep up with AOSP evolution thus providing continuous support as Android evolves. Thanks!

Info about premium features and PayPal transaction ID verification system

1) Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features.

As of v2.9.5, there's one premium feature: Backup/restore of GB settings.

2) If you contributed to the project by providing translations, code fragments, or by any other way

you can apply for a free transaction ID by contacting me via PM.

3) Be aware that there's a system that can identify potential transaction ID

abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically.

This can also happen when you previously exposed your ID in public forum and other users took

advantage of it. If this is the case, contact me via PM so I can issue new, special ID.

In case you own more devices, you can use one transaction ID on up to 10 of them.

4) If you are using your own custom builds of GB for personal use, you will get hash mismatch

upon verifying your ID as verification system accepts requests only from official releases of GB.

If you want to be able to verify IDs with your custom build, contact me via PM so I can setup

a special hash for your build.

If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM),

it is necessary to ask for new hash everytime your new custom version is released for public use.

These rules are based on mutual trust so please, do not violate them.

Credits

- [MENTION=455439]bgcngm[/MENTION] for his code contributions to the project

- [MENTION=2011359]MohammadAG[/MENTION] for Xperia specific contributions to the project

- [MENTION=4419114]rovo89[/MENTION] for his ultimate Xposed framework and "Volume keys to skip track" mod

- [MENTION=5266979]peptonib[/MENTION] for starting me up with this project

- THL W8 owners for providing support and feedback

- CyanogenMod project

- ParanoidAndroid project

- SlimBean, RootBox, AOKP, OmniROM projects

- Sergey Margaritov for ColorPickerPreference

- [MENTION=4322181]Tungstwenty[/MENTION] for MasterKey vulnerabilities patch

- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, WedyDQ10, mp3comanche, awaaas, liveasx, samsonbear, Eric850130, xtrem007, benjoe1, asmb111, ...)

- and finally, all those who keep the project alive by supporting me via donations (you know who you are)[/COLOR

Changelog

https://github.com/GravityBox/Gravit.../CHANGELOG.txt

XDA:DevDB Information

GravityBox [JB] Xposed Framework Module, a Tool/Utility for the Android General

I WILL NOT BE HELD RESPONSIBLE FOR BRICKED DEVICES ALTHOUGH I AM WILLING TO HELP

PLEASE GIVE SOME TIME TO UPDATE THIS WITH MODULES

Credits : Komal Singh