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

Step 2: Enable Developer Mode

  1. Settings β†’ About phone β†’ Tap “MIUI version” / “Build number” 7 times
  2. Go back to Settings β†’ Additional settings β†’ Developer options

Step 3: Enable Wireless Debugging

  1. In Developer options β†’ βœ… Wireless debugging
  2. Tap “Pair device with pairing code” β†’ note code and port
  3. In Shizuku: “Start” β†’ “Pairing” β†’ enter code and port
  4. 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 ShizukuWith Shizuku
Manual install confirmationAutomatic installation
Doesn’t work with split-APKSupports all formats
Requires “Unknown sources”Installs via system PM

Setup

  1. Install Obtainium from F-Droid
  2. Open Obtainium β†’ Settings β†’ Installation method
  3. Select Shizuku (auto-detected if service is running)
  4. Add apps to track:
    • Enter repo URL: https://github.com/user/repo
    • Or browse catalog
  5. 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 ShizukuWith Shizuku
Manual confirmation for each APKBatch install without confirmation
Doesn’t work with some formatsSupports all split formats
Installation errorsReliable install via system PM

Setup

  1. Install SAI from F-Droid
  2. Open SAI β†’ Settings β†’ Installation method
  3. Select Shizuku (or “Session API + Shizuku” for max compatibility)
  4. Install app:
    • Tap “Install APK” β†’ select .xapk, .apks, .apk file
    • SAI unpacks β†’ installs via Shizuku β†’ done

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:

  1. Install Tasker
  2. Create task β†’ “Run Shell” β†’ command above
  3. 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

ActionRisk
Install/uninstall appMedium (requires user confirmation in Obtainium/SAI)
Change permissionsMedium (only for own package or with explicit consent)
Read logsLow (only own logs)
Access filesLow (only with explicit permission)

How to minimize risks

  1. Install Shizuku only from F-Droid or GitHub
  2. Grant Shizuku access only to trusted apps (Obtainium, SAI, AppManager)
  3. Stop Shizuku when not in use
  4. Don’t enable wireless debugging on public networks