测试设备管理

为确保为受管理个人资料提供最基本的支持,原始设备制造商 (OEM) 设备必须包含以下基本元素:

要查看完整的要求列表,请参阅实现设备管理

要测试设备管理功能,设备所有者可以使用 TestDPC 应用(如下所述),也可以考虑直接与其他企业移动管理 (EMM) 提供商合作。

设置设备所有者以进行测试

请按照以下说明设置设备所有者测试环境。

  1. 设置设备:
    1. 将目标设备恢复出厂设置。
    2. 确保您未向设备添加任何用户帐号(例如,用于登录在线服务的用户帐号)。您可以依次转到“设置”->“帐号”进行确认。
  2. 使用以下某种方法设置测试应用:
  3. 使用以下命令将 TestDPC 应用设置为设备所有者:
    $ adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
  4. 在设备上完成设备所有者设置(加密、选择 WLAN 等)

验证设备所有者设置

要验证设备所有者是否已正确设置,请依次转到“设置”>“安全”>“设备管理器”,并确认 TestDPC 是否已在列表中。验证它无法被停用(这表明它就是设备所有者)。

自动配置测试

要自动化企业配置进程的测试,请使用 Android for Work (AfW) 自动化测试框架。如需了解详情,请参阅测试设备配置

错误报告和日志

在 Android 7.0 中,设备所有者 Device Policy Client (DPC) 可以获取受管理设备上企业进程的错误报告并查看日志。

要触发错误报告(即由 adb bugreport 收集的包含 dumpsys、dumpstate 和 logcat 数据的对应数据),请使用 DevicePolicyController.requestBugReport。收集错误报告后,系统会提示用户同意发送错误报告数据。结果将由 DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined] 接收。要详细了解错误报告内容,请参阅读取错误报告

此外,设备所有者 DPC 还可以收集与用户在受管理设备上执行的操作相关的日志。所有报告 device_admin 的设备均必须进行企业进程日志记录,且通过新的日志安全缓冲区(仅供系统服务器读取)进行启用(也就是说,adb logcat -b security 无法读取该缓冲区)。ActivityManager 服务和 Keyguard 组件会将以下事件记录到安全缓冲区:

  • 应用进程启动
  • 锁屏操作(例如,解锁失败和成功)
  • 针对设备执行 adb 命令

要在重新启动(而非冷启动)后有选择地保留日志,并将这些日志提供给设备所有者 DPC,设备的内核必须启用 pstorepmsg、支持 DRAM,并能在重新启动的所有阶段刷新,以免损坏内存中保留的日志。要启用支持,请在 frameworks/base/core/res/res/values/config.xml 中使用 config_supportPreRebootSecurityLogs 设置。