为了确保对受管理个人资料的最低限度支持,OEM 设备必须包含以下基本要素
- 个人资料所有者(如确保与受管理个人资料的兼容性中所述)
- 设备所有者
有关完整的要求列表,请参阅实施设备管理。要测试设备管理功能,设备所有者可以使用下述 TestDPC 应用。
设置设备所有者以进行测试
使用以下说明设置设备所有者测试环境。
- 将目标设备恢复出厂设置。
- 确保设备不包含任何用户帐号(例如,用于登录在线服务的帐号)。要验证,请查看设置 > 帐号。
- 使用以下方法之一设置测试应用
- 下载 TestDPC 应用(可从 Google Play 获取)。
- 构建 TestDPC 应用(可从 github.com 获取)。
- 使用以下命令将 TestDPC 应用设置为设备所有者
adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
- 在设备上完成设备所有者设置(加密、选择 Wi-Fi)。
验证设备所有者设置
要验证设备所有者是否已正确设置,请转到设置 > 安全 > 设备管理器,并确认 TestDPC 在列表中。验证是否无法停用它(这表示它是设备所有者)。
错误报告和日志
自 Android 7.0 起,设备所有者设备政策客户端 (DPC) 可以获取错误报告并查看受管理设备上企业流程的日志。
要触发错误报告(即,adb bugreport
收集的等效数据,包含 dumpsys
、dumpstate 和 logcat 数据),请使用 DevicePolicyController.requestBugReport
。收集错误报告后,系统会提示用户同意发送错误报告数据。结果由 DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]
接收。有关错误报告内容的详情,请参阅读取错误报告。
此外,设备所有者 DPC 还可以收集与用户在受管理设备上执行的操作相关的日志。所有报告 device_admin 的设备都需要企业流程日志记录,并且通过一个新的日志安全缓冲区启用,该缓冲区只能由系统服务器读取(即,$ adb logcat -b security
无法读取该缓冲区)。ActivityManager 服务和 Keyguard 组件会将以下事件记录到安全缓冲区
- 应用进程启动
- Keyguard 操作(例如,解锁失败和成功)
- 向设备发出的
adb
命令
要选择性地跨重启(非冷启动)保留日志,并将这些日志提供给设备所有者 DPC,设备必须具有启用 pstore
和 pmsg
的内核,并且 DRAM 在重启的所有阶段都通电和刷新,以避免内存中保留的日志损坏。要启用支持,请使用 frameworks/base/core/res/res/values/config.xml
中的 config_supportPreRebootSecurityLogs
设置。