Automatisierter Test der Sicherungswiederherstellung

  
Automatisiertes Testframework, um zu überprüfen, ob Nutzerdaten und Anmeldedaten für Konten bei Geräte-Upgrades und Cloud-Wiederherstellungen sicher erhalten bleiben.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
23. September 2026 - - – 1.0.0-alpha01

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Automatisierte Wiederherstellung von Sicherungen – Version 1.0

Version 1.0.0-alpha01

23. September 2026

androidx.test.backup:backup:1.0.0-alpha01 und androidx.test.backup:backup-host:1.0.0-alpha01 sind veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Funktionen der Erstveröffentlichung

Erste Version des Frameworks für automatisierte Tests von Sicherung und Wiederherstellung für Android. Diese Bibliothek bietet eine automatisierte End-to-End-Methode, um zu testen, ob Nutzerdaten und Anmeldedaten Geräte-Upgrades und Cloud-Wiederherstellungen sicher überstehen. Anstatt sich auf manuelle Tests zu verlassen, können Entwickler den gesamten Lebenszyklus automatisieren: App-Status initialisieren, gemäß den konfigurierten Regeln (dataExtractionRules und fullBackupContent) sichern, App löschen und Datenintegrität nach der Wiederherstellung prüfen. Das Framework bietet zwei Artefakte: androidx.test.backup:backup-host (wird auf dem Hostcomputer ausgeführt, um Sicherungs-, Lösch- und Wiederherstellungsdurchläufe über ADB zu orchestrieren) und androidx.test.backup:backup (wird auf dem Gerät ausgeführt, um App-Daten zu erfassen und zu überprüfen).

  • BackupRestoreController: Die primäre hostseitige Schnittstelle, die zum Steuern von Sicherungs-, Lösch-, Wiederherstellungs- und Prüf-Workflows für ein Testgerät verwendet wird. Bietet Convenience-Pipelines wie runBackupRestoreFlow sowie detaillierte Vorgänge (performBackup, performRestore, clearAppData, fetchDeviceLogs und runOnDevice). Unterstützt sowohl Kotlin-Coroutinen als auch die asynchrone Ausführung von Java ListenableFuture.
  • BackupRestoreExtension: Eine JUnit 5-Jupiter-Erweiterung, die BackupRestoreController-Parameter auflöst und in Testmethoden einfügt. Verwaltet eigenständige oder gemeinsame ADB-Sitzungen, installiert automatisch getestete und Test-APKs, schließt Geräte-Sperrbildschirme und Keyguards, um kennwortgeschützten Speicher zu entsperren, und erzwingt die Isolation der Test-Sandbox.
  • BackupRestoreTestRunner: Ein Instrumentation-Test-Runner auf dem Gerät, der in der Anwendungssandbox ausgeführt wird. Löst angeforderte BackupDeviceAction-Implementierungen, die von Host-Orchestratoren gesendet werden, dynamisch auf und führt sie aus. Außerdem werden große JSON-Ergebnisnutzlasten sicher auf die Festplatte umgeleitet, um Binder-Transaktionspufferlimits zu vermeiden.
  • BackupDeviceAction: Der Vertrag für benutzerdefinierte geräteseitige Aktionen, die während des Seeding von Daten (PHASE_POPULATE) oder der Validierung nach der Wiederherstellung (PHASE_VERIFY) direkt in der Sandbox der Zielanwendung ausgeführt werden.
  • StorageDomain: Stark typisierte Deskriptoren (Preference, Database, TextFile und BinaryFile), die zusammen mit vorgefertigten Aktions-Helfern (PopulateStorageAction und AssertStorageAction) verwendet werden, um SharedPreferences, SQLite-Datenbanken und Rohdateien automatisch in sowohl Credential Protected- (CE) als auch Device Protected-Speicherkontexten (DE) ohne Boilerplate-Code zu initialisieren und zu bestätigen.
  • BackupTransportMode: Gibt die Plattform-Backup-Transporttopologie an, die während der Testläufe simuliert werden soll, einschließlich DEVICE_TO_DEVICE (Migration physischer Geräte über USB oder Wi‑Fi Direct), CLOUD_ENCRYPTED (Cloud-Backup mit clientseitiger End-to-End-Verschlüsselung), CLOUD_UNENCRYPTED (Standard-Cloud-Backup) und LOCAL (Offline-Backup des lokalen Dateisystems).
  • @Device und @Isolation: Hostanmerkungen zum Auswählen verbundener Geräte, die bestimmten Seriennummern, API-Levels oder Rollen für mehrere Geräte entsprechen, und zum Konfigurieren von Sandbox-Isolierungsrichtlinien zwischen Testläufen (IsolationPolicy.AUTOMATIC im Vergleich zu IsolationPolicy.MANUAL).