ऑटोमेटेड बैकअप रिस्टोर टेस्ट

  
ऑटोमेटेड टेस्टिंग फ़्रेमवर्क, यह पुष्टि करता है कि डिवाइस अपग्रेड करने और क्लाउड से डेटा वापस लाने के दौरान, उपयोगकर्ता का डेटा और खाते के क्रेडेंशियल सुरक्षित रहें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
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 कोरुटीन और Java ListenableFuture एसिंक्रोनस एक्ज़ीक्यूशन, दोनों के साथ काम करता है.
  • BackupRestoreExtension: यह JUnit 5 Jupiter एक्सटेंशन है. यह BackupRestoreController पैरामीटर को हल करता है और उन्हें टेस्ट के तरीकों में इंजेक्ट करता है. यह स्टैंडअलोन या शेयर किए गए ADB सेशन मैनेज करता है. साथ ही, टेस्ट किए गए और टेस्ट APK अपने-आप इंस्टॉल करता है. इसके अलावा, यह क्रेडेंशियल से सुरक्षित स्टोरेज को अनलॉक करने के लिए, डिवाइस की लॉकस्क्रीन और कीगार्ड को खारिज करता है. साथ ही, टेस्ट सैंडबॉक्स आइसोलेशन लागू करता है.
  • BackupRestoreTestRunner: यह उपयोगकर्ता के डिवाइस पर मौजूद Instrumentation टेस्ट रनर है, जो ऐप्लिकेशन के सैंडबॉक्स में काम करता है. यह अनुरोध किए गए BackupDeviceAction को डाइनैमिक तरीके से हल करता है और उन्हें लागू करता है. इन्हें होस्ट ऑर्केस्ट्रेटर भेजते हैं. साथ ही, यह बड़े JSON नतीजे के पेलोड को सुरक्षित तरीके से डिस्क पर रीडायरेक्ट करता है, ताकि बाइंडर ट्रांज़ैक्शन बफ़र की सीमाओं को रोका जा सके.
  • BackupDeviceAction: यह कस्टम डिवाइस-साइड ऐक्शन के लिए अनुबंध है. यह डेटा सीडिंग (PHASE_POPULATE) या पोस्ट-रीस्टोर पुष्टि (PHASE_VERIFY) के दौरान, सीधे तौर पर टारगेट ऐप्लिकेशन के सैंडबॉक्स में लागू होता है.
  • StorageDomain: स्ट्रॉन्गली टाइप किए गए डिस्क्रिप्टर (Preference, Database, TextFile, और BinaryFile) का इस्तेमाल, पहले से बनाए गए ऐक्शन हेल्पर (PopulateStorageAction और AssertStorageAction) के साथ किया जाता है. इससे SharedPreferences, SQLite डेटाबेस, और रॉ फ़ाइलों को क्रेडेंशियल प्रोटेक्टेड (सीई) और डिवाइस प्रोटेक्टेड (डीई), दोनों स्टोरेज कॉन्टेक्स्ट में अपने-आप सीड और असर्ट किया जा सकता है. इसके लिए, बॉयलरप्लेट की ज़रूरत नहीं होती.
  • BackupTransportMode: इससे टेस्ट पास के दौरान, प्लैटफ़ॉर्म के बैकअप ट्रांसफ़र टोपोलॉजी के बारे में पता चलता है. इसमें DEVICE_TO_DEVICE (यूएसबी या Wi-Fi Direct के ज़रिए फ़िज़िकल डिवाइस माइग्रेट करना), CLOUD_ENCRYPTED (क्लाइंट-साइड एंड-टू-एंड एन्क्रिप्शन के साथ क्लाउड बैकअप), CLOUD_UNENCRYPTED (स्टैंडर्ड क्लाउड बैकअप), और LOCAL (ऑफ़लाइन लोकल फ़ाइल सिस्टम बैकअप) शामिल हैं.
  • @Device और @Isolation: होस्ट एनोटेशन की मदद से, खास सीरियल, एपीआई लेवल या एक से ज़्यादा डिवाइसों की भूमिकाओं से मेल खाने वाले कनेक्ट किए गए डिवाइसों को चुना जा सकता है. साथ ही, टेस्ट रन (IsolationPolicy.AUTOMATIC बनाम IsolationPolicy.MANUAL) के बीच सैंडबॉक्स आइसोलेशन की नीतियां कॉन्फ़िगर की जा सकती हैं.