设备所有者已存在:三条出路按顺序试
报错原文:Trying to set the device owner, but device owner is already set.
这台设备上已经有别的应用占着设备所有者身份。先弄清楚是谁占的,再按下面三条出路依次处理。
出路一:强停重进(成本最低)
官方讨论区给过的简单处理:把本应用强制停止后重新打开,有时会直接显示已激活——部分场景下身份其实已经设置成功,只是界面状态没刷新。
出路二:从原持有者转移
如果原持有者是你装过的设备管理类工具(OwnDroid 这类支持身份转移的应用),在它的设置里把设备所有者转移给本应用,或用 ADB 执行所有权转移命令。转移完成后原应用退位。转移机制的细节见转移设备所有者。
出路三:停用原持有者
在原持有应用里解除设备所有者 / 停用设备管理员身份(每个工具的退出入口不同,查它的文档),释放身份后回来重跑激活命令。极端情况(原持有应用已损坏、打不开):
dpm remove-active-admin com.原应用包名/.管理员组件
能卸载就直接卸载原持有应用,同样释放身份。卸载激活过的应用有讲究,参考停用与卸载顺序。
先查清是谁占着
不记得装过什么?ADB 查一下:
adb shell dumpsys device_policy
输出里 Device Owner 字段后面的包名就是当前持有者。
别走的弯路
- 反复重跑激活命令没有意义——身份没释放,报错不会变;
- 恢复出厂能解决一切但代价最大,留到最后;
- 转移或停用前,确认原持有应用里没有你还需要的配置(冻结清单等先导出)。
处理完回报错对号看还有没有下一类问题。