בדיקת שחזור גיבוי אוטומטית

  
מסגרת בדיקה אוטומטית כדי לוודא שנתוני המשתמשים ופרטי החשבון שורדים בבטחה שדרוגי מכשירים ושחזורים בענן.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫23 בספטמבר 2026 - - - ‎1.0.0-alpha01

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.0 של בדיקת שחזור גיבוי אוטומטי

גרסה ‎1.0.0-alpha01

‫23 בספטמבר 2026

‫androidx.test.backup:backup:1.0.0-alpha01 וגם androidx.test.backup:backup-host:1.0.0-alpha01 מופצים. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות של הגרסה הראשונית

הגרסה הראשונה של מסגרת הבדיקה האוטומטית של גיבוי ושחזור ל-Android. הספרייה הזו מספקת דרך אוטומטית מקצה לקצה לבדיקה של נתוני משתמשים ופרטי כניסה לחשבון, כדי לוודא שהם נשמרים בצורה בטוחה במהלך שדרוגים של מכשירים ושחזורים בענן. במקום להסתמך על בדיקות ידניות, מפתחים יכולים להפוך את כל מחזור החיים לאוטומטי: אתחול מצב האפליקציה, גיבוי לפי הכללים שהוגדרו (dataExtractionRules ו-fullBackupContent), מחיקת האפליקציה ואימות שלמות הנתונים אחרי השחזור. המסגרת מספקת שני ארטיפקטים: androidx.test.backup:backup-host (שפועל במחשב המארח כדי לתזמן גיבוי, ניקוי ושחזור של נתונים באמצעות ADB) ו-androidx.test.backup:backup (שפועל במכשיר כדי לאכלס ולאמת את נתוני האפליקציה).

  • ‫BackupRestoreController: הממשק הראשי בצד המארח שמשמש לשליטה בתהליכי עבודה של גיבוי, מחיקה, שחזור ואימות של מכשיר בדיקה. הספרייה מספקת צינורות נוחים כמו runBackupRestoreFlow וגם פעולות מפורטות (performBackup,‏ performRestore,‏ clearAppData,‏ fetchDeviceLogs ו-runOnDevice). היא תומכת גם ב-Kotlin coroutines וגם בביצוע אסינכרוני של Java ListenableFuture.
  • ‫BackupRestoreExtension: תוסף JUnit 5 Jupiter שמחלץ פרמטרים של BackupRestoreController ומזריק אותם לשיטות בדיקה. הכלי מנהל סשנים עצמאיים או משותפים של ADB, מתקין באופן אוטומטי קובצי APK שנבדקו וקובצי APK של בדיקות, מבטל את מסכי הנעילה של המכשיר ואת אמצעי ההגנה מפני הקשה מקרית כדי לבטל את הנעילה של אחסון שמוגן באמצעות אישורים, ומחיל בידוד של ארגז חול לבדיקות.
  • ‫BackupRestoreTestRunner: Instrumentationכלי להרצת בדיקות במכשיר שפועל בארגז החול של האפליקציה. הוא פותר באופן דינמי ומבצע הטמעות של BackupDeviceAction שמתבצעות על ידי מארגני המארחים, ומפנה בבטחה מטען ייעודי (payload) גדול של תוצאות JSON לדיסק כדי למנוע חריגה ממגבלות של מאגר זמני של עסקאות Binder.
  • ‫BackupDeviceAction: החוזה לפעולות מותאמות אישית בצד המכשיר שמופעלות ישירות בארגז החול של אפליקציית היעד במהלך אתחול הנתונים (PHASE_POPULATE) או אימות אחרי השחזור (PHASE_VERIFY).
  • ‫StorageDomain: מתארים עם הקלדה חזקה (Preference,‏ Database,‏ TextFile ו-BinaryFile) שמשמשים לצד רכיבי עזר מוכנים מראש לפעולות (PopulateStorageAction ו-AssertStorageAction) כדי לאכלס ולאמת באופן אוטומטי SharedPreferences, מסדי נתונים של SQLite וקבצים גולמיים בהקשרים של אחסון שמוגן באמצעות אישורים (CE) ואחסון שמוגן באמצעות המכשיר (DE) ללא קוד חוזר.
  • ‫BackupTransportMode: מציין את טופולוגיית התעבורה של הגיבוי בפלטפורמה לסימולציה במהלך מעברי הבדיקה, כולל DEVICE_TO_DEVICE (העברת מכשיר פיזי באמצעות USB או Wi-Fi ישיר),‏ CLOUD_ENCRYPTED (גיבוי בענן עם הצפנה מקצה לקצה בצד הלקוח),‏ CLOUD_UNENCRYPTED (גיבוי רגיל בענן) ו-LOCAL (גיבוי אופליין של מערכת קבצים מקומית).
  • ‫@Device ו-@Isolation: הערות מארח לבחירת מכשירים מחוברים שתואמים למספרים סידוריים ספציפיים, לרמות API או לתפקידים במכשירים מרובים, ולהגדרת מדיניות בידוד של ארגז חול בין הרצות בדיקה (IsolationPolicy.AUTOMATIC לעומת IsolationPolicy.MANUAL).