Despite Android offering plenty of customization options, Google has not added themes support to it. Third-party developers, however, managed to find a workaround to this limitation and developed the Substratum theme engine for Android Oreo.
Unlike other previous theme engines for the OS, Substratum does not require root access and works across a wide variety of devices. However, a comment left by a Google in the Google issue tracker points to Substratum days being limited.
Substratum makes use of Overlay Manager Service for applying system-wide themes but the Googler in its comment says that the OMS is intended only for device OEMs and not for generic theming purposes.
Below is the full comment from the Googler in the Google Issue Tracker:
We appreciate the feedback and would like to share some background information and clarifications.
The Overlay Manager Service (OMS) is intended for device manufacturer’s use. OMS, in its current form, is not designed to be a generic theming feature — more design considerations will need to be put into it in order to uphold Android platform’s security and product standards for users. Accordingly, OMS has never been advocated as a public developer feature.
Earlier this year a security patch (CVE-2017-13263) was released to OEMs for Android Oreo devices. The patch restricts the installation of overlays to pre-installed or system-signed apps, in response to a legitimate security issue raised in Android Oreo. Android P also includes this critical security patch, so it restricts overlays in the same way as does Android Oreo.
We understand that custom theming is an important capability for some users. We will take your feedback into consideration with any future work in this area.
Essentially, starting from Android P, Google will prevent users from running ADB commands related to OMS by putting in checks which prevent non-system overlays from being installed. While Substratum themes worked without root access, they’d easily break if there was a conflict with another system overlay. So, they did not really offer an ideal user experience.
With Android P not going to bring a system-wide theme manager, users will have to keep themselves content with the ability to switch to a dark theme in Google launcher which Google plans on adding support for soon.