Test di ripristino del backup automatico
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 23 settembre 2026 | - | - | - | 1.0.0-alpha01 |
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per saperne di più, consulta la documentazione di Issue Tracker.
Automated Backup Restore Test Version 1.0
Versione 1.0.0-alpha01
23 settembre 2026
androidx.test.backup:backup:1.0.0-alpha01 e androidx.test.backup:backup-host:1.0.0-alpha01 sono state rilasciate. La versione 1.0.0-alpha01 contiene questi commit.
Funzionalità della versione iniziale
Rilascio iniziale del framework di test di backup e ripristino automatici per Android. Questa libreria fornisce un modo automatizzato e end-to-end per verificare che i dati utente e le credenziali dell'account sopravvivano in modo sicuro agli upgrade del dispositivo e ai ripristini dal cloud. Anziché fare affidamento sui test manuali, gli sviluppatori possono automatizzare l'intero ciclo di vita: inizializzare lo stato dell'app, eseguirne il backup in base alle regole configurate (dataExtractionRules e fullBackupContent), cancellare l'app e verificare l'integrità dei dati dopo il ripristino. Il framework fornisce due artefatti: androidx.test.backup:backup-host (che viene eseguito sul computer host per orchestrare i passaggi di backup, cancellazione e ripristino tramite ADB) e androidx.test.backup:backup (che viene eseguito sul dispositivo per popolare e verificare i dati delle app).
BackupRestoreController: l'interfaccia principale lato host utilizzata per controllare i workflow di backup, cancellazione, ripristino e verifica per un dispositivo di test. Fornisce pipeline di convenienza comerunBackupRestoreFlow, nonché operazioni granulari (performBackup,performRestore,clearAppData,fetchDeviceLogserunOnDevice). Supporta sia le coroutine Kotlin sia l'esecuzione asincrona JavaListenableFuture.BackupRestoreExtension: un'estensione JUnit 5 Jupiter che risolve e inserisce i parametriBackupRestoreControllernei metodi di test. Gestisce sessioni ADB autonome o condivise, installa automaticamente gli APK testati e di test, chiude le schermate di blocco e le protezioni della tastiera del dispositivo per sbloccare lo spazio di archiviazione protetto da credenziali e applica l'isolamento della sandbox di test.BackupRestoreTestRunner: un test runnerInstrumentationsul dispositivo che viene eseguito all'interno della sandbox dell'applicazione. Risolve ed esegue dinamicamente le implementazioniBackupDeviceActionrichieste inviate dagli orchestratori host e reindirizza in modo sicuro i payload di risultati JSON di grandi dimensioni su disco per evitare i limiti del buffer delle transazioni Binder.BackupDeviceAction: il contratto per le azioni personalizzate lato dispositivo eseguite direttamente nella sandbox dell'applicazione di destinazione durante il seeding dei dati (PHASE_POPULATE) o la convalida post-ripristino (PHASE_VERIFY).StorageDomain: descrittori fortemente tipizzati (Preference,Database,TextFileeBinaryFile) utilizzati insieme agli helper di azioni predefiniti (PopulateStorageActioneAssertStorageAction) per inizializzare e asserire automaticamenteSharedPreferences, database SQLite e file non elaborati in contesti di archiviazione protetti da credenziali (CE) e protetti dal dispositivo (DE) senza boilerplate.BackupTransportMode: specifica la topologia di trasporto del backup della piattaforma da simulare durante i test, tra cuiDEVICE_TO_DEVICE(migrazione del dispositivo fisico tramite USB o Wi-Fi Direct),CLOUD_ENCRYPTED(backup sul cloud con crittografia end-to-end lato client),CLOUD_UNENCRYPTED(backup sul cloud standard) eLOCAL(backup offline del file system locale).@Devicee@Isolation: annotazioni host per la selezione di dispositivi connessi corrispondenti a numeri di serie, livelli API o ruoli multi-dispositivo specifici e configurazione di criteri di isolamento della sandbox tra le esecuzioni di test (IsolationPolicy.AUTOMATICeIsolationPolicy.MANUAL).