自動バックアップ復元テスト

  
ユーザーデータとアカウント認証情報がデバイスのアップグレードとクラウドの復元後も安全に保持されることを検証する自動テスト フレームワーク。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2026 年 9 月 23 日 - - - 1.0.0-alpha01

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

Automated Backup Restore Test バージョン 1.0

バージョン 1.0.0-alpha01

2026 年 9 月 23 日

androidx.test.backup:backup:1.0.0-alpha01 と androidx.test.backup:backup-host:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。

初回リリースの機能

Android 向け自動バックアップと復元テスト フレームワークの初回リリース。このライブラリは、ユーザーデータとアカウント認証情報がデバイスのアップグレードとクラウドの復元を安全に乗り切ることをテストする自動化されたエンドツーエンドの方法を提供します。手動テストに頼る代わりに、デベロッパーはライフサイクル全体を自動化できます。アプリの状態のシード、構成されたルール(dataExtractionRules と fullBackupContent)に従ったバックアップ、アプリのワイプ、復元後のデータの完全性の検証などです。このフレームワークは、androidx.test.backup:backup-host(ADB を介してバックアップ、ワイプ、復元パスを調整するためにホスト コンピュータで実行される)と androidx.test.backup:backup(アプリデータを入力して検証するためにデバイスで実行される)の 2 つのアーティファクトを提供します。

  • BackupRestoreController: テストデバイスのバックアップ、ワイプ、復元、検証のワークフローを制御するために使用される、ホスト側のプライマリ インターフェース。runBackupRestoreFlow などの便利なパイプラインと、きめ細かいオペレーション(performBackup、performRestore、clearAppData、fetchDeviceLogs、runOnDevice)を提供します。Kotlin コルーチンと Java ListenableFuture 非同期実行の両方をサポートします。
  • BackupRestoreExtension: BackupRestoreController パラメータをテストメソッドに解決して挿入する JUnit 5 Jupiter 拡張機能。スタンドアロンまたは共有の ADB セッションを管理し、テスト済み APK とテスト APK を自動的にインストールし、デバイスのロック画面とキーガードを閉じ、認証情報で保護されたストレージをロック解除し、テスト サンドボックスの分離を強制します。
  • BackupRestoreTestRunner: アプリケーション サンドボックス内で実行されるオンデバイスの Instrumentation テストランナー。ホスト オーケストレーターによってディスパッチされたリクエストされた BackupDeviceAction 実装を動的に解決して実行し、Binder トランザクション バッファの制限を回避するために、大きな JSON 結果ペイロードをディスクに安全にリダイレクトします。
  • BackupDeviceAction: データ シーディング(PHASE_POPULATE)または復元後の検証(PHASE_VERIFY)中にターゲット アプリケーションのサンドボックス内で直接実行されるカスタム デバイスサイド アクションのコントラクト。
  • StorageDomain: 組み込みアクション ヘルパー(PopulateStorageAction と AssertStorageAction)とともに使用される、厳密に型指定された記述子(Preference、Database、TextFile、BinaryFile)。ボイラープレートなしで、Credential Protected(CE)と Device Protected(DE)の両方のストレージ コンテキストにわたって SharedPreferences、SQLite データベース、未加工ファイルを自動的にシードしてアサートします。
  • BackupTransportMode: テストパス中にシミュレートするプラットフォーム バックアップ トランスポート トポロジを指定します。これには、DEVICE_TO_DEVICE(USB または Wi-Fi Direct 経由の物理デバイスの移行)、CLOUD_ENCRYPTED(クライアントサイドのエンドツーエンド暗号化によるクラウド バックアップ)、CLOUD_UNENCRYPTED(標準のクラウド バックアップ)、LOCAL(オフラインのローカル ファイル システム バックアップ)が含まれます。
  • @Device と @Isolation: 特定のシリアル、API レベル、マルチデバイス ロールに一致する接続デバイスを選択し、テスト実行間のサンドボックス分離ポリシー(IsolationPolicy.AUTOMATIC 対 IsolationPolicy.MANUAL)を構成するためのホスト アノテーション。