Initially developed as a successor to the former product, Layers Manager, the Substratum Theme Engine (available on Play Store) has been widely used amongst Android enthusiasts running Android 6.0 to Android 10.0.
Mainly geared towards customizing system themes through Sony’s Overlay Manager Service, as well as the deprecated system - Runtime Resource Overlay.
Media coverage: XDA Portal and Forums
Substratum is one of the hottest theme engines for your rooted Android device. This video is an introduction to Substratum and goes over some of the cool stuff that is made possible by this awesome app.
Media coverage: Android Police
Just recently the developers of the popular Substratum theme engine have found a way to enable custom theming on any unrooted Android Oreo device. This video shows you how to get it working on your phone. Enjoy!
Themes list
Our community created over 10,000 different themes downloadable from the Google Play Store. Themers were able to create and change any resource in any application which gave them the freedom to create their own package of resources for users to purchase and share.
Mix and Match
You can also enable multiple themes at the same time. Did you want a specific app to be blue but another app to be green? You are able to do this by enabling compiled overlays from one theme and compiling a new overlay from another.
Customizing a theme
Not only can you create a theme that the themer intended, for example, pink accents, but you can customize the theme even further by selecting your own colours or icon styles individually on a per-app basis.
Included wallpapers
Themers can also include their own wallpaper gallery from a cloud source, which updates independently from the theme package itself. Meaning, when a user downloads a theme, themers can add/remove wallpapers whenever they want - up to a 1000 photos if needed!
Compilation of themes
We had our own mobile version of Android Assets Packaging Tool (AAPT) which is commonly used by Android Studio to create and compile APKs on the PC, which compiles APKs directly on the devices. We created our own overlay APK files directly on the device which gets installed onto the device afterwards
Overlay management system
As there can be hundreds of overlays enabled at the same time, we created a way to organize your compiled and installed overlays on the device, whether it is to change the priority using a drag-and-drop system, or to disable a problematic overlay for a newly updated Gmail app!
Theme overlay reflects immediately
When an overlay gets enabled/disabled, changes to the target application getting overlaid is reflected immediately through modifications done on AOSP (Android 7 to 8) and have already been merged in Android 9+. We had our own Substratum Service which directly interfaces with the Overlay Manager Service that enables and disables overlays in the background without causing strain on any UI thread.
Contextual profiles and automatically updating themes
You know that automatic night/day theme change on the latest phones? We created this back before any other theming system did. You can have multiple profiles with different overlays enabled/disabled, or you can have a specific theme enabled at night and a different theme enabled during the day.
Extensive list of APIs used
- Java Reflection
- Broadcast Receivers (Implicit and Explicit)
- Services
- IPC Binder Protocols
- Framework modifications on AOSP
- Creating our own System Service
- Signature verification and authentication
- Package Manager / Installer coding
- Creating system-certified locations for asset changes such as Boot Animations, Fonts and Sounds, without replacing the system's own resources.
- Creating a recovery procedure at boot up to disable all overlays.
- Floating Window (System Windows) for FloatUI
- Advanced use of RecyclerViews, Adapters and Models
- Low-level system configuration change adaptability at unaccountable bit changes.
- AssetManager Dynamic Information Withdrawal
- On-device APK compilation, signing and installation
- Online databasing for Showcase, Wallpaper Repositories per theme
- Anti-Piracy Algorithms avoiding illegally downloaded/modified theme binaries
- Root/No-root mode for system modifications
- Dynamic version checking for installed overlays
- Adaptability and themer-controlled "app" bundles for theme packages loaded by the app
- Allows the themer to specify blacklisted packages
- Allows the themer to include a welcome package
- Allows the verification checks for the theme to run independently from Substratum