设备所有权
什么是设备所有者?
设备所有者是 Android 的高级管理模式。当 Chastify 设置为设备所有者时,Android 会赋予应用比普通设备管理员更强大的策略控制能力。在 Chastify 中,此功能与设备控制结合使用,使选定的控制项更难被移除,从而满足那些希望在控制会话期间手机完全受限的用户的需求。
在 Chastify 中,这是可选的。大多数用户不需要它。
设备所有者模式是 Android 的高级管理模式,需要您通过 ADB 自行启用。请仅在您了解设置、可能产生的 OEM 副作用以及出现问题时如何恢复或重置设备的手机上使用此模式。Chastify 提供了应用和清除自身限制的工具(在 Android 允许的情况下),但您有责任选择是否在您的设备上启用设备所有者模式。对于大多数用户而言,标准的设备控制模式加上设备管理模式以及可选的安全设置恢复功能就足够了。
设备所有者支持功能仍在测试中。该功能已在 Android 模拟器中测试过,但尚未在模拟器之外的真机上进行广泛测试。Android 或 OEM 厂商特有的意外行为仍可能出现。如果您想尝试此功能,请先在 Android 模拟器或备用手机上进行测试。
设备所有者可以允许 Chastify 执行以下操作:
- 在支持的 Android 版本上阻止安全模式
- 显式启用时阻止 ADB/调试功能
- 防止从 Android 设置恢复出厂设置
- 阻止卸载 Chastify
- 如果设备在配置过程中禁用了 Android 备份,请重新启用它们。
- 恢复允许后,请再次从 Chastify 中清除这些限制。
重要局限性
设备所有者权限专为受管理的手机、自助服务终端和企业设备而设计。它并非普通的应用权限。
可能出现的副作用包括:
- 当 Chastify 为设备所有者时,某些 OEM 服务可能会停止工作。
- 如果启用调试限制,Android Studio 或 ADB 工作流程可能会变得更加困难。
- 应用重新安装/重新部署的行为可能与正常的应用更新有所不同。
- 在 Android 允许设备所有者进行设置之前,可能需要删除帐户或恢复出厂设置。
- 某些限制可能需要重启才能使 Android 完全生效。
三星设备对“设备所有者模式”尤其敏感。根据 Android 和 One UI 版本,当第三方应用处于“设备所有者”模式时,某些三星服务可能无法正常工作,包括:
- 安全文件夹
- 三星通行证
- 智能交换机恢复流程
- 三星儿童
- 在某些旧版 Android 上快速共享
这是 Android/OEM 的行为,并非 Chastify 特有的锁定机制。如果您需要这些功能,请先在备用设备上测试“设备所有者”功能。
开始之前
你需要:
- 已安装的 Chastify Android 应用
- 一台装有 ADB 的计算机
- 已启用 USB 调试
- 仍将安装的 Chastify 软件包为:
net.chastify.app
您可能还需要:
- 设置前请移除 Google/Samsung/OEM 帐户
- 设置前请移除锁屏安全设置
- 使用全新设备或模拟器
- 如果 Android 拒绝分配设备所有者,请恢复出厂设置。
设置前请检查账户
如果设备上已存在帐户,Android 通常会拒绝设备所有者设置。
列出以下账户:
adb shell dumpsys account | grep "Account {" | grep -v "Session"
在 Windows PowerShell 或命令提示符中,使用与 Windows 兼容的筛选器,例如:
adb shell dumpsys account
然后检查剩余账户的输出结果。
将 Chastify 设置为设备所有者
跑步:
adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
在 macOS 上使用默认的 Android SDK 路径:
~/Library/Android/sdk/platform-tools/adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
ADB 命令参考
将 Chastify 设置为设备所有者:
adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
列出设备所有者和配置文件所有者的状态:
adb shell dpm list-owners
在调试/测试版本中,移除 Chastify 作为活动设备管理员:
adb shell dpm remove-active-admin net.chastify.app/.AdminReceiver
在某些 Android 版本中,需要包含用户:
adb shell dpm remove-active-admin --user 0 net.chastify.app/.AdminReceiver
remove-active-admin 主要用于模拟器/调试版本,其中应用程序被标记为 testOnly。生产环境的 Android 版本可能会拒绝此命令,尤其是在 Chastify 是设备所有者的情况下。在生产环境中,请先使用 Chastify 的“清除设备所有者”恢复流程。
验证设备所有者
使用:
adb shell dpm list-owners
如果您的 Android 版本不支持该命令,请检查设备策略状态:
adb shell dumpsys device_policy
查找设备所有者为 net.chastify.app/.AdminReceiver 的用户。如果它仅出现在“已启用设备管理员”下,则 Chastify 是设备管理员,但不是设备所有者。
在 Chastify 中配置限制
设置设备所有者后:
- 打开 Chastify。
- 前往设备控制。
- 打开设备所有者设置。
- 只启用你真正需要的限制。
Chastify 目前将这些作为单独的选项公开:
- 阻止安全模式
- 阻止 ADB/调试
- 在设置中阻止恢复出厂设置
- 阻止卸载 Chastify
- 启用 Android 备份
测试时请关闭“阻止 ADB/调试”选项。如果您启用该选项,之后需要调试设备,可能需要在 Chastify 中移除此限制。移除限制后,Android 可能仍然需要您在开发者选项中手动重新启用“USB 调试”才能使 ADB 正常工作。
清除设备所有者
当没有设备控制会话处于活动状态时,Chastify 可以从设备所有者设置页面清除设备所有者。
清理序列尝试执行以下操作:
- 移除调试限制
- 如果已授予安全设置,则恢复 ADB。
- 移除安全模式限制
- 移除恢复出厂设置限制
- 移除卸载障碍
- 清除 Chastify 作为设备所有者
当密钥持有者设备控制会话或自控会话处于活动状态时,页面将被锁定。
小米、红米和 MIUI 笔记
部分 MIUI 设备需要启用额外的开发者选项才能使 ADB 管理命令正常工作。您可能需要启用:
- USB调试
- USB调试(安全设置)
- 通过 USB 安装
部分 MIUI 版本需要登录小米账号才能启用这些开关。如果设备所有者设置失败,请再次移除账号后重试。
如果设置失败
常见原因:
- 设备上仍保留着现有账户。
- 该应用程序已使用不同的签名密钥安装。
- 管理员组件已激活,但设备所有者组件未激活。
- 设备上存在多个用户/配置文件。
- ADB 指向了错误的模拟器或设备
- OEM 安全设置会阻止 ADB 策略命令
使用:
adb devices -l
adb shell dpm list-owners
adb shell dumpsys device_policy
如果 Android 仍然拒绝设置,则可能需要恢复出厂设置并重新设置,然后再添加帐户。