Чтобы обеспечить минимальную поддержку управляемых профилей, OEM-устройства должны содержать следующие важные элементы:
- Владелец профиля (как описано вразделе Обеспечение совместимости с управляемыми профилями )
- Владелец устройства
Полный список требований см. В разделе « Внедрение управления устройствами» . Для тестирования функций управления устройствами владельцы устройств могут использовать приложение TestDPC, описанное ниже.
Настроить владельца устройства для тестирования
Используйте следующие инструкции для настройки среды тестирования владельца устройства.
- Сброс настроек целевого устройства до заводских.
- Убедитесь, что на устройстве нет учетных записей пользователей (например, тех, которые используются для входа в онлайн-сервисы). Чтобы проверить, проверьте Настройки> Учетные записи .
- Настройте приложение для тестирования одним из следующих способов:
- Загрузите приложение TestDPC (доступно в Google Play).
- Соберите приложение TestDPC (доступно на github.com).
- Установите приложение TestDPC в качестве владельца устройства, используя следующую команду:
adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
- Пройдите настройку владельца устройства на устройстве (зашифруйте, выберите Wi-Fi и т. Д.).
Проверьте настройки владельца устройства
Чтобы проверить правильность настройки владельца устройства, перейдите в « Настройки»> «Безопасность»> «Администраторы устройства» и убедитесь, что TestDPC есть в списке. Убедитесь, что его нельзя отключить (это означает, что это владелец устройства).
Автоматизированное тестирование инициализации
Чтобы автоматизировать тестирование процессов инициализации предприятия, используйте Android Enterprise Test Harness. Дополнительные сведения см. В разделе « Проверка инициализации устройства» .
Отчеты об ошибках и журналы
Начиная с Android 7.0, владелец устройства Device Policy Client (DPC) может получать отчеты об ошибках и просматривать журналы корпоративных процессов на управляемом устройстве.
Чтобы запустить отчет об ошибке (т. dumpsys
Эквивалентные данные, собранные adb bugreport
dumpsys
, содержащие данные dumpsys
, dumpstate и logcat), используйте DevicePolicyController.requestBugReport
. После сбора отчета об ошибке пользователю предлагается дать согласие на отправку данных отчета об ошибке. Результаты получает DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]
. Подробнее о содержании отчета об ошибке см. Чтение отчетов об ошибках .
Кроме того, DPC владельца устройства также могут собирать журналы, относящиеся к действиям, которые пользователь предпринял на управляемом устройстве. Ведение журнала корпоративных процессов требуется для всех устройств, которые сообщают об device_admin и включены новым буфером безопасности журнала, доступным для чтения только системному серверу (т. $ adb logcat -b security
не может прочитать буфер). Компоненты службы ActivityManager и Keyguard регистрируют в буфере безопасности следующие события:
- Запуск прикладных процессов
- Действия блокировки клавиатуры (например, неудачная и успешная разблокировка)
- команды
adb
выданные устройству
Чтобы при необходимости сохранять журналы при перезагрузке (не при холодной загрузке) и сделать эти журналы доступными для DPC владельца устройства, на устройстве должно быть ядро с pstore
и pmsg
, а DRAM запитывается и обновляется на всех этапах перезагрузки, чтобы избежать повреждения сохраненных журналов в памяти. Чтобы включить поддержку, используйте параметр config_supportPreRebootSecurityLogs
в frameworks/base/core/res/res/values/config.xml
.