MIUI / HyperOS / ColorOS / Samsung 特殊处理
MIUI / HyperOS
报错
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
小米的 HyperOS 对 Device Admin 的权限检查加了一道门——Shizuku/Dhizuku/adb 进程在某些情况下拿不到 MANAGE_DEVICE_ADMINS 权限。
解决方案
方案一:开发者选项开「USB调试(安全设置)」
设置 → 更多设置 → 开发者选项 → 找到「USB调试(安全设置)」(部分版本叫「通过 USB 安装」或「USB 调试安全设置」)→ 打开 → 确认弹出的安全警告。
HyperOS 部分版本在最近更新中已经放宽了这个限制——Shizuku 路径可能直接能激活,不需要开安全设置。
方案二:用 Root 路径激活
如果找不到「USB调试(安全设置)」选项或者打开了还是不行,只能走 Root 路径。先 Magisk Root,然后 OwnDroid 选 Root 激活方式。
激活后的额外注意:
MIUI/HyperOS 的后台策略非常激进——Device Owner 模式下 OwnDroid 的一些持续策略(如应用挂起的稳定性)可能被后台清理。务必把 OwnDroid 加到电池白名单(无限制)。
ColorOS(OPPO、一加、realme)
报错
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
OPPO 的 ColorOS 对 DPC 应用有签名白名单——只允许特定签名的应用激活 Device Owner。OwnDroid 官方 signed 版本的签名不在白名单里。
解决方案
下载 OwnDroid testkey 版本——从 GitHub Releases 页面找「testkey」标签的 APK。
testkey 版本和 signed 版本的区别只是签名不同——testkey 用 Android AOSP 默认的测试签名,ColorOS 的白名单里包含了这个签名(因为很多测试工具都用 testkey)。功能完全一致,没有任何阉割。
激活成功后可以再切回 signed 版本(先 Deactivate → 重新激活),或者一直用 testkey 版本也没问题。
替代方案:Dhizuku 自签名后再转移 OwnDroid 激活——绕开 ColorOS 白名单限制。
Samsung OneUI
报错
user limit reached
Samsung 锁定了 Android 的多用户创建功能。Device Owner 激活要求设备上不能有多个用户,但 Samsung 系统本身可能就带有某些默认的隐藏用户。
当前没有完美解决方案
社区有两种尝试路径:
- 恢复出厂设置——尽量把用户数降到最低
- 有 Root 后手动移除 Samsung 用户限制组件——风险操作,可能导致系统不稳定
建议:如果是 Samsung 设备,先查机型社区有没有 Device Owner 激活的成功案例。某些较新的机型(OneUI 6+)可能已经放松了限制。
三星/小米/OPPO 通用注意
这些国产 ROM 激活 Device Owner 的成功率最高的路径是:恢复出厂设置 → adb 路径一条命令搞定。Shizuku/Dhizuku 无线路径在国产 ROM 上比 adb 路径问题多。