appops 中文文档 下载 App

App Ops 为什么移除了纯 Root 模式

Root 模式曾经存在过

App Ops v5.0.0 之前,确实存在一个"纯 Root 模式"——直接用 su shell 执行系统命令来修改 appops 设置。在 Android 9 及更早版本上,这种方式大致能工作。

但 Android 10 引入了 permission flags 概念,Root 模式的局限暴露无遗,最终被移除。

纯 Root 到底能做什么

很多人对 Root 的能力有误解。实际上 Root 提供的只是:

但在 Android 的沙箱架构下,想要调用 Java 层 API(如修改 permission flags),仅靠 shell 命令是不够的。唯一的办法是通过 app_process 运行 dex 文件,这本质上就是重新实现一遍 Shizuku 做的事情——完全没有意义。

Root 模式缺失的关键能力

App Ops v5.0.0 重写逻辑时发现,想要正确跟随系统行为,必须同时具备:

能力Shizuku 模式DPM 模式Root 模式
读取和设置 appops✔️✔️✔️
设置 runtime permission✔️部分(需 Island)❌
设置 permission flags✔️❌❌

只有 Shizuku 模式同时具备全部三种能力。Root 模式缺两个,意味着:

Shizuku 模式不是 Root 的替代品而是升级

需要澄清一个常见误解:Shizuku 模式 + Root 激活 仍然是存在的,而且是最省心的方案。移除的是纯 Root shell 模式——那种只靠 su 跑命令的方式。

Shizuku 模式本质上是:

两种激活方式底层用的都是 Shizuku 提供的 Java API,能力完全一样。区别只在于"Shizuku 服务怎么跑起来"。

移除 Root 模式后的好处

对用户来说只有正面影响:

如果你曾经在用 Root 模式

App Ops 升级到 v5.0.0+ 后,Root 模式选项会消失。你需要切换到 Shizuku 模式: