Der Test-Harnischmodus ist eine Funktion, die in Android 10 für Entwickler von Drittanbieter-Apps hinzugefügt wurde, die ein Gerät oder eine Geräteflotte automatisieren möchten. Mit dieser Funktion können alle Nutzerdaten auf einem Android-Gerät gelöscht, ADB-Schlüssel beibehalten und alle Bildschirme für die Ersteinrichtung übersprungen werden. So kann der Nutzer direkt nach dem Start einen UI-Test ausführen, ohne manuell eingreifen zu müssen.
Anpassung
Sie können prüfen, ob sich ein Gerät im Test-Harnischmodus befindet, indem Sie ActivityManager.isRunningInUserTestHarness() prüfen. Beschränken Sie Anpassungen auf ein Minimum, z. B. auf das Überspringen von Einrichtungsbildschirmen (auf der Tastatur oder im Einrichtungsassistenten), die UI-Tests unterbrechen oder manuelle Eingriffe erfordern.
Implementierung
Die Standardimplementierung von PersistentDataBlockManagerInternal
befindet sich in PersistentDataBlockService.
Der Test-Harnischmodus wird in TestHarnessModeService implementiert.
Bei der Standardimplementierung des Test-Harnischmodus wird derselbe Speichermechanismus wie beim Schutz vor Zurücksetzen verwendet, um die ADB-Schlüssel vorübergehend in einer persistenten Partition zu speichern. Wenn auf dem Testgerät bereits eine persistente Partition mit Schutz vor Zurücksetzen implementiert ist, ist nur wenig oder gar keine Arbeit erforderlich, um die Funktion zu unterstützen.
OEMs, die keine persistente Partition eingerichtet haben, müssen PersistentDataBlockManagerInternal implementieren, bevor sie TestHarnessModeService ausführen.
Status des Test-Harnischmodus prüfen
Wenn der Test-Harnischmodus aktiviert ist, gibt ActivityManager.isRunningInUserTestHarness() true zurück.
Test-Harnischmodus ausführen
Wenn Sie den Test-Harnischmodus aktivieren, werden alle Daten vom Gerät gelöscht und das Gerät für Tests eingerichtet. Das bedeutet, dass alle Teile des Geräts, die Tests beeinträchtigen könnten (z. B. automatische Synchronisierung von Konten, Paketüberprüfung und automatische Updates), standardmäßig deaktiviert sind. Der Nutzer kann sie aber wieder aktivieren.
Führen Sie den adb-Befehl aus, um den Test-Harnischmodus zu aktivieren:
adb shell cmd testharness enable