What Is Shizuku ADB?
Shizuku uses ADB (Android Debug Bridge) — Android's built-in developer tool — to start a privileged background service on your phone. Once running, apps that support the Shizuku API can perform system-level actions like removing bloatware, changing secure settings, and managing permissions — all without root.
You only need to run ADB commands once per boot on non-rooted devices. After the service starts, apps interact with Shizuku directly — your PC doesn't need to stay connected.
Setting Up ADB on Your PC
1. Enable Developer Options
On your Android phone, go to Settings → About phone and tap Build number seven times until you see "You are now a developer."
2. Enable USB Debugging
Go to Settings → System → Developer options and toggle USB debugging on.
3. Connect Your Phone and Verify
Plug in via USB. When prompted on your phone with "Allow USB debugging?", check "Always allow from this computer" and tap OK. Then verify:
Your device's serial number should appear as "device". If it shows "unauthorized", check your phone screen for a debugging prompt.
Starting Shizuku via ADB
This is the primary command. Run it once after each reboot to activate Shizuku on non-rooted devices:
Open the Shizuku app — it should show the service as active (green indicator). If it doesn't respond:
Wireless ADB Setup (Android 11+)
On Android 11 and above, you can connect to ADB over Wi-Fi — no USB cable required.
Step 1: Enable Wireless Debugging
In Developer Options, find Wireless debugging and toggle it on. Ensure your phone and PC are on the same Wi-Fi network.
Step 2: Pair Your Device
Tap Wireless debugging → Pair device with pairing code. A 6-digit code and IP:port appear. On your PC:
# Enter the 6-digit code when prompted
Step 3: Connect
After pairing, note the connection IP:port shown in the Wireless debugging main screen (different from the pairing port), then:
Verify with adb devices, then run the Shizuku start command above.
Core ADB Command Cheat Sheet
| Command | Description |
|---|---|
| adb devices | List all connected devices. Use to confirm your phone is recognized. |
| adb kill-server | Stop the ADB daemon on your PC. Useful to reset stuck connections. |
| adb start-server | Restart the ADB daemon after killing it. |
| adb reboot | Reboot the connected Android device. |
| adb shell | Open an interactive ADB shell session on the device. |
| adb pair IP:PORT | Pair your PC with the device for wireless ADB (one-time per device). |
| adb connect IP:PORT | Connect to the device over Wi-Fi after pairing. |
| adb disconnect | Disconnect all wireless ADB connections. |
App Management Commands
| Command | Description |
|---|---|
| adb shell pm list packages | List all installed packages on the device. |
| adb shell pm list packages -3 | List only third-party (non-system) installed apps. |
| adb shell pm list packages | grep camera | Search for packages matching a keyword. |
| adb shell pm uninstall --user 0 com.example.app | Uninstall/disable a system app for the current user. Works without root when Shizuku is running. |
| adb shell pm enable com.example.app | Re-enable a previously disabled app. |
| adb shell pm grant com.example.app android.permission.NAME | Grant a specific permission to an app. |
| adb shell pm revoke com.example.app android.permission.NAME | Revoke a specific permission from an app. |
| adb shell am start -n com.example/.MainActivity | Launch an activity by component name. |
System & Settings Commands
| Command | Description |
|---|---|
| adb shell settings get global setting_name | Read a global system setting value. |
| adb shell settings put secure setting_name value | Write a secure setting (requires ADB/Shizuku level access). |
| adb shell dumpsys battery | Get battery information and current status. |
| adb shell wm size | Check or change the screen resolution. |
| adb shell wm density | Check or change the screen DPI density. |
| adb shell getprop ro.build.version.release | Get the Android version of the device. |
| adb shell input text "hello" | Type text into the currently focused input field. |
| adb shell screencap /sdcard/screenshot.png | Take a screenshot and save it to the device. |
Termux Integration (No PC Needed)
Advanced users can run Shizuku entirely from Termux — no PC required. Install the termux-shizuku-tools package from the GitHub releases page:
| Termux Command | Description |
|---|---|
| shizuku info | Check if Shizuku is running and show version info. |
| shizuku shell | Open an interactive shell with ADB/shell user privileges. |
| shizuku exec "pm list packages" | Execute a single command via Shizuku. |
| shizuku open | Launch the Shizuku app GUI. |
| shizuku stop | Shut down the Shizuku service. |
termux-setup-storage first to grant storage access. Then move the rish binary to $PREFIX/bin for easy access from anywhere in Termux.Troubleshooting Common Issues
Device shows "unauthorized" in adb devices
Check your phone screen — there should be a dialog asking to allow USB debugging. Tap "Always allow" and confirm. If no dialog appears, go to Developer Options → Revoke USB debugging authorizations, reconnect, and try again.
Wireless pairing keeps failing
- Toggle Wireless Debugging off and back on, then retry.
- Disable any VPN, private DNS, or firewall that could block local connections.
- Ensure phone and PC are on the exact same Wi-Fi network (not a guest or IoT network).
- Disable battery optimization for Shizuku so the service isn't killed.
Shizuku stops working after a while
Your phone's battery management is killing the Shizuku background service. Go to Settings → Battery → App battery usage → Shizuku → set to Unrestricted. On Xiaomi/POCO, also enable Autostart for Shizuku.
start.sh script not found
Make sure Shizuku is fully installed and has been opened at least once. The start.sh file is created on first launch. If still missing, reinstall Shizuku, open it, then run the ADB command again.