Shizuku
Shizuku lets ordinary apps use higher-privilege system APIs (normally reserved for ADB or root) with your explicit per-app permission — a middle ground between a completely stock device and full root access.
1Install Shizuku
2Start Shizuku (Android 11+, wireless debugging method)
Enable Developer Options and Wireless debugging, then pair and start Shizuku directly from its own app -- no computer required on Android 11 and up.
3Start Shizuku via ADB (older Android versions)
On Android 10 and below, Shizuku needs to be started once per boot from a computer over a USB ADB connection.
adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh4Grant Shizuku access to apps that support it
Apps that integrate with Shizuku (several system-tweak and automation apps) will show a permission request the same way they'd request camera or storage access -- approve it there.
Shizuku's access resets on every reboot unless you have root or use a Shizuku-specific auto-start method, since it isn't a persistent system-level change like actual rooting.