Управление тестовыми устройствами

Чтобы обеспечить минимальную поддержку управляемых профилей, OEM-устройства должны содержать следующие важные элементы:

Полный список требований см. в разделе Реализация управления устройствами . Для тестирования функций управления устройствами владельцы устройств могут использовать приложение TestDPC, описанное ниже.

Настройка владельца устройства для тестирования

Используйте следующие инструкции для настройки среды тестирования владельца устройства.

  1. Сбросьте настройки целевого устройства до заводских настроек.
  2. Убедитесь, что на устройстве нет учетных записей пользователей (например, тех, которые используются для входа в онлайн-сервисы). Для проверки выберите «Настройки» > «Учетные записи» .
  3. Настройте тестовое приложение одним из следующих способов:
  4. Установите приложение TestDPC в качестве владельца устройства, используя следующую команду:
    adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
    
  5. Пройдите настройку владельца устройства на устройстве (зашифруйте, выберите Wi-Fi).

Проверьте настройку владельца устройства

Чтобы убедиться, что владелец устройства настроен правильно, перейдите в «Настройки» > «Безопасность» > «Администраторы устройства» и убедитесь, что TestDPC присутствует в списке. Убедитесь, что его нельзя отключить (это означает, что он является владельцем устройства).

Отчеты об ошибках и журналы

Начиная с Android 7.0, клиент Device Policy Client (DPC) владельца устройства может получать отчеты об ошибках и просматривать журналы корпоративных процессов на управляемом устройстве.

Чтобы вызвать отчет об ошибке (то есть эквивалентные данные, собранные adb bugreport содержащие данные dumpsys , dumpstate и logcat), используйте DevicePolicyController.requestBugReport . После сбора отчета об ошибке пользователю предлагается дать согласие на отправку данных отчета об ошибке. Результаты получены DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined] . Подробную информацию о содержимом отчета об ошибке см. в разделе Чтение отчетов об ошибках .

Кроме того, ЦОД владельца устройства также могут собирать журналы, связанные с действиями пользователя на управляемом устройстве. Ведение журнала корпоративных процессов требуется для всех устройств, которые сообщают об устройстве_администратора и включаются с помощью нового буфера безопасности журнала, доступного для чтения только системному серверу (то есть $ adb logcat -b security не может читать буфер). Служба ActivityManager и компоненты Keyguard регистрируют следующие события в буфере безопасности:

  • Запуск процессов подачи заявки
  • Действия клавиатуры (например, неудачная и успешная разблокировка)
  • команды adb выдаваемые устройству

Чтобы при необходимости сохранять журналы при перезагрузках (не при холодной загрузке) и делать эти журналы доступными для ЦОД владельца устройства, устройство должно иметь ядро ​​с включенными pstore и pmsg , а также DRAM, включенную и обновляемую на всех этапах перезагрузки, чтобы избежать повреждения сохраняемых журналов. в памяти. Чтобы включить поддержку, используйте параметр config_supportPreRebootSecurityLogs в frameworks/base/core/res/res/values/config.xml .