hero

Shizuku

让你的应用直接使用系统 API

了解更多

优雅地使用系统 API

忘掉 root shell 吧,你可以「直接使用」需要高权限的 API。此外,Shizuku 比 shell 要快得多。

支持 adb 使用

如果你的「需要 root 的应用」只需要 adb 权限,则可以使用 Shizuku 轻松地扩大用户群体。

节省时间

Shizuku 有详细的文档引导用户,你只需要让用户安装 Shizuku。

# 就像是系统应用一样简单

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);
    }
}

TIP

还有一些步骤要做,比如检查权限或 Shizuku 是否正在运行。