Shizuku 兼容
AxManager 可以代替 Shizuku:基于 Shizuku-API 构建的应用可以连接到 AxManager 的服务,获得同样的 shell 或 root 权限,而无需运行 Shizuku。
开启
- 启动 AxManager。
- 打开设置 → AX-权限接管(默认关闭)。
之后,AxManager 会把它的 Shizuku 兼容服务提供给使用 Shizuku-API 的应用,包括已经在运行的应用。该开关按模式分别保存(root 和 shell 使用各自独立的文件夹),服务重启后仍然有效。
授权应用
当应用请求 Shizuku 权限时,AxManager 会显示自己的授权请求:始终允许、仅本次允许或拒绝。之后可以在特权页面修改(Shizuku 筛选会列出基于 Shizuku-API 构建的应用),每个应用可设为 Allowed、Ask 或 Denied(参见 Axeron permission)。
Shizuku 应用本身没有"询问"这一设置,因此它的操作对应的是 Ask,而不是 Denied:
- 在 Shizuku 应用中关闭某个应用,会把它设为 Ask:该应用不再被允许,但仍可再次请求。
- 在 Shizuku 应用的授权对话框中选择拒绝,只会拒绝这一次请求,不会被记住。
只有在 AxManager 的特权页面才能把应用设为 Denied,此时它的请求会被直接拒绝,不显示对话框。
需要安装 Shizuku 应用的情况
一些较旧的 Shizuku 客户端(例如旧版 ZArchiver)只有在安装了 Shizuku 应用(moe.shizuku.privileged.api)时才会尝试连接。如果这类应用提示找不到 Shizuku:
- 安装 Shizuku 应用即可,不需要启动它;由 AxManager 代为提供服务。
- 开启接管且未安装 Shizuku 应用时,设置中 AX-权限接管下方会显示这一提示。
Shizuku 应用中显示的内容
如果安装了 Shizuku 应用,它也会连接到 AxManager:
- 它会显示服务正在运行,版本为
13.<AxManager 版本号>(例如13.19100)。点号后面的部分是 AxManager 的版本号,可以据此判断是 AxManager 在提供服务。 - 由于这个数字与任何真实的 Shizuku 版本都不匹配,Shizuku 应用会显示需要更新的提示。这是预期行为,无需更新任何东西。
- 它的应用列表会显示已有授权记录的应用,以及基于 Shizuku-API 构建的应用。AxManager 本身不会出现在列表中;请在 AxManager 的特权页面管理其他应用。
停止
在 Shizuku 应用中点击停止不会停止 AxManager。它会关闭 AX-权限接管(并关闭 Shizuku 应用),效果与在 AxManager 设置中关闭该开关相同:
- 已经持有该服务的应用此后会被拒绝;它们通过该服务启动的用户服务会被移除。
- 只有 AxManager 和 Shizuku 应用可以切换该开关。其他 Shizuku 客户端尝试切换会被拒绝。
如需重新开启,请在 AxManager 的设置中打开。