Test de restauration de sauvegarde automatique
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 23 septembre 2026 | - | - | - | 1.0.0-alpha01 |
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.0 du test de restauration de sauvegarde automatique
Version 1.0.0-alpha01
23 septembre 2026
Publication d'androidx.test.backup:backup:1.0.0-alpha01 et d'androidx.test.backup:backup-host:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01
Fonctionnalités de la version initiale
Version initiale du framework de test de sauvegarde et de restauration automatiques pour Android. Cette bibliothèque fournit un moyen automatisé et de bout en bout de tester la sécurité des données utilisateur et des identifiants de compte lors des mises à niveau d'appareils et des restaurations à partir du cloud. Au lieu de s'appuyer sur des tests manuels, les développeurs peuvent automatiser l'intégralité du cycle de vie : initialisation de l'état de l'application, sauvegarde selon les règles configurées (dataExtractionRules et fullBackupContent), effacement de l'application et vérification de l'intégrité des données après la restauration. Le framework fournit deux artefacts : androidx.test.backup:backup-host (qui s'exécute sur l'ordinateur hôte pour orchestrer les passes de sauvegarde, d'effacement et de restauration sur ADB) et androidx.test.backup:backup (qui s'exécute sur l'appareil pour remplir et valider les données des applications).
BackupRestoreController: interface principale côté hôte utilisée pour contrôler les workflows de sauvegarde, d'effacement, de restauration et de validation d'un appareil de test. Fournit des pipelines pratiques tels querunBackupRestoreFlow, ainsi que des opérations précises (performBackup,performRestore,clearAppData,fetchDeviceLogsetrunOnDevice). Prend en charge les coroutines Kotlin et l'exécution asynchrone JavaListenableFuture.BackupRestoreExtension: extension JUnit 5 Jupiter qui résout et injecte les paramètresBackupRestoreControllerdans les méthodes de test. Gère les sessions ADB autonomes ou partagées, installe automatiquement les APK testés et de test, ferme les écrans de verrouillage et les keyguards des appareils pour déverrouiller le stockage protégé par des identifiants, et applique l'isolation du bac à sable de test.BackupRestoreTestRunner: exécuteur de testsInstrumentationsur l'appareil s'exécutant dans le bac à sable de l'application. Résout et exécute dynamiquement les implémentationsBackupDeviceActiondemandées, distribuées par les orchestrateurs hôtes, et redirige de manière sécurisée les grandes charges utiles de résultats JSON vers le disque pour éviter les limites de mémoire tampon des transactions Binder.BackupDeviceAction: contrat pour les actions personnalisées côté appareil s'exécutant directement dans le bac à sable de l'application cible lors de l'amorçage des données (PHASE_POPULATE) ou de la validation post-restauration (PHASE_VERIFY).StorageDomain: descripteurs fortement typés (Preference,Database,TextFileetBinaryFile) utilisés avec les assistants d'action prédéfinis (PopulateStorageActionetAssertStorageAction) pour amorcer et affirmer automatiquement lesSharedPreferences, les bases de données SQLite et les fichiers bruts dans les contextes de stockage protégés par identifiants (CE) et protégés par l'appareil (DE) sans code passe-partout.BackupTransportMode: spécifie la topologie de transport de sauvegarde de plate-forme à simuler lors des tests, y comprisDEVICE_TO_DEVICE(migration d'appareil physique via USB ou Wi-Fi Direct),CLOUD_ENCRYPTED(sauvegarde cloud avec chiffrement de bout en bout côté client),CLOUD_UNENCRYPTED(sauvegarde cloud standard) etLOCAL(sauvegarde hors connexion du système de fichiers local).@Deviceet@Isolation: annotations d'hôte permettant de sélectionner les appareils connectés correspondant à des numéros de série, des niveaux d'API ou des rôles multi-appareils spécifiques, et de configurer des règles d'isolation du bac à sable entre les exécutions de tests (IsolationPolicy.AUTOMATICetIsolationPolicy.MANUAL).