自動備份還原測試

  
自動化測試架構,可驗證使用者資料和帳戶憑證在裝置升級和雲端還原後是否安全無虞。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2026 年 9 月 23 日 - - - 1.0.0-alpha01

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

自動備份還原測試版 1.0

1.0.0-alpha01 版

2026 年 9 月 23 日

發布 androidx.test.backup:backup:1.0.0-alpha01androidx.test.backup:backup-host:1.0.0-alpha01。1.0.0-alpha01 版包含這些修訂項目

初始版本的功能

這是 Android 自動備份與還原測試架構的初始版本。這個程式庫提供自動化端對端測試方式,確保使用者資料和帳戶憑證在裝置升級和雲端還原後仍安全無虞。開發人員不必再依賴手動測試,而是可以自動執行完整生命週期:植入應用程式狀態、根據設定的規則備份 (dataExtractionRulesfullBackupContent)、清除應用程式,以及驗證還原後的資料完整性。這個架構提供兩項構件:androidx.test.backup:backup-host (在主機上執行,透過 ADB 協調備份、清除和還原作業) 和 androidx.test.backup:backup (在裝置上執行,用於填入及驗證應用程式資料)。

  • BackupRestoreController:主要主機端介面,用於控制測試裝置的備份、清除、還原和驗證工作流程。提供便利的管道 (例如 runBackupRestoreFlow) 和精細的作業 (performBackupperformRestoreclearAppDatafetchDeviceLogsrunOnDevice)。支援 Kotlin 協同程式和 Java ListenableFuture 非同步執行。
  • BackupRestoreExtension:JUnit 5 Jupiter 擴充功能,可將 BackupRestoreController 參數解析並注入測試方法。管理獨立或共用的 ADB 工作階段、自動安裝測試和測試 APK、關閉裝置鎖定畫面和 Keyguard,以解除受憑證保護的儲存空間,以及強制執行測試沙箱隔離。
  • BackupRestoreTestRunner:裝置端 Instrumentation 測試執行者,在應用程式沙箱內執行。動態解析及執行主機協調器調度的要求 BackupDeviceAction 實作項目,並安全地將大型 JSON 結果酬載重新導向至磁碟,避免達到 Binder 交易緩衝區限制。
  • BackupDeviceAction:在資料植入 (PHASE_POPULATE) 或還原後驗證 (PHASE_VERIFY) 期間,直接在目標應用程式沙箱中執行的自訂裝置端動作合約。
  • StorageDomain:與預先建構的動作輔助程式 (PopulateStorageActionAssertStorageAction) 一併使用強型別描述元 (PreferenceDatabaseTextFileBinaryFile),即可在憑證保護 (CE) 和裝置保護 (DE) 儲存空間環境中,自動植入及聲明 SharedPreferences、SQLite 資料庫和原始檔案,不必使用樣板。
  • BackupTransportMode:指定要在測試期間模擬的平台備份傳輸拓撲,包括 DEVICE_TO_DEVICE (透過 USB 或 Wi-Fi Direct 遷移實體裝置)、CLOUD_ENCRYPTED (使用用戶端對用戶端加密的雲端備份)、CLOUD_UNENCRYPTED (標準雲端備份) 和 LOCAL (離線本機檔案系統備份)。
  • @Device@Isolation:主機註解,用於選取符合特定序號、API 級別或支援多種裝置角色的連線裝置,以及設定測試執行之間的沙箱隔離政策 (IsolationPolicy.AUTOMATICIsolationPolicy.MANUAL)。