Demo of Rootless Substratum Theme Engine on Android Oreo, and Addressing Misconceptions
Yesterday, we published an exclusive article detailing something that many Android enthusiasts have been longing for: full, system-wide theme support without root. This theme support comes to us courtesy of Team Substratum, but yesterday, the team was not yet ready to show off their work. That has changed, however, as Nicholas Chum has put together a video for XDA to show you what applying theme overlays will be like on Android Oreo using the new rootless Substratum theme engine.
Demo of Rootless Substratum Theme Engine on Android Oreo
I recommend that you watch this short, 2:30 video demonstrating the theme manager app working without root on Android Oreo 8.0 so that you can actually see how fluid it is, but here are the key points that you should take away from this video:
- In the video, his phone is untethered from his computer. This is possible after he ran a one-click desktop tool (that Team Substratum made) to enable Substratum’s elevated privileges. He didn’t need to manually enter any ADB commands.
- Once enabled, the Substratum application can easily install, enable, disable, or uninstall Substratum themes – all silently in the background. Changes are immediate.
- He shows off both framework, System UI, and an individual application overlay. He shows off theming the navigation bar, notifications, Settings, and calculator app.
- His phone is unrooted, as shown by using the Root Checker app.
I hope this demonstration helps show just how easy and seamless theming your Android Oreo device will be. However, many users were confused about some parts of rootless Substratum theming for Android 8.0 after reading my article yesterday. Although all of the below questions were answered in that article, I realize that it contained a lot of technical information about the lead up to full theme support on Android 8.0 and how it works, so these points might have been missed. Thus, let’s clear up some of the common misconceptions.
Frequently Asked Questions
Substratum and Android Oreo
- This is just a third-party app/framework/modification/hack, this has nothing to officially do with Google or Android Oreo!
- While it is true that there is no theme management app provided by Google on Android 8.0, this does not mean that this is a “hack” or “mod.” Nothing is being modified here, and there is no hacks involved to get this working. Android 8.0 natively supports OMS themes which is what Substratum is based on. Substratum is using Google’s official, built-in commands to change themes, and these commands go through officially provided APIs to change themes. The only thing that is lacking in Google’s official Android release is a theme manager app, which is what Substratum will be providing.
- So why isn’t Google providing a theme manager?
- We can’t speak for Google’s motivations. OMS is clearly at a point where it should be usable for themes, but perhaps Google has another vision in mind for OMS since it can be used for more than just theming. As evidenced by a commit, perhaps Google is introducing OMS support as a way to make it easier for OEMs to support multiple, similar devices.
- Will this impact my device’s performance? Will it be a buggy mess?
- If there is any performance impact, it will be very minimal. OMS has been tested and improved upon by Sony Mobile engineers, and has also been tried and tested by Google. The theme framework that is being used by Substratum is not the work of hobbyist developers hacking together an API, but the work of professional Android engineers from Sony and Google.
- Will this break SafetyNet/Android Pay?
- No. OMS/Substratum does not modify any files.
- Is this safe?
- Yes, it is safe.
- What phones will get Android Oreo?
- Don’t ask us! Most companies (apart from HTC and OnePlus) haven’t announced which devices they will bring Android 8.0 support for. As always, though, many devices will likely receive unofficial ports of Android Oreo (like the Xiaomi Mi 3 and Mi 4), so stay tuned to our forums with the XDA Labs application!
- Will OEMs be able to block this feature?
- Yes. OMS support may not come to your device if the manufacturer so chooses, but you would be surprised by what kinds of devices support some form of OMS. However, if the OMS implementation in other devices differs heavily from the one in AOSP, then there’s a chance that Substratum will be buggy only on those devices. Unfortunately, that’s the consequence of working blind without the source code that these manufacturers usually don’t provide!
- Will this work on non-Google devices such as OnePlus or Motorola phones?
- OnePlus and Motorola phones in particular should be able to use this if or when those devices receive the Android 8.0 update. This is not a guarantee by any means, but an observation based on the fact that these manufacturers tend to not stray too far from AOSP.
- What devices will this work for?
- Why do I need a desktop tool?
- Normally, to run the commands needed to change themes on Android 8.0 you need to be in an ADB shell. That means you would either need to be plugged in to the computer at all time (making this a hassle). However, the Substratum team has come up with a trick that enables the Substratum app to run those same commands without you needing to be tethered to your computer to use ADB. The desktop tool is what enables this trick, and it grants Substratum elevated privileges akin to an ADB shell.
- What do you mean by “elevated privileges?”
- Android has a permission system in place that prevents applications from using services and methods that might potentially be dangerous for privacy or security. However, there are many things one can do through the Android Debug Bridge (ADB), a tool intended for developers to debug and test various aspects of their apps or the system. Substratum essentially runs at the same privilege level as ADB, which is a step below root, to allow it to run certain commands that it otherwise could not do.
- What commands is it running?
- The commands are listed here.
- The barrier of entry is too high! It’s going to be too difficult for me!
- The desktop tool, as mentioned previously, will be a one-click tool. Just download the Substratum app on your phone, download the tool on your PC/laptop, run the tool, and you’re good to go!
- Will I have to install an app through ADB? How will I get Substratum on my device?
- Rootless Substratum will be available on the Google Play Store. Its companion desktop tool will be available for download online, likely on our forums. It won’t be hard to find, though, and the app will direct you to it.
- Will I have to learn how to use ADB?
- No. The desktop tool will handle everything for you. Though I highly recommend you learn about ADB regardless, considering there are so many cool things you can do with it by following our tutorials.
- Will I have to re-enable my themes every time I reboot?
- Will I have to plug my phone in and run the desktop tool every time I boot?
- Not unless you need to change a theme! Themes that you already enabled will remain enabled after a reboot, but if you want to add, remove, or enable/disable themes you’ll have to rerun the desktop tool.
- Why and when do I have to run the desktop tool after rebooting?
- When you reboot, the process that Substratum uses to elevate its privileges is killed. So if you decide to modify themes in the future, you will need to run the tool again. Most people pick a theme or two and stick with it, so this shouldn’t be a cause for headache for most users.
- Will this work on Mac/Linux?
- Can I get a dark theme with this?
- Will themes be free for this?
- That depends on the theme. Substratum is just a framework, it doesn’t provide any themes on its own. Search for “Substratum” on the Play Store and you’ll see a healthy mix of free and paid themes.
- Will I be able to use any theme from the Play Store?
- As long as it says it is compatible with Substratum, then yes.
- The theme I found says it requires root access. But isn’t this rootless?
- The theme developer just needs to update their Play Store description.
- Will I be able to change fonts or emojis?
- Yes and no. No in the fact that you can’t change fonts/emojis on a system-wide basis, but yes in that you can do so on an app-by-app basis. For example, here’s a Whatsapp emoji changer that should work.
- Why can’t I change fonts, emojis, or some other things?
- While you can theme any system and third-party applications, not everything that a rooted Substratum user can do is available for the rootless version. For example, changing the font with Substratum requires the font file located in the system partition to actually be modified, which requires root access.
- Do I really need to have Substratum to theme?
- Technically, no, as support for OMS is built-in to Android Oreo and the commands that Substratum uses can be used by anyone with ADB, but the process will be far more difficult without it.
- How can I install themes manually without Substratum?
- You will need the overlay APK file(s), a working ADB setup, and familiarity with the command line. The commands that you need are listed here. Note that the themes available in the Play Store are not the actual overlay APKs that you need. Google does not allow apps on the Play Store to contain other apps. Instead, Substratum compiles overlay APK files on the device itself then installs them using the overlay commands listed previously.
- How much will this cost?
- Why do I have to pay for Substratum?
- To support the development effort of the team that labored over countless hours to bring this awesome theme manager to you.
- Will I have to pay for Substratum if I’m rooted or using a custom ROM?
- No. Substratum for rooted/custom ROM users will remain free, as it always has been.
- When will it be released?
Any other questions? Leave a comment below and myself or hopefully one of the Substratum developers can answer!