Customization is one of the main selling points of Android. You can modify and customize other mobile OSes as well, such as iOS, although Android simply gives you a wider array of options, and an ability to access deeper areas of the operating system itself to do this.
What are ROMS and Rooting for Android?
Rooting and custom ROMs are often the primary ways through which modifications can be done. Rooting gives users and apps superuser access, thereby gaining the ability to modify and manipulate the system. What are ROMs? Custom ROMs enable the user to install a different variant of Android altogether — in my opinion a perfect way to get rid of an unwanted UI or run Android without bloatware. CyanogenMod, AOKP, Carbon, Paranoid Android, and even plain jane AOSP come to mind here, but there are a ton of custom ROMs out there built especially for each particular device.
The limitation in installing custom ROMs, however, is that it has quite a steep learning curve — and quite some effort required at that. You would first need to learn to install a custom recovery, and then download a new ROM in a ZIP file, and then flash from your custom recovery of choice (CWM or TWRP are the most popular). And this is the easy route. Some options require you to flash an image or parts of the image through computer via ODIN or other flashing software.
Switching across custom ROMs often requires a data wipe. You can backup and then restore afterward, but it’s often never the same — the best way is to start from a clean slate to reduce the incidence of issues. Therefore, while switching ROMs is a great way to experiment with features, most of the time, you’re best sticking to one custom ROM and simply flashing upgrades for that particular ROM whenever available.
What if you could get a way to get ROM-level tweaks on your Android device without the need to flash new custom ROMs? This is now possible through a framework called Xposed.
Better tweaks without a custom ROM
In gist, “Xposed is a framework for modules that can change the behavior of the system and apps without touching any APKs.” This means you can get system-wide tweaks and changes, and tweaks can be applied to any compatible ROM, and apps will inherit the tweaks. These come in various kinds, such as UI tweaks, notification tweaks, hardware controls, and the like.
What’s great with Xposed is that you don’t have to install a custom ROM, as it works on any rooted phone. Therefore, even if you have a stock ROM, you can incorporate enhancements that are otherwise found on customized ROMs. Take for example some DPI-based tweaks that enable you to switch across phone, phablet and tablet view. There are also tweaks that change the behavior of notifications. How about tweaks that let you control how buttons and screen areas act in specific instances, like in the lock screen?
With Xposed, you simply install the framework (download here), and then you can add modules from within the interface. Modules are also available as separate APK files that you can side-load. Many of these modules come with their own settings interface, which enables users to have better control over the tweak.
Among my favorites are the experimental features on Greenify, the app that essentially suppresses apps not in need from launching on their own. The Xposed-enabled features on Greenify give users better control over greenified apps. For instance, Greenify can wake up a suspended application if it gets a push notification via Google Cloud Messaging (GCM). Greenify can also cut off wake-up paths so an app cannot be awoken by another app. The purpose here is to conserve battery and resources — Android is notorious for apps that hog system resources from the background.
Drawbacks? Should I forego custom ROMs altogether?
The only disadvantage I see with Xposed at this point is its incompatibility with the Android Runtime (ART). If you’re running KitKat and you’re enjoying the performance and battery-saving advantages of ART over Dalvik, then you would have to wait until the developers release a build of Xposed that supports ART. Otherwise, if you’d rather have added tweaks and functionalities from Xposed, then you’re better of sticking with Dalvik for the meantime. If you’re using ART and want to try Xposed, you can go ahead install the framework — it will automatically revert to Dalvik upon startup so you should ideally not get any conflicts or boot loops.
With Xposed, does it mean we no longer have to explore with custom ROMs? This is a question that has been raised time and again since the Xposed team launched their beta. The answer is simple. If you need simple tweaks like UI changes or functionalities, then using the Xposed framework and adding modules might be the best choice. But if you want an altogether different Android experience, then you’re better off with a custom ROM.
I plan to cover custom ROMs and Xposed modules in-depth in the future. For now, if you have a rooted device, Xposed is a must-try!