Shizuku guide

Phones

Xiaomi, Redmi and POCO

MIUI 14 and HyperOS 1, 2 and 3. Xiaomi needs the most extra switches of any brand. Go slowly; each one matters.

On this page

1. Turn on Developer options

  1. Open Settings and tap About phone.

  2. On newer builds, tap Detailed info and specs.

  3. Tap OS version (HyperOS) or MIUI version (MIUI) again and again, 7 to 10 times. Not Build number: on Xiaomi that is the wrong line.

  4. Enter your PIN if asked.

  5. Developer options is now in Settings, then Additional settings, then Developer options.

  6. Turn on USB debugging.

Sources: Xiaomi support, Shizuku setup guide

2. Extra switches this brand needs

  1. In Developer options, find USB debugging (Security settings), just below USB debugging. It is a separate switch from USB debugging. Without it, Shizuku says the permission of adb is limited.

  2. Before you can turn it on, insert a SIM card, turn on mobile data, and sign in to your Xiaomi (Mi) account. Xiaomi may show a countdown you have to wait out.

  3. Turn on USB debugging (Security settings). Install via USB has the same rules, but Shizuku doesn't need it.

  4. Set the notification style: Settings, then Notifications & status bar, then Notification shade, or Settings, then Notifications, then Notification shade, and pick the Android style. Without it, pairing fails right after you tap Enter pairing code.

  5. Check Shizuku may use the network: in Shizuku's app permissions, allow network access if it is blocked. Pairing fails without it.

Don't run the Security app's scan or optimize. It switches Developer options off, and that stops Shizuku.

Last resort: MIUI optimization. Near the bottom of Developer options is Turn on MIUI optimization (on HyperOS sometimes Turn on system optimization). A third party guide says turning it off can help when apps can't use the permissions Shizuku hands out. Many HyperOS builds hide it: tap Reset to default values in the Autofill section again and again until it shows. Turning it off resets some app permissions and defaults, so only try it if nothing else works.

Sources: Shizuku setup guide, Issue 228, Issue 348, Issue 174, Issue 1426, openstf issue 603, XDA thread, Issue 205, Trading Shenzhen (third party), Issue 178, Xiaomi support, Ice Box guide (third party), TachiyomiJ2K issue 1861 (third party)

3. Pair and start

Follow the Wireless debugging steps. On a computer instead? The computer steps.

  • The Wireless debugging row is two controls. The switch turns it on; the words on the left, with only a faint arrow, open the page with Pair device with pairing code.
  • Expand Shizuku's notification with the small down arrow before the Enter pairing code button appears.
  • The pairing in progress notification can stay after pairing worked. An entry called shizuku under Paired devices means it worked.

Sources: Issue 205, Shizuku setup guide

4. Keep Shizuku from stopping

  1. Open Settings, then Apps, then Manage apps, then Shizuku.

  2. Tap Battery saver (or Battery) and choose No restrictions.

  3. On the same screen, turn on Autostart. On HyperOS 2 or newer it can be Settings, then Apps, then Permissions, then Background autostart; on MIUI 14, App permissions, then Background autostart.

  4. Lock Shizuku in Recents: open Recents, then drag its card down, or long press it and tap the padlock. On some phones the lock is under Security, then Boost speed, the cog, then Lock apps.

  5. Set Developer options, then Default USB configuration, then No data transfer. Use Developer options, not the pop up you get when you plug in: on MIUI that pop up didn't actually apply the setting.

Also do the four steps every phone needs: unrestricted battery, Disable adb authorization timeout, No data transfer as the USB default, and leaving debugging on. They are on the Wireless page.

Sources: Don't kill my app: Xiaomi, Shizuku setup guide, Better Stack (third party), Issue 1426, Issue 304

5. Known problems on Xiaomi, Redmi and POCO

The permission of adb is limited

Turn on USB debugging (Security settings) (step 2). It needs a SIM, mobile data and a Xiaomi account.

Sources: Shizuku setup guide, Issue 228, Issue 348, Issue 174

Pairing fails right after Enter pairing code

Set the notification shade style to Android (step 2).

Sources: Shizuku setup guide, Issue 205

Stops when the screen turns off (HyperOS)
  • Turn on USB debugging (Security settings).
  • Set Default USB configuration to No data transfer.
  • Turn on Autostart.
  • Set battery to No restrictions.
  • Lock Shizuku in Recents.

Sources: Issue 1426, Issue 561, Issue 293

HyperOS turns USB debugging off after the start

HyperOS can switch USB debugging off after the start command runs. Check it is still on if Shizuku stops.

Sources: Issue 515

HyperOS 2 forgets the authorization after a while

Reported by a few users; try it if nothing else works: reinstalling the Mi Home app, or signing out of the Xiaomi account, helped them.

Sources: Issue 869

HyperOS with MediaTek, Shizuku 13.6.0: some apps do nothing

Shizuku runs, but apps that use its user services fail. See the 13.6.0 fix.

Sources: Issue 1171, Issue 1198

Pairing fails: no network for Shizuku

MIUI can block Shizuku's network access. Allow it again in the app's permissions.

Sources: Issue 178

6. Turn it all back off

  1. First, in each app that used Shizuku, undo what it changed, while Shizuku still runs. Some changes an app makes through Shizuku stay after Shizuku stops. Firewall and Fileglow have their own steps.

  2. In Shizuku, switch off every app in the list of authorized apps.

  3. Stop Shizuku with its stop option, or restart the phone.

  4. Open Developer options, then Wireless debugging, then Paired devices, tap the shizuku entry, then Forget.

  5. In Developer options, tap Revoke USB debugging authorizations. This removes every paired computer and device.

  6. Turn off USB debugging (Security settings).

  7. Turn MIUI optimization (or system optimization) back on if you turned it off.

  8. Set the notification shade style back if you prefer the old one.

  9. Turn off Autostart for Shizuku and unlock it in Recents.

  10. Turn off Disable adb authorization timeout if you turned it on, and set Default USB configuration back to File transfer if you want.

  11. Turn off Wireless debugging, then USB debugging.

  12. Turn off the switch at the top of Developer options: Settings, then Additional settings, then Developer options.

  13. Set Shizuku's battery saver back to the default if you like.

  14. Uninstall Shizuku the normal way if you don't need it any more.

Sources: Shizuku setup guide, Android adb docs, Android developer options docs, Issue 467, Issue 451, Discussion 1000