Those Android users fortunate enough to have a device that supports Android Marshmallow may be familiar with the term RRO Layers. For those who aren’t, the TL;DR version is that it’s a theme engine developed by Sony that was added natively to Android Marshmallow. Yes, every stock Marshmallow ROM should support RRO, unless the manufacturer ripped it out or modified it.
The slightly more technical explanation is that RRO stands for Runtime Resource Overlay, and it is a system developed by Sony for the Experia line of devices to allow Google-blessed theming of the android UI – without needing to modify the actual application being themed.
This whole process is somewhat complex and is *really* intended more for device manufacturers and vendors to customize their ROMs without having to hack the software to bits. But, like anything on Android, where there’s a way there is almost certainly going to be someone with the will – and this is no exception.
Enter a very dedicated developer called Syko Pompous. He started by creating the first set of applications to manage RRO directly on a device via a system dubbed “Layers”. Layers were effectively just a collection of resource replacements created for a specific set of applications, usually pulled from a specific device. Each would be individually edited, and then packaged in an apk format that the Layers Manager application could recognize, unpack, and install.
While this system worked very well, it had some limitations, namely that if the replacement resources in a Layer did not match up with the ROM they were being overlaid onto, then things would have a tendency to look weird, be unreadable, etc. Additionally, the process of applying layers is technically insecure, as it does require some writing to the /system partition in order to do it’s thing.
In order to address this issue, Syko and Team began work on a replacement for the Layers Manager application. They called this new application Substratum, and it had been in Beta since mid-June of this year. The benefits of Substratum are that instead of using static resource overlays, the new theme package can be applied dynamically to any Marshmallow+ ROM. Additionally, instead of having the potential for multiple competing Overlays with conflicting or mismatched elements, all selected theme packages are “stitched” together and compiled locally on the device – meaning every overlay is built specifically for your current ROM.
And for custom ROM developers – if you install Substratum as a system application with your ROM, there is no need for users to have root access in order to apply themes!
So, if you’re running a Marshmallow ROM and want a new look on your device, head on over to the Play Store and , or check out the XDA-developers Thread for more information.