Does Shizuku Require Root Access?
Updated
No. Shizuku does not require root access. It lets apps call system APIs with elevated privileges by going through adb instead of a root shell, so a device only needs to have granted adb permission. This makes it a fit for apps that were previously labeled "root required" but in practice only need adb-level access.
How Shizuku works without root
Shizuku's own description frames the core idea as letting your app "use system APIs directly" and telling developers to "forget about root shell." Instead of running commands through a root shell, an app talks to system services through Shizuku, which holds the elevated permission obtained via adb.
The site summarizes this in three points:
- Use system APIs elegantly — apps can use APIs with higher privileges "directly," and Shizuku is described as significantly faster than shell.
- Supports adb usage — if a "root required app" only needs adb permission, Shizuku lets it reach a wider audience.
- Save your time — Shizuku provides detailed documentation, and the main requirement placed on users is to install Shizuku.
What the code actually shows
The example on the site is a normal app calling a system service, wrapped so the call carries Shizuku's privileges:
private static final IPackageManager PACKAGE_MANAGER =
IPackageManager.Stub.asInterface(
new ShizukuBinderWrapper(
SystemServiceHelper.getSystemService("package")));
public static void grantRuntimePermission(String packageName,
String permissionName,
int userId) {
try {
PACKAGE_MANAGER.grantRuntimePermission(packageName, permissionName, userId);
} catch (RemoteException tr) {
throw new RuntimeException(tr.getMessage(), tr);
}
}
The key line is new ShizukuBinderWrapper(...): the app reaches the system package service through Shizuku rather than through a root process. The site notes there are a few more steps involved, such as checking permission or whether Shizuku is running.
Shizuku vs. full root: what differs
| Dimension | Shizuku (adb-based) | Full root |
|---|---|---|
| Root required on device | No | Yes |
| Privilege source | adb permission | Root shell / su |
| Typical fit | Apps that only need adb-level access | Apps needing unrestricted system modification |
| Scope of access | System APIs reachable with adb privileges | Broader, not limited to adb-level operations |
The practical distinction is scope. Shizuku is aimed at apps whose needs stop at adb permission; the site explicitly targets the case where a "root required app" only needs adb permission. If an app genuinely depends on unrestricted root capabilities, Shizuku is not a substitute.
Deciding whether it fits your case
- Choose Shizuku if the app or task only needs adb-level system API access, and you want to avoid rooting the device.
- Choose root if the requirement goes beyond what adb permission provides.
- Check the app's actual requirement first — many apps labeled "root required" may only need adb permission, which is exactly the audience Shizuku is designed to serve.
For developers, the practical takeaway from the site is that supporting Shizuku can widen an app's audience without asking users to root, at the cost of adding the extra steps the documentation covers (permission checks and verifying Shizuku is running).