appops 中文文档 下载 App

托管设备管理员模式 DPM 无需每次 ADB 的另一条路

什么是托管设备管理员模式

Android 提供了一种"设备管理员"机制——被设为 profile owner 或 device owner 的应用享有一些特权。托管设备管理员模式(Delegated Device Admin,简称 DPM)就是让 App Ops 成为这种特权应用,从系统 API 层面获得 appops 操作能力。

与 Shizuku 模式的核心差异

对比项Shizuku 模式托管设备管理员模式
激活方式ADB 启动 Shizuku 服务(每次重启需重激活)一次性设置 profile owner,长期有效
持续性重启失效需重激活重启后仍然生效
appops 能力完整完整
runtime permission可设置(需额外依赖 Island 等)仅可设置(也需 Island 5.0+ 或 Delegated Scopes Manager)
permission flags可读取可设置❌ 无法设置
Android 11"每次都询问"✅ 支持❌ 因无法设置 permission flags 而支持不了
多用户✅ 完整支持✅ 支持
额外依赖Shizuku 应用Island v5.0+ 或其他 DPM 管理员应用

适合什么人

不适合什么人

设置步骤概要

设置 DPM 模式需要:

  1. 先安装一个支持 Delegated Scopes Manager 的管理员应用(如 Island v5.0+)
  2. 在 App Ops 设置里选择"托管设备管理员模式"
  3. 系统弹出设备管理员授权对话框,勾选"修改 app ops"后确认
  4. ADB 执行额外命令授予"获取 app ops"权限:
   adb shell pm grant --user 0 rikka.appops android.permission.GET_APP_OPS_STATS
  1. 完成,之后就不需要再跑 ADB 命令了

局限性总结

DPM 模式无法解决以下问题:

这些局限性的根源是 Android 系统对设备管理员权限的 API 暴露不完整,不是 App Ops 的 bug。

两种模式怎么选

详见 两种工作模式对比与选择。