RikkaApps

Shizuku

RikkaApps

一款让普通应用通过adb或root权限直接调用系统API的工具,通过app_process启动的Java进程作为中介,实现更高效、更可靠的系统级操作。

v13.6.0
发布于
2025年5月25日
30,733
星标
4,399,491
下载
同步于
1 天前

最新版本

v13.6.02025年5月25日 21:19
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Shizuku 是一款让普通应用通过 adb 或 root 权限直接调用系统 API 的工具。传统的 root 应用通过在 su shell 中执行命令来操作,存在速度极慢(多次进程创建)、处理文本极不可靠、功能受限于可用命令等缺点。Shizuku 采用了完全不同的方式,引导用户通过 root 或 ADB 先运行一个 Shizuku 服务进程。应用启动时会收到指向 Shizuku 服务端的 Binder 引用,Shizuku 作为中间人接收应用请求,转发给系统服务,并返回结果。对应用而言,使用方式几乎与直接调用系统 API 无异。

主要功能

  • 以更高权限调用系统 API:让普通应用能够以 adb 或 root 权限执行系统级操作
  • Binder IPC 代理机制:作为应用进程与 system_server 进程之间的中间人,转发 Binder 请求
  • 支持 ADB 和 Root 两种启动方式:即使没有 root 权限,也可以通过 ADB 启动服务
  • 两种实现版本:Shizuku(标准 Android 应用)和 Sui(Magisk 模块)
  • 支持 Android 6.0+ 设备
  • 提供 Maven 依赖:dev.rikka.shizuku:api
  • MIT 许可,开源免费

适用人群

  • 需要系统级 API 访问权限的 Android 应用开发者
  • 希望通过 adb 权限(而非 root)运行系统级操作的高级用户
  • 开发需要 Shizuku 集成的应用(如冰箱、小黑屋等知名工具)

快速上手

  1. 访问 用户指南与下载页面 获取安装说明
  2. 在 Android 设备上安装 Shizuku 管理器应用
  3. 通过 ADB 命令启动 Shizuku 服务(非 root 设备)或直接以 root 权限启动(root 设备)
  4. 应用集成 Shizuku API 后即可调用系统级功能

核心优势

  • 无需 root 也能调用系统 API(需 ADB 权限)
  • 相比传统的 su shell 方式,速度更快、更可靠、功能更丰富
  • 对应用开发者而言,使用体验与直接调用系统 API 几乎一致
  • Apache 2.0 许可(含特定限制条款)

系统要求

  • 操作系统:Android 6.0+
  • 非 root 设备需通过 ADB 启动服务(每次重启后需重新执行)
  • 无需 root,但需要具备一定的 Android 调试能力

注意事项

  • ADB 权限存在限制,不同系统版本权限不同
  • Android 9 及以上版本对隐藏 API 的使用有限制
  • Android 8.0(API 26)上 ADB 缺少 registerUidObserver 权限,进程可能无法自动收到 Binder
  • 直接使用 transactRemote 时需注意不同 Android 版本的 API 差异
  • 许可证限制:禁止使用 manager/src/main/res/mipmap*/ic_launcher*.png 图片文件(除非用于展示 Shizuku 本身),禁止将应用命名为 Shizuku 或使用 moe.shizuku.privileged.api 作为应用 ID

历史版本

排序