اختبار استعادة النسخة الاحتياطية تلقائيًا
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 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 وتنفيذListenableFutureغير المتزامن في Java. -
BackupRestoreExtension: إضافة JUnit 5 Jupiter تحلّل معلَماتBackupRestoreControllerوتدرجها في طرق الاختبار. تتيح إدارة جلسات تصحيح الأخطاء عبر ADB المستقلة أو المشترَكة، وتثبّت تلقائيًا حِزم APK التي تم اختبارها، وتتجاهل شاشات قفل الأجهزة وkeyguard لفتح مساحة التخزين المحمية ببيانات الاعتماد، وتفرض عزل وضع الحماية التجريبي. -
BackupRestoreTestRunner: أداة تنفيذ اختبارInstrumentationعلى الجهاز تعمل داخل وضع الحماية للتطبيق. يحلّ هذا الإجراء ديناميكيًا عمليات تنفيذBackupDeviceActionالمطلوبة التي يتم إرسالها من خلال أدوات التنسيق المضيفة، ويعيد توجيه حمولات نتائج 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: تعليقات توضيحية للمضيف لاختيار الأجهزة المتصلة التي تتطابق مع أرقام تسلسلية أو مستويات واجهة برمجة تطبيقات أو أدوار أجهزة مصمّمة لأجهزة متعدّدة معيّنة، وإعداد سياسات عزل البيئة التجريبية بين عمليات الاختبار (IsolationPolicy.AUTOMATICمقابلIsolationPolicy.MANUAL).