為確保受管理的設定檔獲得最低程度的支援,原始設備製造商 (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 元件會將下列事件記錄到安全性緩衝區:
- 應用程式程序啟動
- 鎖定畫面動作 (例如解鎖失敗和成功)
- 向裝置發出的
adb
指令
如要選擇在重新啟動 (非冷啟動) 時保留記錄,並讓裝置擁有者 DPC 使用這些記錄,裝置必須具備啟用 pstore
和 pmsg
的核心,並在重新啟動的所有階段啟用和重新整理 DRAM,以免損毀在記憶體中保留的記錄。如要啟用支援功能,請使用 frameworks/base/core/res/res/values/config.xml
中的 config_supportPreRebootSecurityLogs
設定。