Skip to content
Tech

A more advanced guide to total Android customization

We dive into more advanced tweaks with root and the Xposed framework.

Ron Amadeo | 76
Credit: Aurich Lawson
Credit: Aurich Lawson
Story text

When Android was brought to market, it was pitched as an open, customizable OS that was the antithesis of Apple’s lock-down smartphone platform. While both OSes have moved closer together over the years, the high customizability of Android is still around. Last year’s beginner’s guide to Android customization slightly grazed the surface of what’s possible with a truly adaptable OS. And now it’s time for part two, diving into more advanced customization methods.

Keyboards

Gboard is probably the best all-around keyboard on Android. Check it out if it’s not already the default on your device.
Google also has a crazy handwriting keyboard.
Swiftkey’s auto correct is powered by lots and lots of your data.
Fleksy has an interesting extension system and swipe gestures, and it lets you search through gifs.

One of the earliest Android customizations was a user-replaceable keyboard. Most devices from third-party OEMs are going to come with some kind of non-Google keyboard—either an AOSP derivative branded by the OEM or a pack-in app that was sold to the highest bidder.

So if you’re not using Google’s keyboard, Gboard, you should probably give it a shot. It’s a great basic keyboard that allows you to type or swipe. The recent update to “Gboard” gave Google keyboard Gif and Emoji search, along with the ability to perform regular Google searches right from the keyboard. There are also nice settings like an always-on number row, a one-handed mode, and auto correct for multiple languages. If you’re looking for an alternative input method to tapping or swiping, Google also has a crazy “handwriting” keyboard that lets you draw letters and emoji.

For third-party offerings, Swiftkey is a popular option. By collecting lots and lots of your data, this keyboard tries to learn how you write and provide a better auto correct. This involves sending tons of your data to Swiftkey. It wants to scan all your e-mail, all your SMS messages, and everything on your Facebook, Twitter, Google+, and Evernote accounts. It also has themes, a permanent number row, swiping, and all sorts of fun typing stats.

There’s also Fleksy, an interesting keyboard with a ton of extensions for things like press effects, custom hotkeys, phrase expansion, and even an app launcher.

Fix Android’s auto-rotate

Auto-rotate on the lock screen! Woo!
Most apps handle forced rotation fine, with the exception of some games. You can always lock rotation or just not rotate your phone, though.

Sure lots of customizations add or replace something, but how about fixing a part of Android that has always been oddly inconsistent? Auto-rotate on Android has never made a ton of sense. Even with auto-rotate on, it’s not uncommon to run into parts of the interface that inexplicably refuse to rotate. Today on a Pixel phone, the lock screen is still locked to portrait no matter what, and in many phones the home screen and phone apps are trouble spots, too. Landscape mode support is so poor that for a primarily landscape device like the Pixel C, it is a constant problem.

This can be fixed with an app called “Ultimate Rotation Control,” and it doesn’t even require root. There are lots of “rotation control” apps out there, but my favorite thing about this particular app is that you can swap out the system’s “auto-rotate” function with “forced auto-rotate.” This will make every single screen support auto-rotate no matter what, and the vast majority of them deal with being rotated just fine. Swapping out the system function for forced auto-rotate means you can turn off every single piece of the app’s UI and just use the regular system rotation control in the Quick Settings—install the app, enter the right settings, and then forget about it.

For the invisible auto-rotate correction, you’ll want to uncheck just about everything in the app, and the magic setting is under the “System rotation settings.” Just change “System auto rotation” to “Forced Auto,” and now you can use the regular auto-rotate quick settings control to switch between locked portrait and the new forced auto-rotate mode. Under “special cases,” you also might want to set the lock screen to “Use Global Setting,” so that it rotates, too, when you have auto-rotate turned on. With the system auto-rotate turned on, everything will rotate.

Yes, it’s crazy that you need an app for this, although if you want to dive into the settings even more, you can set up per-app rotation settings.

Make your own Quick Settings tiles

Next pick an icon. There are thousands of built-in icons to choose from, and thankfully you can search through them.
It works! Tap on the “Work” button and Google Maps loads up.

Android’s Quick Settings panel is that row of power toggles that sits above the notification panel. Out of the box, you can usually “customize” the settings by changing the order of the packed-in tiles, but with some apps it’s possible to make your own tiles entirely.

