Automatisierter Test der Sicherungswiederherstellung
| 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.
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 wierunBackupRestoreFlowsowie detaillierte Vorgänge (performBackup,performRestore,clearAppData,fetchDeviceLogsundrunOnDevice). Unterstützt sowohl Kotlin-Coroutinen als auch die asynchrone Ausführung von JavaListenableFuture.BackupRestoreExtension: Eine JUnit 5-Jupiter-Erweiterung, dieBackupRestoreController-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: EinInstrumentation-Test-Runner auf dem Gerät, der in der Anwendungssandbox ausgeführt wird. Löst angeforderteBackupDeviceAction-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,TextFileundBinaryFile), die zusammen mit vorgefertigten Aktions-Helfern (PopulateStorageActionundAssertStorageAction) verwendet werden, umSharedPreferences, 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ßlichDEVICE_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) undLOCAL(Offline-Backup des lokalen Dateisystems).@Deviceund@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.AUTOMATICim Vergleich zuIsolationPolicy.MANUAL).