A new era in Android theming is here

We can use third-party launchers to theme our home screens. We can theme our most-used apps to get rid of that searing white and spice things up with some color. We can do so many things to customize Android and make it our own, but theming the Android system itself requires one of two things: a phone with a robust theming engine like the Samsung Galaxy S8 or root.

Theming Android at the system level is intoxicating, but most people don't have the patience, practice, or prowess to invest in root theming. Even I don't bother with the hassle of root theming, and I'm a girl who will spend hours dialing in custom icons and widget colors on her home screen. System theming isn't worth root tinkering, but soon, root might not be required to theme Android.

Here's why we think there's a light at the end of this long, custom-skinned tunnel.

The RRO Framework: Thanks, Sony

App theming in style

The groundwork for native theming on Android began years ago. Sony contributed the Runtime Resource Overlay framework to AOSP back in 2014 and implemented it on many of its devices to allow users to theme the Android system and apps on its Sony phones via Xperia Themes. RRO allows you to skin Android apps without modifying their source code, enabling users to change the way all apps on their phones looked without going to much trouble or breaking apps on their phones.

RRO was first discovered as developers dug through the Android M Developer Preview. You may remember Android M as the first year that Google taunted us with a dark theme during the Developer Preview, then pulled it before the stable release, and that had to do with Android testing out the RRO Theme Engine it had incorporated. The next year, the dark theme returned with the Android N Developer Preview, and again, it was pulled before Android Nougat pushed to stable in the fall.

I miss you, darkness

Why do you tease me so, dark theme?

This year, we got the Android O Developer Preview, but we did not get our experimental dark theme back. Instead, as developers went digging for easter eggs and other hidden goodies, they stumbled on the first instances of RRO themes being used by the Android system.

So what changed this year?

In the earlier Android O Developer Previews, there was a setting under Display called Device Theme, where you could choose between Pixel and Inverted themes, with Inverted being the default. The problem was, as with previous years' theme settings, this was very limited in scope, only changing the Quick Settings shade from Inverted's brain matter gray back to a darker tone. And, as with previous years, the Device Theme setting was pulled from the Android O Developer Preview 4.

Device theme

Googlers have been testing and pulling these dark themes based on the RRO Theme Engine for years via the Developer Previews and Beta program, but this May, developers, bloggers, and theming nerds all started getting their hopes up again. That's because, this year, enterprising code-diggers found that those two themes were indeed RRO themes, proving that Google hasn't given up the ghost on system-wide themes on its version of Android. The now-pulled Device Theme setting was the interface that allowed users to tap into the RRO Theme Engine and select a (mostly useless) theme, and it was a means to use an RRO theme without root, and it was the last major technical piece of the puzzle.

Substratum and Android Oreo

Substratum is the theming engine built on Sony's successor to RRO themes, OMS, and with each year, Substratum has gotten a step closer to bringing their amazing themes to unrooted phones. For instance, some Samsung devices can use Substratum themes without root right now thanks to how they implemented RRO themes for Samsung Themes. This year, Substratum saw the progress made in the Developer Preview, and now that Android Oreo is here, they're bringing system themes to unrooted phones, possibly as early as next week. Now, it's not going to be free, and it's not going to be perfect, as it still requires a desktop app to help initiate some elevated privileges shenanigans in order to apply and implement a Substratum theme.

But it is going to be unrooted theming. And that is huge.

Inverted Android

I'm going to beg for an official dark theme until Google gives it back to me, especially in apps like Google Play Music. At the same time, I accept how hard it is to theme things consistently when Android is so customizable and diverse as it is. Google's Engineering Team outlined as much in a Reddit AMA.

Android is still missing proper APIs to ensure theming is consistent across devices and apps. Without those APIs, there's no real way to make sure that what these themes are doing isn't breaking apps left and right. Even for Google's own dark theme in Developer Previews, they ran into trouble theming Android's core apps, and Google has to achieve consistency across millions of apps on thousands of different device models.

Update August 2017: With the Oreo release and more news on Substratum.