Custom Quick Settings is the best tile app I’ve come across. It works natively on Android 7.0 and 6.0, and with root it will work on Android 5.0 and 5.1. Root and Xposed support also give you access to things you can’t do natively, like reset the phone, change the CPU frequency, show a live weather widget, or start up ADB.

The out-of-the-box features that don’t require root are some of the most useful, though. You can set a Quick Settings tile to open any app, shortcut, widget, or website, and after picking a function you just give it a name and icon. There are thousands of built-in icons to choose from, which all perfectly match the usual quick settings style. If you really can’t find what you’re looking for, you can also load a custom image. Tiles can have tap and long-press actions, too.

From here the sky is the limit. I have a good amount of smart home equipment, so I was able to make a tile that unlocks my doors and one that shuts the house down for the night. Through the “shortcuts” function, you can make a tile that uses a Google Maps shortcut to navigate to a place, like your house.

Xposed—the king of Android customization

If you really want to customize your Android phone, you want to use “Xposed.” Xposed is basically the “Game Genie” of the Android world—rather than directly changing the app code that is stored on your device, Xposed modifies code as it is loaded into memory. By replacing bits of memory on the fly, Xposed lets you change almost anything about your device, even down to things like the SystemUI or Google apps.

Of course, root access is a requirement for something like this. There’s really no such thing as a “Universal root guide” for all Android phones—it will be different for every device. If we’re working backwards, the end goal is usually to boot into a custom recovery and flash a zip file that gives you root access. Gaining the ability to flash a custom recovery and boot into it is the hard part.

On phones with an unlockable bootloader—like Google, OnePlus, Motorola, and Xiaomi devices—this just means ticking some boxes, tethering to a PC, and running some commands with the Android dev tools. On other devices, especially phones bought through a carrier, the bootloader is locked, and unlocking it isn’t supported. If you want to do this sort of thing, your best bet is to buy a phone with an unlockable bootloader, but if you didn’t, rooting can still be possible. Often some enterprising hacker discovers a root exploit in a locked device, and, rather than using it for evil, turns it into a program that can give you more control over your device. Besides, just Googling “how to root [phone model]” in the XDA forums for your specific device is a great place to look. Whatever you do, make sure you have a backup.

Once you have root, you’ll be installing the “Xposed Framework” to your system partition, which (carrying on our metaphor) genuinely works a lot like the Game Genie cartridge—it’s an enabler of changes, but not very useful on its own. Once the framework is installed you’ll want to hunt down some “Xposed Modules,” which allow you to change something. A massive community has sprung up around Xposed, and the official repository has more than 1,000 Xposed Modules.

There are some downsides, mostly around security. Any time you’re running root, it can be a security risk. You get to individually allow root access to apps, so make sure you only tap that “grant” button for apps you trust. Root also means you won’t be able to accept monthly security updates for your device. Xposed modules can also do a lot to your device, so make sure you trust those permissions, too. The good news is that Xposed is open source and so are many of the modules. But another downside is that Xposed generally lags behind Android releases—right now it only works on Android 6.0 Marshmallow and above. If you’re one of the 0.7 percenters running Nougat, you’re out of luck.

After granting root permissions, installing, and rebooting, the app should give you a happy checkmark.
Open the navigation drawer and check out the download section. You’ve got tons of modules to look through. Search works great, with the only downside being no way to sort by “most popular.”

Once you’re rooted, installing Xposed is pretty easy. Everything is handled by the Xposed Installer app, which serves as a user interface for Xposed, the installer for the Xposed Framework, and an “app store” for Xposed modules.

Once the app is installed, it will guide you through the procedure of downloading and installing the app framework to your system partition, which just takes a few taps. Installing the framework does mean modifying the Android system, so it’s at this point that you’ll be locked out of Android updates until you uninstall Xposed, which the app can also do. Have a backup.

Once the framework is installed, the app store part of Xposed is what you’ll use the most. Just open the navigation drawer and take a look at the “downloads” section to have a thousand Xposed Modules to browse through. Discovery is a real problem here, since there’s no “Top Modules” list or a way to sort by popularity. You get a search bar and options to sort alphabetically or by upload date. Once you pick a module, you’ll get a description and a download button, just like any other app store.

