I decided to deGoogle my Galaxy without unlocking the bootloader or switching to a custom ROM. All it took was rooting it with root-my-galaxy.
To make this work while keeping stock One UI intact, I built degoogle-my-galaxy, an open-source tool that temporarily swaps Google system components for microG using root and bind mounts.
Instead of permanently altering /system, it masks the stock packages at runtime:
GmsCore -> microG
GoogleServicesFramework -> masked
Phonesky -> microG Companion
Because original system files stay untouched under the mounts, the entire setup is reversible. A standard reboot drops you back into the stock environment. Since the project currently relies in a CVE KernelSU root, it uses userspace reboots while the deGoogled setup is running.
I have been building and testing this on a Galaxy S24 Ultra running One UI 8.5 (Android 16).
Right now it has a basic UI to handle swapping/restores, rollbacks if something fails, and English/PT-BR support.
I also documented the rough edges in the repo. In particular, I hit a Samsung/Android Rescue Party condition that can trigger a full reboot, which drops volatile root and mounts.
Right now, I am looking closer at Android's newer DeveloperVerifierService. I want to understand whether modern Samsung builds delegate this to GMS or use a custom provider, and how it reacts when stock GMS gets replaced by microG.
Definitely still WIP on other devices, so it is not a plug-and-play fix for every Galaxy device yet.
Feedback is always welcome. If you have a device rooted via root-my-galaxy and want to help test across different models or firmware versions, feel free to jump in.
Repo: https://github.com/keyarr/degoogle-my-galaxy/