Ara Wagoner was a staff writer at Android Central. She themes phones and pokes YouTube Music with a stick. When she's not writing about cases, Chromebooks, or customization, she's wandering around Walt Disney World. If you see her without headphones, RUN. You can follow her on Twitter at @arawagco.

  • O5 dark theme is one of the reasons why I got it
  • It's been a big part of why my last 3 phones have been from them... It's far from perfect, bit at least they try.
  • One of my favorite things about the 3T and everything else from OnePlus. A dark themed near stock ROM is about as good as it gets IMO
  • That is one thing I miss form my windows phone days a dark theme not a massive fan of white so I hope my xz premium gets Android O
  • "For now, we just have to accept that there's a robust theme engine just sitting under the hood of Android… and no one can seem to steal the keys to it." Actually the keys have already been "stolen". Which is why if you root, all you need to access the theme engine is the Substratum app from the Play Store.
    In other words, Google simply needed to provide a user-facing theming app (non removable but updatable through the PlayStore) that would allow users and developers to tackle into the main areas of theming: notification stray, system settings and stock phone and messaging apps. Currently Substratum allows us to pick that or any other third parties precisely because, as you put it, it runs free and CAN break functionality if you theme some apps that aren't ready.
    But until Google makes that native themes app and rolls it out, developers won't be able to start developing for it. The Play Store is already filled with themes both for the Xperia Theme Engine as well as the LG Theme Engine. Because both the companies already did what Google refuses to do. Which is why I will continue to hate stock Android and refuse to use phones with it. I'd say Google will eventually catch on with all other Android OEMs and add in a theme engine to allow people to customise the appearance of their phones to their will. But it has become very clear lately that Google's motto is actually "Be together. Think the same".
  • The irony being that the best way to guarantee compatibility with most substratum layers on a stock ROM is by using a "stock" service like a Pixel, because that's what they're built for. Main reason I gave up on substratum (and root... Scary) is because of the amount of effort it takes to use... Every time you get the most minor system update or an app update you risk a layer breaking. Then you have to go through the ritual of bootloop, boot to TWRP, delete layer, install a different layer, bootloop and repeat til you find a new layer that works, if you even can. It becomes... Tiresome.
  • True.
    That's why Google should stop being plain lazy and make the Theme App themselves. That way they could limit the app to only the system UI (notification tray, settings UI etc), and blocking it from applying to third party apps.
  • But that's the problem: I want to be able to apply a system theme to apps. Or at least, I want to be able to apply them to Google's apps. I JUST WANT MY $%(&@#$%( DARK THEME BACK IN GOOGLE PLAY MUSIC DUARTE DAMMMMMIIIIIIIIIIIIIIIIIIIIIT! But yeah, Substratum and Layers just kinda got tedious and tiresome.
  • atleast now when some app updates and your theme crashes it, it will auto disable themes on that app. Mostly youtube updates that fast. But id take that chance of having a pure black theme, white just kills my eyes. Granted if theres update on the OS something might give. I really hate having Substratum layer crash the System UI (only happens on os update). Other than that its kinda perfect
  • I hate the white and orange of Google play music.
  • Substratum is amazing in Nougat. You no longer have to reboot when applying themes or go to TWRP to remove the themes. It doesn't require root to work. lot's of changes have been made to it and if an app misbehaves it just disables the layers itself. no reboots, give it a try
  • I''ve more or less given up on a theme engine or dark theme from Google... And given up on their phones because of it. No dark theme, no pixel. I miss KitKat... The launch of lollipop was a dark day. Or, rather the opposite, I suppose.
  • So... There is no way I can get the new Pixel 2 and use Nova or other third party apps and use dark themes within those apps?
  • Nova themes the system settings? And the notification shade? And Google's apps? Where's the setting! A launcher isn't the same as a system theme. You can get what you want, so can I.
  • I was simply asking. I have never rooted a phone etc. So my overall experience is limited.
  • Ah, maybe I was a little too defensive lol. My apologies. You can of course install a launcher and third party apps which will give you some flexibility, but without access to the system partition (root) your options are somewhat shallow... Much like a plaster on a gunshot wound. With system level access you can change pretty much anything... Although it's not a task to undertake lightly.
  • Thank you.
  • If Samsung can create a good theme engine, why is it so hard for Google to actually build one at the system level?
  • Because themes for the S8, for example, only have to work with the S8... A system theme engine in Android would have to theme every device. Viva la bootloop.
  • Samsung uses the Sony theme engine though. They just re-rooted the apps from the Play Store to their own Galaxy Store.
    The themes would always have to be designed on a per-OEM basis anyway. So Google just needs to make it work with stock Android. Themes for stock Android would apply to stock Android phones and OEM themes would apply to OEM phones.
  • Google takes years to adopt the features of Samsung (and others) phones. It will probably come at some point.
  • I just wanna know and wondering, after reading this, if somebody here know if it's possible to theme all the UX of Galaxy S8, to all pure Material, as much as possible I don't want to be bothered to do a tedious rooting process, boot unlock, and installing a AOSP ROM because I tend to **** it up all the time. I'm traumatized now to do that just to customize and have control on my phone. Also almost want all the added features of Samsung, and I see myself using them so I want them to be kept, I just wanna know if they could be all customized in system level, even Samsung's iconography on their apps to Google's Material Design, their fonts, the notification bar, the system navigation bar, maybe even the boot screen. That's almost all the things I need to be customized bc Samsung's design language is still almost Material Design but only ****** up. I'm asking this because I'm looking to buying a S8 maybe after some time (or an Note 8) (fun fact: switching from windows phones lol) and I still can't stand what Samsung is doing on their design, tho this year it's more of a hit than a miss, but still they totally owned the overall feeling of the UX that make it look like Google's, they should've have stayed on their past Material Design look back on S6-S7 days
  • "if they could be all customized in system level, even Samsung's iconography on their apps to Google's Material Design, their fonts, the notification bar, the system navigation bar, maybe even the boot screen" the Samsung theme engine allows you to customise:
    - The Notification tray
    - The system UI
    - Fonts.
    - Icons. You can NOT change the way the system UI is organized and you can not customise the bootscreen either. You can make the phone LOOK like stock Android (though why would you do that...God knows). And if you install a launcher (which I highly recommend), you can even get the Google panel on the left etc (There was the Google Now launcher but now I think it's the Pixel Launcher? Someone who likes it and therefore uses it, please correct me) Now, since you like stock Android so much and are coming from Windows Phone: you DO NOT HAVE a dark UI on stock Android. Samsung, LG and OnePlus are the only ones that give you the ability to do that.
    And Samsung is the only one who allows you for such deep customisation of the OS. So unless you buy a phone with stock Android, the only other phone that you can get that allows you to customise it to near stock is the S8 (though, again, the OnePlus offers actually a rather stock version of Android but with the added bonus of having a dark theme.)
  • Google Now Launcher still hasn't been sunsetted, and the Pixel Launcher still isn't available beyond Pixel phones. Pixel Launcher has, however, been modded out the wazoo and put out on XDA as Lawnchair, complete with Google Now pane. Nova Launcher and Action Launcher have added them as well.
  • Eh, I'm not waiting. Themes just slow your phone down.
  • System themes done right shouldn't use any more resources than the default theme.
  • The dark Google brings a system wide dark theme will be a most glorious day.
  • Google is completely retarded regarding this. They have literally 0 work to do to leave this in Android. But for some reason they always pull the dark theme. With AMOLED screens becoming the norm these days, they would really benefit from having a dark theme. But Google also thinks that people don't want to separate the volumes of ringtones and notifications either, even though the 2 largest manufacturers (Samsung and LG) allow for these volumes to be separated. I prefer Android to iOS and Windows Phone, but sometimes Google needs to pull their head out of their butt, and put useful features back into Android.
  • I look forward to being part of the dark side.....I can't wait for this to come!!!
  • What, Android does not have a Dark Theme till now??? Sorry I have a Windows Phone(Lumia) and probably looking to buy a new Android one...
  • I love Android but going from dark notification drawer to light is hard on my eyes.makes my phone look off in a way..
  • Why was Windows Phone able to give the choice of light or dark theme for so many years? When I switched from WP to Android, I assumed the light/dark theme choice was a given. So disappointed. One of the things I miss most from WP... Dark Theme. I use a black theme on my S8, but it is not consistent throughout.
    Not very tech savvy so genuinely curious as to why WP was able to do this.
  • Samsung's theme store is by far the best way to get black themes. Another reason I hate vanilla Android.
  • Thee worst thing about vanilla Android is the lack of a dark theme. I'm very tempted to get a OnePlus 5 even though I want water resistance, but I also need affordability.
  • OnePlus 5 would be a very reliable and fast phone.
  • I love the HTC themes, but I wish I could change the Settings menu from white to black, too. And I prefer deep black rather than the brain matter gray Quick Settings.
  • I find it ironic that if I turn the brightness up on my S6 Edge, it warns me about too much blue light. THERE WOULDN'T BE TOO MUCH BLUE LIGHT IF THE DAMN SCREEN WAS WHITE TEXT ON A BLACK BACKGROUND!!! I had to recently upgrade from an S4 to an S6 Edge, and hardware differences aside, it is much harder to use, mainly due to the skinny font on a bright white background. On my old Treo, I could change the background and type colors individually. Why this can't be done on Android, I don't know.
  • My favorite thing about using Substratum is that I can get inky black notifications as well as an inky black Settings page. If O lets me do that without root, I'm all for it. But it would be even better if O let me do that without having to add Substratum & themes. I mean, I like Substratum and all, but Substratum updates can sometimes make you wanna rethink all this theming malarkey once and for all.
  • I've never seen the value in this, personally. But I guess I don't look/stare at my phone enough, and other people don't use my device because... privacy.
  • It's not about staring long enough at your phone, it's about molding your phone to be like you want it to be.
  • this time disappointed with this android Oreo things , i m not sure weather its going to work on my phone or not https://www.programmingshots.com/android-oreo/ beside having everything in my phone not sure if oreo is going to support but i like its dark theme o5.
  • HURRY UP, dark beautifulness!!!