Shizuku is a service that gives apps access to Android system APIs without root. It works via ADB (Android Debug Bridge), using shell privileges.
Why you need it:
- Install apps without confirmation (Obtainium, SAI)
- Freeze/unfreeze apps (Ice Box, Hail)
- Manage permissions (AppOps, Permission Pilot)
- Change system settings (DarQ, Naptime)
- Remove system apps (Canta, AppManager)
π‘ Shizuku doesn’t grant full root - only limited access to system functions. Safer than root, but more powerful than a regular app.
π¦ Installation and setup
Step 1: Download Shizuku
- F-Droid (recommended)
- GitHub Releases
Step 2: Enable Developer Mode
- Settings β About phone β Tap “MIUI version” / “Build number” 7 times
- Go back to Settings β Additional settings β Developer options
Step 3: Enable Wireless Debugging
- In Developer options β β Wireless debugging
- Tap “Pair device with pairing code” β note code and port
- In Shizuku: “Start” β “Pairing” β enter code and port
- After pairing: “Start” β service will launch
Check status:
Status: Running
Version: 13.x.x
β οΈ After phone reboot, Shizuku must be restarted manually (process doesn’t persist).
π§ Example 1: Obtainium + Shizuku
Obtainium - app update manager directly from sources (GitHub, GitLab, F-Droid).
Why Shizuku for Obtainium
| Without Shizuku | With Shizuku |
|---|---|
| Manual install confirmation | Automatic installation |
| Doesn’t work with split-APK | Supports all formats |
| Requires “Unknown sources” | Installs via system PM |
Setup
- Install Obtainium from F-Droid
- Open Obtainium β Settings β Installation method
- Select Shizuku (auto-detected if service is running)
- Add apps to track:
- Enter repo URL:
https://github.com/user/repo - Or browse catalog
- Enter repo URL:
- On update: Obtainium downloads β installs via Shizuku β no confirmation needed
Example app entry:
Source: GitHub
URL: https://github.com/RikkaApps/Shizuku
Filter: Releases (stable)
Format: APK
π§ Example 2: SAI + Shizuku
SAI (Split APKs Installer) - installer for split-APK, XAPK, APKS (formats not supported by default installer).
Why Shizuku for SAI
| Without Shizuku | With Shizuku |
|---|---|
| Manual confirmation for each APK | Batch install without confirmation |
| Doesn’t work with some formats | Supports all split formats |
| Installation errors | Reliable install via system PM |
Setup
- Install SAI from F-Droid
- Open SAI β Settings β Installation method
- Select Shizuku (or “Session API + Shizuku” for max compatibility)
- Install app:
- Tap “Install APK” β select
.xapk,.apks,.apkfile - SAI unpacks β installs via Shizuku β done
- Tap “Install APK” β select
Supported formats:
.apk- standard package.xapk- APK + OBB data.apks/.apk-m- split-APK (multiple files for different architectures)
π Auto-start Shizuku (optional)
After reboot, Shizuku stops. Auto-start options:
Option 1: Tasker + ADB (no root)
# Script for Tasker: start-shizuku.sh
adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
Setup:
- Install Tasker
- Create task β “Run Shell” β command above
- Trigger: “Device Boot”
Option 2: KernelSU / Magisk (with root)
If rooted - install Shizuku as system app:
adb push shizuku.apk /data/local/tmp/
adb shell su -c "pm install /data/local/tmp/shizuku.apk"
adb shell su -c "sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh"
Benefit: Shizuku starts automatically on boot.
π Diagnostics
# Check if Shizuku is running
adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh --check
# View Shizuku logs
adb logcat | grep -i shizuku
# Check app access to Shizuku
adb shell dumpsys package moe.shizuku.privileged.api | grep -A5 "Granted permissions"
β οΈ Common issues
# Shizuku won't start
β Toggle wireless debugging: off β on
β Reboot phone and restart Shizuku
β Check if antivirus/optimizer is blocking it
# Obtainium/SAI don't detect Shizuku
β Ensure service is running (status "Running" in app)
β Restart Shizuku and target app
β Check permissions: Settings β Apps β [App] β Permissions
# "Package parser error" on install
β File corrupted - re-download
β Unsupported format - check SAI version
β Not enough space - clear cache
# Shizuku stops by itself
β Settings β Battery β [Shizuku] β β
No restrictions
β Settings β Apps β [Shizuku] β β
Auto-start
π‘ Security
What can an app do with Shizuku access
| Action | Risk |
|---|---|
| Install/uninstall app | Medium (requires user confirmation in Obtainium/SAI) |
| Change permissions | Medium (only for own package or with explicit consent) |
| Read logs | Low (only own logs) |
| Access files | Low (only with explicit permission) |
How to minimize risks
- Install Shizuku only from F-Droid or GitHub
- Grant Shizuku access only to trusted apps (Obtainium, SAI, AppManager)
- Stop Shizuku when not in use
- Don’t enable wireless debugging on public networks
Links
- π§ Shizuku on F-Droid
- π¦ Obtainium on F-Droid
- π± SAI on F-Droid
- π Shizuku Documentation
- π Android ADB Docs