導入測試控管工具模式

Android 10 新增的「測試機模式」功能,可供第三方應用程式開發人員自動化管理裝置或裝置群組。這項功能提供一種方法,可抹除 Android 裝置上的所有使用者資料、保留 ADB 金鑰,並略過所有首次設定畫面。這樣一來,使用者就能在啟動後立即執行 UI 測試,不必手動操作。

自訂

您可以檢查 ActivityManager.isRunningInUserTestHarness(),判斷裝置是否處於測試控管工具模式。盡量減少自訂項目; 僅限於跳過會中斷 UI 測試或需要手動互動的設定畫面 (在鍵盤或設定精靈上)。

實作

PersistentDataBlockManagerInternal 的預設實作位於 PersistentDataBlockService。測試控管工具模式已在 TestHarnessModeService 中導入。

測試機殼模式的預設實作方式與原廠重設保護機制使用相同的儲存機制,可將 adb 金鑰暫時儲存在持續性分割區。如果測試裝置已實作具備恢復原廠設定保護機制的持續性分割區,支援這項功能幾乎不需要任何作業。

如果 OEM 沒有設定持續性分割區,就必須先實作 PersistentDataBlockManagerInternal,才能執行 TestHarnessModeService

查看測試控管工具模式的狀態

啟用測試控管工具模式後,ActivityManager.isRunningInUserTestHarness() 會傳回 true

執行測試控管工具模式

啟用測試機架模式會清除裝置上的所有資料,並設定裝置以進行測試。也就是說,裝置中所有可能干擾測試的部分 (例如帳戶自動同步、套件驗證和自動更新) 預設都會停用,但使用者可以重新啟用。

執行 adb 指令來啟用測試控管工具模式:

adb shell cmd testharness enable