The modules are actually apps—they’re regular Android APKs with special exposed hooks. The main differences from the user experience side of things are that after installing you need to “activate” the module by ticking a checkbox and that activating a module requires restarting the phone. Since modules are apps, installing one usually means you get a new app drawer icon that links to a settings page.

Before and after installing Android N-ify on a Marshmallow phone. You get the new notification style complete with a mini Quick Settings on top of the notification panel.
GravityBox attacks my navigation bar. Add custom icons like an emergency Ars Technica button or an app drawer, change the size of the navigation bar, or swap the buttons around.

So what can you do now that you have Xposed installed? Nearly. Anything.

  • Enable the Google Assistant—Officially the Google Assistant is exclusive to the Pixel phones, but it’s really part of the regular Google app. While you might not realize it, the code for the Assistant is probably already on your device. Just download the “Assistant Enabler” module and you’ll be able to turn on that Pixely goodness on any Marshmallow phone. It also comes with the bonus feature of enabling the “always-on” hotword support.
  • Get Nougat interface redesigns on your Marshmallow phone—”Android N-ify” will bring Nougat features like the redesigned Notification Panel to your older phone. You get the mini Quick Settings panel on the first page and the new panel style. Unfortunately, Direct Reply, which lets you type messages right from the notification panel, doesn’t work. Android N-ify can also add the “alt tab” functionality to Recent Apps that was introduced in Nougat. Just hit the Recent button twice and you’ll switch to the previous app. It will Nougatify the settings screen, too.
  • Tweak everything with GravityBox—”GravityBox” is a massive collection of settings allowing you to tweak the lock screen, navigation and status bars, power menu, volume controls, fingerprint reader, and a ton of other things. You can add apps or custom buttons to the navigation bar, and enable a crazy “Pie” navigation panel that pops up around your thumb.
  • Control apps that run on startup—”Boot Manager” is a dead simple app that scans for apps that run at startup and lets you stop them from running. These might be apps that create notifications or a background service, but if you’re sure you don’t need the app to do any background stuff, feel free to kill the auto-start feature.
  • Take total control of your privacy—Sure, Android has some built-in privacy controls in Marshmallow, but with “XPrivacy” you can do a lot better than that. XPrivacy works a lot like the built-in Android permission system, popping up “Allow” or “Deny” boxes when apps request permissions. XPrivacy is much more granular though, letting you restrict things like “Internet” and “identification” or provide apps with fake data. While XPrivacy is very powerful, unfortunately the UI is a big, crazy mess. It’s full of unlabeled checkboxes and odd icons that all need a legend to decode (Remember: a snowflake means the app is disabled), and this is all before you even dive into the “expert” mode, which requires a developer-level knowledge of Android permission terminology.
  • Go “Back” with a swipe gesture—Tired of pressing the back button? With “Swipe Back” you can swipe on the left edge of your device to go back. Easy!

This is just a tiny, tiny selection of what can be accomplished with Xposed. With more than 1,000 modules, we could write forever about everything that is possible, just take a look through the repository.

Custom roms? Maybe later

There’s also the matter of blowing up everything and just flashing a custom rom, which, rather than trying to tweak the OS that came with your device, erases absolutely everything and loads a different Android OS package from a third party. For basically all of Android’s lifespan, the most popular and most widely ported rom out there was CyanogenMod. It was so popular its founder tried to turn it into a company, though the whole thing spectacularly imploded just two days before Christmas.

CyanogenMod wasn’t just popular as its own package; the highly active open source project was also the basis for most other Android roms. With Cyanogen out of the picture, the custom rom community is in the worst place it’s been in years. When the for-profit company, Cyanogen Inc., imploded, nightly builds for CyanogenMod were shut down, development ceased, and CyanogenMod’s entire infrastructure was ripped out from under it.

The developers are currently regrouping and have forked the project to create Lineage OS. The good news is that once the project gets back up and running, it will be free from the awfulness that was Cyanogen Inc. For now since this all only happened about three weeks ago, things are in limbo.

Go forth and customize even more

Between the beginner’s guide and this more advanced sequel, that should cover a good deal of what you can do to customize an Android device. If you really want to make a device your own, there’s almost no limit to what you can do with Android. Get a new keyboard, fix some annoying Google implementations, and (if you dare) root your phone. From there, the sky’s the limit.

Photo of Ron Amadeo
Ron Amadeo Reviews Editor
Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. He loves to tinker and always seems to be working on a new project.
76 Comments