An addon project to use Substratum on stock Android 8.0 to 8.1 without root. This system utilizes ADB (Android Debug Bridge) on device and simulates connecting and keeping your device connected to the computer until the next reboot.
In this mode, we are able to create a brand new framework, called the Andromeda Framework, which allows third-party applications to use the Andromeda System to execute ADB-only shell commands through their app. This means that apps can extend their sandbox within Android and grant itself permissions, clear data of apps and many more things that were previously only available when the phone is connected to the computer.
Have you seen the dialog to ask for a specific permission? We created our own to funnel all commands through a Permission Gating system so that apps cannot just execute elevated commands without user interaction.
This project consisted of:
- Windows Desktop Client
- Linux Script
- Mac Desktop Client
These desktop scripts were used to execute our ADB on device and keep it persisting after the user removes their device from the computer.
Media coverage: XDA Portal and Forums
TK is back to show us how to get the Substratum Theme engine running on Android O thanks to Substratum & Andromeda - and no root access required!
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!
Framework permissions request dialog
Android Marshmallow permissions request dialogs: we used the exact system to allow third-party Andromeda framework API-using apps a special permission which grants these apps the same functionality as if you used ADB directly on the device.
Server status
As we are using a workaround that actually executes a desktop-grade ADB on the device, we have a way to display whether the ADB instance is active.
Extensive list of APIs used
- Socket communication through IPC binder calls, communicating between the Service and the user transaction calls.
- Background socket opening and retention upon device disconnection
- Background execution Andromeda binary
- ADB-on-device
- Permissions framework creation
- Custom permission guard that prevents any application from executing the code through Andromeda Framework
- lib-andromeda - open sourced code that allowed users to use the Andromeda Framework in their third party apps
- "uses-feature" manifest block that whitelists an app to use the library
- Windows, Mac and Linux native applications that executed ADB-on-device
- Background services that ping from the low-level execution of ADB mobile to tell whether the server is still alive or not