為了確保對託管設定檔的最低支持,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]
接收。關於Bug報告內容的詳細信息,請參見閱讀Bug報告。
此外,設備所有者 DPC 還可以收集與使用者在託管設備上執行的操作相關的日誌。所有報告 device_admin 的裝置都需要企業進程日誌記錄,並且透過只能由系統伺服器讀取的新日誌安全緩衝區啟用(即$ adb logcat -b security
無法讀取緩衝區)。 ActivityManager 服務和 Keyguard 元件將以下事件記錄到安全緩衝區:
- 申請流程開始
- 鍵盤保護操作(例如解鎖失敗和成功)
- 向設備發出
adb
命令
要選擇性地在重新啟動(而不是冷啟動)時保留日誌並使這些日誌可供設備所有者 DPC 使用,設備必須具有啟用了pstore
和pmsg
的內核,並且在重新啟動的所有階段對DRAM 進行供電和刷新,以避免損壞保留的日誌在記憶中。若要啟用支援,請使用frameworks/base/core/res/res/values/config.xml
中的config_supportPreRebootSecurityLogs
設定。