Shizuku是非常好用的开源软件,能更好的更改手机参数不需要root权限,功能强大使用起来也非常简单。提供一个方便地使用系统 API 的方式。为部分只需要 adb 权限的应用开发提供便利。可以帮助普通应用借助一个由 app_process 启动的 Java 进程直接以 adb 或 root 特权使用系统 API。还未 root 的设备:遵照 app中的指引,通过adb启动服务。
Shizuku 工作过程简单来说就是,在电脑给 Shiziku 这个服务进程授予了 ADB 权限之后,Shiziku 就可以成为一个ADB权限管理器(类似于 Magisk Manager ),通过这个管理器,它可以给一些需要ADB权限才能实现某些功能的应用进行授权(省去了命令行的麻烦以及不同的应用激活需要多次授权的麻烦)。ADB 权限比我们常用的完整 ROOT 权限要低一些,ADB 权限能做的事,Shiziku 基本也能做,ADB 权限做不到的事,Shiziku 也做不到。
目前可以使用 Shiziku 的应用,比如小黑屋(冻结应用)、LSPatch(免ROOT使用 Lsposed框架)、黑域(管理/限制应用后台进程)、权限狗(管理/限制应用权限)、冰箱(冻结应用)、安装狮(接管系统安装应用程序)、自动跳过(跳过软件开屏启动页的广告)、爱玩机工具箱(综合性的玩机工具箱)、Scene5(手机性能调试工具)等等。
确保手机已开启「开发者选项」
在 Shizuku 中选择「通过无线调试启动」,然后点击「配对」按钮跳转至开发者选项中;
此时我们需要在开发者选项中找到「USB 调试/无线调试」功能,开启无线调试后,选择「使用配对码配对设备」;
此时 Shizuku 会通过弹出通知的方式提示检测到配对码,输入开发者选项提供的配对码并点击发送,即可完成配对。
引导用户使用 root 或是 adb 方式运行一个进程(Shizuku 服务进程)。
应用进程启动时 Shizuku 服务进程发送 binder 至应用进程
应用通过该 binder 与 Shizuku 服务进程交互,Shizuku 服务进程通过 binder 与 system server 交互
极小额外时间及性能消耗与直接调用 API 体验几乎一致(应用开发者只需添加少量代码)
1. MIUI(小米)
您需要在“开发者选项”中启用“USB 调试(安全选项)”。
对于 MIUI 11 及更高版本,您必须向 Shizuku 中的用户应用授予权限。这是因为自定义权限被 MIUI 破坏了,参见Shizuku #45 (打开新窗口)和android-in-china/兼容性 #16 (打开新窗口).
另外,请勿在 MIUI 的“安全”应用中使用扫描功能,因为它会禁用“开发者选项”。
2. ColorOS (OPPO) & OxygenOS (一加)
您需要在“开发者选项”中禁用“权限监控”。
3. Flyme(魅族)
您需要在“开发者选项”中禁用“Flyme 支付保护”。
4. EMUI(华为)
您需要在“开发者选项”中启用“在“仅收费”模式下允许 ADB 调试选项”。
5. OriginOS (vivo)
OriginOS的系统设置不支持分屏,需要在“开发者选项”中开启“强制活动可调整大小”。