Implementazione della modalità di cablaggio di prova

Test Harness Mode è una funzionalità aggiunta in Android 10 per gli sviluppatori di app di terze parti che desiderano automatizzare un dispositivo o una flotta di dispositivi. La funzione fornisce un metodo per cancellare tutti i dati utente su un dispositivo Android, conservare le chiavi ADB e saltare tutte le schermate di configurazione iniziali. Ciò consente all'utente di eseguire un test dell'interfaccia utente immediatamente dopo l'avvio senza alcuna interazione manuale.

Personalizzazione

È possibile determinare se un dispositivo è in modalità test cablaggio controllando ActivityManager.isRunningInUserTestHarness() . Riduci al minimo le personalizzazioni; limitare a cose come saltare le schermate di configurazione (sulla tastiera o sulla procedura guidata di configurazione) che interromperebbero i test dell'interfaccia utente o richiederebbero l'interazione manuale.

Implementazione

L'implementazione predefinita di PersistentDataBlockManagerInternal è in PersistentDataBlockService . La modalità di test Harness è implementata in TestHarnessModeService .

L'implementazione predefinita di Test Harness Mode utilizza lo stesso meccanismo di archiviazione di Factory Reset Protection per archiviare temporaneamente le chiavi ADB in una partizione persistente. Se nel dispositivo di test è già implementata una partizione persistente con protezione del ripristino delle impostazioni di fabbrica, è necessario poco o nessun lavoro per supportare la funzionalità.

Gli OEM che non dispongono di una partizione permanente impostata devono implementare PersistentDataBlockManagerInternal prima di eseguire TestHarnessModeService .

Verifica dello stato della modalità Test Harness

Quando la modalità test Harness è abilitata, ActivityManager.isRunningInUserTestHarness() restituisce true .

Esecuzione della modalità di test del cablaggio

L'abilitazione della modalità Test Harness cancella tutti i dati dal dispositivo e configura il dispositivo per il test. Ciò significa che tutte le parti del dispositivo che potrebbero interferire con il test (come la sincronizzazione automatica degli account, la verifica del pacchetto e gli aggiornamenti automatici) sono tutte disabilitate per impostazione predefinita, ma possono essere riabilitate dall'utente.

Esegui il comando adb per abilitare Test Harness Mode:

adb shell cmd testharness enable