Dhizuku vs Shizuku: Device Owner Without a PC

MFWritten by Marcus Feld, Android Systems WriterIndependent editorialUpdated July 2026Tested on real devices

Dhizuku does for Android’s device-owner permissions what Shizuku does for ADB permissions — it holds a powerful role and lends it to apps that ask. Shizuku delegates the shell user’s privileges; Dhizuku delegates the device-owner role, which can freeze apps, suspend them, and apply management policies. The two work together: Shizuku is how you activate Dhizuku without a computer.

You need Shizuku (v13.6.0) installed and running first. Then Dhizuku rides on top of it.

Shizuku vs Dhizuku at a glance

 ShizukuDhizuku
DelegatesADB shell permissions (UID 2000)Device owner (DevicePolicyManager)
Activated byWireless debugging, ADB, or rootSet as device owner — via Shizuku or a PC
RequirementNothing persistentZero accounts at activation time
Survives rebootNo (unless rooted)Yes — device owner is persistent
Typical usesDebloat, grant permissions, automationFreeze/suspend apps, stronger policy control
DeveloperRikkaAppsiamr0s

Why device owner needs zero accounts

Android refuses to make any app the device owner if the phone has even one account on it. This is a deliberate security boundary: the device-owner role is meant for freshly provisioned, unowned devices, so allowing it on an account-signed phone would let an app silently take administrative control. That is why Dhizuku activation fails until every account is removed.

The exact error you will see if an account is present is:

java.lang.IllegalStateException: Not allowed to set the device owner
because there are already some accounts on the device

Remove every account under Settings → Passwords & accounts, activate Dhizuku, then sign back in. Most accounts can be re-added immediately afterwards.

Activate Dhizuku with Shizuku (no PC)

  1. Get Shizuku running — use the activation guide if it is not already active.
  2. Install Dhizuku from its GitHub releases. If you have hit the “waiting for activation” hang, install v2.10.1 specifically.
  3. Remove all accounts — Settings → Passwords & accounts → remove each one. Check for hidden accounts from a Shizuku shell:
# list every account, including hidden ones
dumpsys account | grep -i account
  1. Open Dhizuku and tap Activate — with Shizuku running, Dhizuku authorises itself as device owner through Shizuku. The exact component it registers is shown on its activation screen.
  2. Confirm it worked — Dhizuku reports “Activated” and other apps can now request device-owner features from it. Sign your accounts back in.
Advanced: activating from a PC

If you are not using Shizuku, connect the phone to a computer and run adb shell dpm set-device-owner <package>/<receiver> with the component Dhizuku shows on its activation screen. The zero-accounts rule still applies.

Fixing the “waiting for activation” hang

If Dhizuku sits on “waiting for activation” and never finishes, the cause is almost always Dhizuku v2.11+ or a leftover account. Downgrade to Dhizuku v2.10.1, verify zero accounts with dumpsys account, and activate again. This clears the large majority of activation hangs reported on GitHub.

  • Downgrade: uninstall the current Dhizuku, install v2.10.1 from GitHub releases.
  • Prove accounts are gone: a clean device shows no Account {...} lines in dumpsys account. If one remains, a hidden app owns it — freeze that app (for example with the Hail app-freezer, which itself works through Shizuku) and retry.
  • Reboot between attempts if activation still stalls; a stale admin state can linger until restart.

Dhizuku FAQ

Shizuku shares ADB shell permissions with apps; Dhizuku shares device-owner permissions. Device owner is a stronger, persistent Android management role that can freeze or suspend apps and change policies. Dhizuku uses Shizuku (or a PC) to make itself the device owner, then delegates that power to apps that support it.
This is usually the known bug in Dhizuku v2.11 and later. Uninstall it and install v2.10.1 from the GitHub releases, then activate again. If it still hangs, the real cause is leftover accounts — Android will not grant device owner while any account exists on the phone.
Android only lets an app become device owner on a device with zero accounts. It is a security rule: it stops a malicious app from silently seizing admin control of a phone that is already signed in. Remove every account (including hidden ones), set Dhizuku as device owner, then you can add accounts back.
Some apps register accounts you cannot see in Settings. From a Shizuku shell run dumpsys account and look for Account {name=... type=...} entries. Remove or freeze the app that owns each one, then retry activation.
Yes — that is the main reason to pair it with Shizuku. With Shizuku running, Dhizuku can set itself as device owner using Shizuku’s shell privileges, entirely on-device. You only fall back to a PC and the dpm set-device-owner command if you are not using Shizuku.
Dhizuku is open-source and, like Shizuku, does not require root. To remove it, first release the device-owner role from inside the app (or with dpm remove-active-admin), then uninstall. Uninstalling without releasing device owner can leave a dangling admin, which is awkward to clear.

Sources