Test Yedekleme
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 21 Ekim 2026 | - | - | - | 1.0.0-alpha03 |
Bağımlılıkları bildirme
Test yedeklemesine bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposu sayfasını okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasında ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
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") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir sorun için oy verebilirsiniz.
Daha fazla bilgi için Issue Tracker belgelerine bakın.
Automated Backup Restore Test Sürüm 1.0
Sürüm 1.0.0-alpha03
21 Ekim 2026
androidx.test.backup:backup:1.0.0-alpha03 ve androidx.test.backup:backup-host:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.
Yeni özellikler
@BackupRestoreConfigatlandığında test edilen uygulamayı otomatik olarak hedefleyerek Android Gradle eklentisi yedek test paketlerinde basitleştirilmiş test kurulumu. (I1452b)@Nestedtest sınıflarında,@BackupRestoreConfigve@Isolationayarlarının dış test sınıfından devralınması için destek eklendi. (Ia45a8)BackupRestoreControlleröğesini doğrudan test sınıfı oluşturucularına ve@BeforeAllkurulum yöntemlerine ekleme desteği eklendi. (I6e822, Ia2ebd)androidx.test.backup.device.serial.{role}özelliği kullanılarak çeşitli cihaz testlerinde belirli bir cihazın@Devicerolüne sabitlenmesi için destek eklendi. (I484be)
Hata Düzeltmeleri
- Yedekleme atlandığında veya boş olduğunda, yedekleme hizmeti hata verdiğinde ya da yerel yedekleme arşivi farklı bir uygulamaya veya cihaza ait olduğunda testlerin sessizce geçmek yerine hemen başarısız olması için
performBackupveperformRestoredüzeltildi. (I7673d, I478ad, I0b989, I9a0ea, I79567) - Yedekleme, geri yükleme, cihaz işlemleri ve temizleme adımlarında zaman aşımı uygulayarak yanıt vermeyen cihazlarda testlerin süresiz olarak askıda kalması sorunu düzeltildi. (I10661, I9cdee, If5f92)
- Test çalıştırması tamamlandığında oluşturulan yedek dosyalarını silen
performBackupdüzeltildi. Böylece, testlerden çıkıldıktan sonra yedek arşivleri artık diskte tutuluyor. (I8c13f) - Veritabanı test yardımcıları (
StorageDomain.Database),nulldeğerlerini doğru şekilde depolayıp kontrol edecek, test verilerini eklerken mevcut satırların üzerine yazacak, geçersiz tablo yapılandırmalarını erkenden yakalayacak ve beklenen bir veritabanı dosyası eksik olduğunda hata verecek şekilde düzeltildi. (Ib4767, Iddf87, I19c43, Ie8d78, I8bc18) - Veri türlerini doğru şekilde korumak ve
nullveya kaldırılan tercihlerin kontrol edilmesini desteklemek içinSharedPreferencestest yardımcıları düzeltildi. (I8456d9, I1d0fc2) runOnDevice, büyük test yüklerini kilitlenmeden işleyecek,waitForDebuggeretkinleştirildiğinde hata ayıklayıcı için duraklatılacak, özel test APK paketi adlarında test çalıştırıcıyı bulacak ve dahili çalıştırıcı işaretlerinin cihaz işlemlerine sızmasını engelleyecek şekilde düzeltildi. (Ic73bd, Iede17, I1d172, I84c15)- Test çalıştırması boyunca tek bir ADB bağlantısı paylaşarak, APK'ları cihaz başına yalnızca bir kez yükleyerek ve bir APK yüklenemediğinde veya başlatılamadığında net bir şekilde başarısız olarak test kararlılığı ve hızı iyileştirildi. (I62717, Iabf75, I14e6f, I4c3da5, I54077, Iee84e)
fetchDeviceLogsuygulamasının boş günlük dosyaları yazmasıyla ilgili sorun düzeltildi ve iptal edilen test çalıştırmalarının yanlış hata raporları oluşturması engellendi. (I736c4, I7b199, Ia847e)backup-hostbağımlılıkları temizlendi. Böyleceadblib, doğrudan arayanlar tarafından kullanılabilir ve dahili günlük kaydı veya test kitaplıkları artık projenizin sınıf yoluyla çakışmaz. (I6e822, Iba9a4, Ib4ec9)
Sürüm 1.0.0-alpha02
7 Ekim 2026
androidx.test.backup:backup:1.0.0-alpha02 ve androidx.test.backup:backup-host:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu commit'leri içerir.
API Değişiklikleri
- Yük anahtarları artık
BackupDeviceActionüzerindeki sabitlerin yerineBackupActionInputKeys,BackupActionOutputKeysveBackupActionValuesolarak belgeleniyor.BackupDeviceActionResult.success()vefailure()fabrikaları ileisSuccessveerrorMessageerişimcileri eklendi. (Ibd493)
Hata Düzeltmeleri
BackupRestoreController.clearAppData,pm clearbaşarılı bir şekilde raporlanmadığında sessizce devam etmek yerine artıkIOExceptionhatası veriyor. (I61556)- Cihazda yürütme için
BackupRestoreControlleraracına iletilen kabuk bağımsız değişkenleri, artık komut yerleştirmeyi önlemek ve boşluk içeren dosya yollarının güvenli bir şekilde işlenmesini sağlamak için doğru şekilde kodlanıyor. - Beklenen veriler eksik olduğunda testlerin kesinlikle başarısız olmasını sağlamak için paketlenmiş depolama işlemleri (
PopulateStorageActionveAssertStorageAction), sessiz doğrulama geçişlerine karşı güçlendirildi. - Ana makine tarafındaki test düzenleyiciler artık cihaz tarafından bildirilen bant içi işlem hatalarını yoksaymak yerine doğru şekilde dikkate alıyor.
- Veritabanı
'values'kablo biçimini yüzde kodlamasıyla kodlayarak veritabanı satır doldurma ile ilgili bir sorun düzeltildi. Bu sayede, yük taşıma sırasında verilerin bozulması önlendi. - Bağımlılıklar yükseltilerek
androidx.test.backup:backup-hostuygulamasındaki güvenlik açıkları giderildi.
Sürüm 1.0.0-alpha01
23 Eylül 2026
androidx.test.backup:backup:1.0.0-alpha01 ve androidx.test.backup:backup-host:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu kayıtları içerir.
İlk sürümün özellikleri
Android için Otomatik Yedekleme ve Geri Yükleme Testi çerçevesinin ilk sürümü. Bu kitaplık, kullanıcı verilerinin ve hesap giriş bilgilerinin cihaz yükseltme ve buluttan geri yükleme işlemlerinden güvenli bir şekilde etkilenmediğini test etmek için otomatik ve uçtan uca bir yöntem sunar. Geliştiriciler, manuel testlere güvenmek yerine tüm yaşam döngüsünü otomatikleştirebilir: Uygulama durumunu başlatma, yapılandırılmış kurallarınıza göre yedekleme (dataExtractionRules ve fullBackupContent), uygulamayı silme ve geri yükleme sonrası veri bütünlüğünü doğrulama. Çerçeve iki yapı sağlar: androidx.test.backup:backup-host (ADB üzerinden yedekleme, silme ve geri yükleme işlemlerini düzenlemek için ana bilgisayarda çalışır) ve androidx.test.backup:backup (uygulama verilerini doldurmak ve doğrulamak için cihazda çalışır).
BackupRestoreController: Bir test cihazının yedekleme, silme, geri yükleme ve doğrulama iş akışlarını kontrol etmek için kullanılan ana makine tarafındaki birincil arayüz.runBackupRestoreFlowgibi kolaylık sağlayan ardışık düzenlerin yanı sıra ayrıntılı işlemler (performBackup,performRestore,clearAppData,fetchDeviceLogsverunOnDevice) sunar. Hem Kotlin eş yordamlarını hem de JavaListenableFutureeşzamansız yürütmeyi destekler.BackupRestoreExtension:BackupRestoreControllerparametrelerini çözümleyen ve test yöntemlerine ekleyen bir JUnit 5 Jupiter uzantısı. Bağımsız veya paylaşılan ADB oturumlarını yönetir, test edilen ve test APK'larını otomatik olarak yükler, kimlik bilgileriyle korunan depolama alanının kilidini açmak için cihaz kilit ekranlarını ve tuş kilitlerini kapatır ve test korumalı alan izolasyonunu zorunlu kılar.BackupRestoreTestRunner: Uygulama korumalı alanında çalışan cihaz üzerindeInstrumentationtest çalıştırıcısı. Ana makine düzenleyiciler tarafından gönderilen istenenBackupDeviceActionuygulamalarını dinamik olarak çözer ve yürütür. Ayrıca, Binder işlem arabelleği sınırlarını önlemek için büyük JSON sonuç yüklerini güvenli bir şekilde diske yönlendirir.BackupDeviceAction: Veri ekleme (PHASE_POPULATE) veya geri yükleme sonrası doğrulama (PHASE_VERIFY) sırasında doğrudan hedef uygulama korumalı alanında yürütülen özel cihaz tarafı işlemler için sözleşme.StorageDomain: Önceden oluşturulmuş işlem yardımcılarıyla (PopulateStorageActionveAssertStorageAction) birlikte kullanılan, kesin olarak yazılmış tanımlayıcılar (Preference,Database,TextFileveBinaryFile), hem Kimlik Bilgisi Korumalı (CE) hem de Cihaz Korumalı (DE) depolama bağlamlarındaSharedPreferences, SQLite veritabanları ve ham dosyaları otomatik olarak doldurur ve onaylar.BackupTransportMode: Test geçişleri sırasında simüle edilecek platform yedekleme aktarım topolojisini belirtir. BunaDEVICE_TO_DEVICE(USB veya Kablosuz Doğrudan Bağlantı aracılığıyla fiziksel cihaz taşıma),CLOUD_ENCRYPTED(istemci tarafı uçtan uca şifreleme ile bulut yedekleme),CLOUD_UNENCRYPTED(standart bulut yedekleme) veLOCAL(çevrimdışı yerel dosya sistemi yedekleme) dahildir.@Deviceve@Isolation: Belirli seri numaraları, API düzeyleri veya çeşitli cihaz rolleriyle eşleşen bağlı cihazları seçmek ve test çalıştırmaları arasında korumalı alan izolasyon politikalarını yapılandırmak için ana makine ek açıklamaları (IsolationPolicy.AUTOMATICveIsolationPolicy.MANUAL).