Shizuku

Many powerful Android utilities need system-level access — but full root is often too risky, too invasive, or simply unavailable. Shizuku by RikkaW is the elegant middle ground: a system service that runs a privileged app_process and lets apps call system APIs through a controlled Binder IPC layer — no permanent root grants required. Available via Wireless Debugging on Android 11+ with zero root needed, or via root for persistent always-on operation.

Core Capabilities

Privileged system API access for any app — controlled, scoped, and revocable. Without permanently granting root.

No Root Required — Wireless Debugging

On Android 11 and above, Shizuku starts entirely on-device via Wireless Debugging — no computer, no ADB cable, no root needed. Android 13+ even supports auto-start when connected to a trusted WLAN, making Shizuku persistent without root access.

Binder IPC Middleware

Shizuku starts a app_process Java process with elevated (ADB or root) identity. Apps send API requests to the Shizuku service via Binder IPC — Shizuku relays them to the system server with elevated privilege and returns the result. Apps interact with system APIs as if they called them directly.

Scoped, Per-App Permission

Apps must explicitly request Shizuku permission — a dialog appears for each app, just like a regular Android permission. Users can grant or revoke Shizuku access per-app at any time. This is fundamentally safer than root: Shizuku-enabled apps cannot run arbitrary shell commands.

rish — Interactive Shell

Shizuku ships with rish — an interactive shell that runs with ADB or root privileges inside any terminal app. Run rish from Termux to get a fully privileged shell without needing a separate ADB connection or root access configured in the terminal.

Ecosystem of Shizuku Apps

Hundreds of apps use the Shizuku API: Ice Box (app freezer), Canta (debloater), Hail (app hibernation), aShell (terminal), Swift Backup, App Manager, HideMyApplist, and many more — all gaining system-level power without requiring root themselves.

Developer API

Shizuku provides a well-documented public API for developers. Add the Shizuku API dependency, declare the ShizukuProvider in your manifest, request permission at runtime, and call system APIs with elevated identity through ShizukuBinderWrapper — full documentation at shizuku.rikka.app.

How Shizuku Works

Normally, when an Android app calls a system API like PackageManager#getInstalledPackages(), the Android framework handles the Binder IPC to the system server on the app's behalf. The system server sees the app's UID and checks if it has the necessary permissions.

Shizuku starts a separate Java process using Android's app_process command — the same mechanism Android uses to start the system server itself. This process runs with ADB identity (which has far more permissions than regular apps) or full root identity. It holds Binder references to system services directly.

When an app with Shizuku permission calls a system API, it goes through ShizukuBinderWrapper — which forwards the Binder transaction to the Shizuku service process. The service relays it to the real system server with the Shizuku process's elevated identity. The result is returned to the app transparently. The app gets system API access; no full root is exposed; the user controls which apps can do this via the permission dialog.

How to Start Shizuku

Android 11+ (No Root)
  1. Enable Developer Options
  2. Enable Wireless Debugging
  3. Open Shizuku → tap Start via Wireless Debugging
  4. Approve the pairing dialog
No computer needed
Android 10 and Below (ADB)
  1. Connect device to PC via USB
  2. Run the ADB command shown in Shizuku
  3. Shizuku starts immediately
  4. Must repeat after each reboot
Requires PC once per boot
Root (Persistent)
  1. Install Shizuku
  2. Open Shizuku → tap Start via Root
  3. Grant root permission
  4. Auto-starts on every boot
Always-on, no reboot needed

Frequently Asked Questions

Shizuku is a system service app by RikkaW that starts an elevated-privilege Java process using app_process. It acts as a Binder IPC middleware — apps that support the Shizuku API can call system-level Android APIs through Shizuku's service without needing permanent root access themselves.

No. Shizuku works without root on Android 11 and above via Wireless Debugging. Users can start the Shizuku service entirely on-device without a computer. On Android 10 and below, an ADB command from a PC is needed once per boot. If root is available, Shizuku can be started with root for persistent, always-on operation.

Root grants an app full, unrestricted system access. Shizuku provides scoped, controlled system API access — apps must explicitly request Shizuku permission, and users can grant or revoke it per-app. This is safer: an app using Shizuku can only call the specific APIs it needs, not execute arbitrary root commands.

Many popular tools use Shizuku: Ice Box (app freezer without root), Hail (app hibernation), Canta (debloater), aShell (ADB shell in app), HideMyApplist, Swift Backup, App Manager, and many developer-focused tools that need system API access without requiring full root.

Go to Settings → Developer Options → Wireless Debugging and enable it. Open Shizuku, tap Start via Wireless Debugging, and follow the pairing prompt. On Android 13+, Shizuku can auto-start when connected to a trusted Wi-Fi network — no repeated manual action needed.

Module Info

  • Version v13.6.0
  • Module By
    RikkaW
  • Contributors RikkaW, haruue, ryuunoakaihitomi, vvb2060, tclement0922
  • Source Code View Repository
  • Tags
    #Shizuku #ADB #System API #RikkaW #Wireless Debugging #Root Alternative #Developer Tool
  • Requirement Non-Root
  • Latest Update