ব্যাক-আপ পরীক্ষা করুন
| লেটেস্ট আপডেট | স্টেবল রিলিজ | রিলিজ ক্যান্ডিডেট | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২১ অক্টোবর, ২০২৬ | - | - | - | 1.0.0-alpha03 |
ডিপেন্ডেন্সি ঘোষণা করা
টেস্ট ব্যাক-আপে ডিপেন্ডেন্সি যোগ করতে, আপনার প্রোজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য ডিপেন্ডেন্সি যোগ করুন:
গ্ৰুভি
dependencies { implementation "androidx.test.backup:backup:1.0.0-alpha03" implementation "androidx.test.backup:backup-host:1.0.0-alpha03" }
Kotlin
dependencies { implementation("androidx.test.backup:backup:1.0.0-alpha03") implementation("androidx.test.backup:backup-host:1.0.0-alpha03") }
ডিপেন্ডেন্সি সম্পর্কে আরও জানতে, বিল্ড ডিপেন্ডেন্সি যোগ করুন দেখুন।
মতামত
আপনার মতামত Jetpack-কে আরও ভাল করে তুলতে সাহায্য করে। আপনি নতুন কোনও সমস্যা খুঁজে পেলে বা এই লাইব্রেরি উন্নত করার জন্য কোনও আইডিয়া থাকলে, আমাদের জানান। নতুন সমস্যা তৈরি করার আগে এই লাইব্রেরিতে আগে থেকে থাকা সমস্যা একবার দেখে নিন। আপনি স্টার বোতামে ক্লিক করে আগে থেকে থাকা কোনও সমস্যার জন্য ভোট দিতে পারেন।
আরও তথ্যের জন্য Issue Tracker ডকুমেন্টেশন দেখুন।
অটোমেটেড ব্যাক-আপ রিস্টোর টেস্ট ভার্সন ১.০
Version 1.0.0-alpha03
২১ অক্টোবর, ২০২৬
androidx.test.backup:backup:1.0.0-alpha03 ও androidx.test.backup:backup-host:1.0.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha03-এ এইসব কমিট রয়েছে।
নতুন ফিচার
@BackupRestoreConfigবাদ দেওয়া হলে, Android Gradle প্লাগ-ইন ব্যাক-আপ টেস্ট স্যুটে টেস্ট সেট-আপ সহজ করা হয়েছে। এটি করা হয়েছে টেস্ট করা অ্যাপকে অটোমেটিক টার্গেট করার মাধ্যমে। (I1452b)@Nestedটেস্ট ক্লাসে বাইরের টেস্ট ক্লাস থেকে@BackupRestoreConfigএবং@Isolationসেটিংস ইনহেরিট করার জন্য সহায়তা যোগ করা হয়েছে। (Ia45a8)- টেস্ট ক্লাস কনস্ট্রাক্টর এবং
@BeforeAllসেট-আপ পদ্ধতিতে সরাসরিBackupRestoreControllerইনজেক্ট করার জন্য সহায়তা যোগ করা হয়েছে। (I6e822, Ia2ebd) androidx.test.backup.device.serial.{role}প্রপার্টি ব্যবহার করে মাল্টি-ডিভাইস টেস্টে@Deviceরোলে নির্দিষ্ট ডিভাইস পিন করার জন্য সহায়তা যোগ করা হয়েছে। (I484be)
ত্রুটি সমাধান
performBackupএবংperformRestoreঠিক করা হয়েছে যাতে ব্যাক-আপ এড়িয়ে যাওয়া বা খালি থাকলে, ব্যাক-আপ পরিষেবাতে সমস্যা হলে অথবা স্থানীয় ব্যাক-আপ আর্কাইভ অন্য কোনও অ্যাপ বা ডিভাইসের হলে, টেস্ট চুপচাপ পাস করার পরিবর্তে সাথে সাথে ব্যর্থ হয়। (I7673d, I478ad, I0b989, I9a0ea, I79567)- ব্যাক-আপ, রিস্টোর, ডিভাইস অ্যাকশন ও ক্লিন-আপ ধাপ জুড়ে টাইম-আউট এনফোর্স করার মাধ্যমে, রেসপন্স না করা ডিভাইসে অনির্দিষ্টকালের জন্য হ্যাং হয়ে যাওয়া টেস্টের সমস্যার সমাধান করা হয়েছে। (I10661, I9cdee, If5f92)
- টেস্ট রান শেষ হওয়ার পরে তৈরি হওয়া ব্যাকআপ ফাইল মুছে ফেলার
performBackupসংক্রান্ত সমস্যার সমাধান করা হয়েছে, তাই টেস্ট শেষ হওয়ার পরে ব্যাকআপ আর্কাইভ এখন ডিস্কে রাখা হয়। (I8c13f) nullভ্যালু সঠিকভাবে স্টোর ও চেক করতে, টেস্ট ডেটা সিডিং করার সময় আগে থেকে থাকা সারি ওভাররাইট করতে, ভুল টেবিল কনফিগারেশন আগে থেকে ধরতে এবং প্রত্যাশিত ডেটাবেস ফাইল না থাকলে ব্যর্থ হতে, ফিক্সড ডেটাবেস টেস্ট হেল্পার (StorageDomain.Database) ব্যবহার করা হয়। (Ib4৭৬৭, Iddf৮৭, I১৯c৪৩, Ie৮d৭৮, I৮bc১৮)- ডেটার ধরন সঠিকভাবে সংরক্ষণ করতে এবং
nullবা সরানো পছন্দগুলি চেক করার জন্যSharedPreferencesটেস্ট হেল্পার ঠিক করা হয়েছে। (I8456d9, I1d0fc2) - ক্র্যাশ না করে বড় টেস্ট পেলোড ম্যানেজ করতে,
waitForDebuggerচালু থাকলে ডিবাগারের জন্য পজ করতে, কাস্টম টেস্ট APK প্যাকেজের নামে টেস্ট রানার খুঁজতে এবং ইন্টার্নাল রানার ফ্ল্যাগ যাতে ডিভাইস অ্যাকশনে লিক না হয় তার জন্য ব্লক করতেrunOnDeviceঠিক করা হয়েছে। (Ic73bd, Iede17, I1d172, I84c15) - টেস্ট রান জুড়ে একটি ADB কানেকশন শেয়ার করে, ডিভাইস প্রতি একবার APK ইনস্টল করে এবং APK ইনস্টল বা লঞ্চ করতে না পারলে স্পষ্টভাবে ব্যর্থতা দেখানোর মাধ্যমে টেস্টের স্থায়িত্ব ও স্পিড উন্নত করা হয়েছে। (I62717, Iabf75, I14e6f, I4c3da5, I54077, Iee84e)
fetchDeviceLogs-এর খালি লগ ফাইল লেখার সমস্যা সমাধান করা হয়েছে এবং বাতিল করা টেস্ট রান থেকে ভুল ব্যর্থতার রিপোর্ট তৈরি করা বন্ধ করা হয়েছে। (I736c4, I7b199, Ia847e)backup-hostডিপেন্ডেন্সি ক্লিন-আপ করা হয়েছে যাতেadblibসরাসরি কলারদের জন্য উপলভ্য হয় এবং ইন্টার্নাল লগিং বা টেস্ট লাইব্রেরি আপনার প্রোজেক্টের ক্লাসপাথের সাথে আর ক্ল্যাশ না করে। (I6e822, Iba9a4, Ib4ec9)
ভার্সন 1.0.0-alpha02
৭ অক্টোবর, ২০২৬
androidx.test.backup:backup:1.0.0-alpha02 ও androidx.test.backup:backup-host:1.0.0-alpha02 রিলিজ করা হয়েছে। 1.0.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।
API-তে পরিবর্তন
- পেলোড কী এখন
BackupActionInputKeys,BackupActionOutputKeysএবংBackupActionValuesহিসেবে ডকুমেন্ট করা হয়েছে, যাBackupDeviceAction-এ কনস্ট্যান্টকে পরিবর্তন করে।isSuccessএবংerrorMessageঅ্যাক্সেসরের সাথেBackupDeviceActionResult.success()এবংfailure()ফ্যাক্টরি যোগ করা হয়েছে। (Ibd493)
ত্রুটি সমাধান
pm clearসফলতার রিপোর্ট না করলে,BackupRestoreController.clearAppDataএখন নীরবে চালিয়ে যাওয়ার পরিবর্তেIOExceptionথ্রো করে। (I61556)- ডিভাইস এক্সিকিউশনের জন্য
BackupRestoreController-এ পাস করা শেল আর্গুমেন্ট এখন সঠিকভাবে এড়ানো হয়েছে যাতে কমান্ড ইনজেকশন প্রতিরোধ করা যায় এবং স্পেস সহ ফাইল পাথ নিরাপদে ম্যানেজ করা যায়। - প্রত্যাশিত ডেটা না থাকলে যাতে টেস্ট নিশ্চিতভাবে ব্যর্থ হয়, তা নিশ্চিত করতে সাইলেন্ট যাচাইকরণ পাসের বিরুদ্ধে বান্ডেল করা স্টোরেজ অ্যাকশন (
PopulateStorageActionএবংAssertStorageAction) আরও কঠোর করা হয়েছে। - হোস্ট-সাইড টেস্ট অর্কেস্ট্রেটর এখন ডিভাইসের রিপোর্ট করা ইন-ব্যান্ড অ্যাকশন সংক্রান্ত সমস্যা উপেক্ষা করার পরিবর্তে সঠিকভাবে বিবেচনা করে।
- ডেটাবেস
'values'ওয়্যার ফর্ম্যাট পার্সেন্ট-এনকোডিং করে ডেটাবেস রো পপুলেশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে, এর ফলে পেলোড ট্রান্সপোর্টের সময় ডেটা নষ্ট হওয়া আটকানো যায়। - ডিপেন্ডেন্সি আপগ্রেড করে
androidx.test.backup:backup-host-এ নিরাপত্তা সংক্রান্ত দুর্বলতা সমাধান করা হয়েছে।
Version 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 এবং JavaListenableFutureঅ্যাসিঙ্ক্রোনাস এক্সিকিউশন, দুটিই সাপোর্ট করে।BackupRestoreExtension: একটি JUnit 5 Jupiter এক্সটেনশন যা টেস্ট পদ্ধতিতেBackupRestoreControllerপ্যারামিটার সমাধান করে এবং ইনজেক্ট করে। স্ট্যান্ডঅ্যালোন বা শেয়ার করা ADB সেশন ম্যানেজ করে, টেস্ট করা ও টেস্ট APK অটোমেটিক ইনস্টল করে, ক্রেডেনশিয়াল-সুরক্ষিত স্টোরেজ আনলক করতে ডিভাইসের লকস্ক্রিন ও কীগার্ড সরিয়ে দেয় এবং টেস্ট স্যান্ডবক্স আইসোলেশন এনফোর্স করে।BackupRestoreTestRunner: অ্যাপ্লিকেশন স্যান্ডবক্সের মধ্যে একটি অন-ডিভাইসInstrumentationটেস্ট রানার এক্সিকিউট করা হচ্ছে। হোস্ট অর্কেস্ট্রেটর দ্বারা প্রেরিত অনুরোধ করাBackupDeviceActionবাস্তবায়নগুলি ডাইনামিকভাবে সমাধান এবং কার্যকর করে এবং বাইন্ডার ট্রানজ্যাকশন বাফার সীমা প্রতিরোধ করতে ডিস্কে বড় JSON ফলাফল পেলোডগুলি নিরাপদে রিডাইরেক্ট করে।BackupDeviceAction: ডেটা সিডিং (PHASE_POPULATE) বা রিস্টোর-পরবর্তী যাচাইকরণ (PHASE_VERIFY) চলাকালীন টার্গেট অ্যাপ্লিকেশন স্যান্ডবক্সের মধ্যে সরাসরি কাস্টম ডিভাইস-সাইড অ্যাকশন কার্যকর করার চুক্তি।StorageDomain: স্ট্রংলি টাইপড ডেসক্রিপ্টর (Preference,Database,TextFileএবংBinaryFile) আগে থেকে তৈরি অ্যাকশন হেল্পারের (PopulateStorageActionএবংAssertStorageAction) সাথে ব্যবহার করা হয় যাতে ক্রেডেনশিয়াল প্রোটেক্টেড (CE) এবং ডিভাইস প্রোটেক্টেড (DE) স্টোরেজ কন্টেক্সট জুড়েSharedPreferences, SQLite ডেটাবেস এবং র ফাইল অটোমেটিক সিড ও অ্যাসার্ট করা যায়।BackupTransportMode: টেস্ট পাসের সময় সিমুলেট করার জন্য প্ল্যাটফর্ম ব্যাক-আপ ট্রান্সপোর্ট টপোলজি নির্দিষ্ট করে, যার মধ্যেDEVICE_TO_DEVICE(USB বা Wi-Fi Direct-এর মাধ্যমে ফিজিক্যাল ডিভাইস মাইগ্রেশন),CLOUD_ENCRYPTED(ক্লায়েন্ট-সাইড এন্ড-টু-এন্ড এনক্রিপশন সহ ক্লাউড ব্যাক-আপ),CLOUD_UNENCRYPTED(স্ট্যান্ডার্ড ক্লাউড ব্যাক-আপ) এবংLOCAL(অফলাইন লোকাল ফাইলসিস্টেম ব্যাক-আপ) অন্তর্ভুক্ত।@Deviceএবং@Isolation: নির্দিষ্ট সিরিয়াল, API লেভেল বা মাল্টি-ডিভাইস রোলের সাথে ম্যাচ করে এমন কানেক্ট করা ডিভাইস বেছে নেওয়ার জন্য হোস্ট অ্যানোটেশন এবং টেস্ট রান (IsolationPolicy.AUTOMATICবনামIsolationPolicy.MANUAL)-এর মধ্যে স্যান্ডবক্স আইসোলেশন নীতি কনফিগার করা।