Test Amaçlı Geri Yükleme Kimlik Bilgileri

Kimlik Bilgisi Yöneticisi'ndeki Kimlik Bilgilerini Geri Yükle özelliği, yeni bir cihaza geçen kullanıcıların sorunsuz bir geçiş yapmasını sağlar. Özelliği test ederken aşağıdaki yaklaşımlardan birini kullanabilirsiniz:

  • Ayrı cihazlar: Yedekleme işlemini gerçekleştirmek için bir kaynak cihaz, geri yükleme işlemini gerçekleştirmek için ayrı bir hedef cihaz kullanın veya iki ayrı Android Studio emülatörü kullanın.
  • Tek cihaz: Bir fiziksel cihaz veya Android Studio emülatörü kullanın. Uygulama, verilerini yedekledikten sonra uygulamayı kaldırıp yeniden yükleyin ve ardından geri yükleme işlemini gerçekleştirin.

Bu kılavuzda, Android Studio'yu kullanarak emülatörde hata ayıklanabilir bir uygulama için Kimlik Bilgilerini Geri Yükleme'yi nasıl test edeceğiniz açıklanmaktadır. Bu testte, ayrı cihazlar veya tek bir cihaz durumları simüle edilir.

Ön koşullar

Kimlik Bilgilerini Geri Yükleme özelliğini test etmek için Android Studio'nun Yedekleme ve Geri Yükleme özelliğini kullanmak istiyorsanız aşağıdaki ön koşulları karşıladığınızdan emin olun:

  • Android Studio Otter | 2025.2.1 veya sonraki sürümler
  • Google Play sistem görüntüsü ve Google Play Hizmetleri'nin 242200000 veya sonraki bir sürümünü içeren, Android 9 (API düzeyi 28) ya da sonraki sürümleri çalıştıran bir sanal cihaz veya fiziksel cihaz (adb shell dumpsys package com.google.android.gms | grep versionCode ile doğrulayın).
  • Test cihazında veya emülatörde oturum açılmış bir Google Hesabı. Bu hesapta, Ayarlar > Güvenlik bölümünde PIN, desen veya şifre ekran kilidi yapılandırılmış olmalıdır. Böylece bulut uçtan uca şifreleme (E2EE) etkin olur ve E2eeUnavailableException hatası oluşmaz.
  • debuggable true ile oluşturulmuş veya debug modunda çalışan bir uygulama. Hata ayıklama, emülatörlerde varsayılan olarak etkindir.

Android Studio'nun yedekleme ve geri yükleme özelliğini kullanma

Android Studio'yu kullanarak Kimlik Bilgilerini Geri Yükleme işlevini test etmek için önce bir cihazdaki verileri yedekleyin, ardından uygulama verilerini başka bir cihaza geri yükleyin. Uygulama geri yüklendikten sonra kimlik doğrulama durumu otomatik olarak geri yüklenir.

Android Studio'da kimlik doğrulama verilerini yedekleme

Android Studio'da yedekleme akışını test etmek için aşağıdaki adımları uygulayın:

  1. Uygulamanızı emülatörde çalıştırın.
  2. Uygulamanızın createCredential() yöntemini CreateRestoreCredentialRequest ile çağırması için herhangi bir kimlik doğrulama mekanizmasını (ör. kullanıcı adı ve şifre, geçiş anahtarları veya Google ile oturum açma) kullanarak uygulamada oturum açın.
  3. Çalışan cihaz penceresinin üst kısmındaki cihaz seçeneklerinde Uygulama Verilerini Yedekle'yi tıklayın.
    Android Studio'da Uygulama Verilerini Yedekleme
    Şekil 1: Android Studio'da Uygulama Verilerini Yedekleme
  4. Yedekleme türü için Cihazdan Cihaza veya Bulut'u seçin.

  5. Tamam'ı tıklayın.

Geri yüklenen kimlik doğrulamayı test etme

Yedekleme tamamlandıktan sonra geri yükleme adımını test etmek için aynı cihazı veya farklı bir cihazı kullanın.

Android Studio'da geri yükleme akışını test etmek için aşağıdaki adımları uygulayın:

  1. Aynı cihazla test etmek için uygulamayı kaldırıp yeniden yükleyin (adb uninstall <package_name> ve ardından adb install <path_to_apk>). Bu işlem, cihazdaki tüm yerel uygulama verilerini ve önceki geri yükleme anahtarını temizler. Yeni bir cihazda kullanmak için uygulamayı yeni cihaza yükleyin.

  2. 1. kademe arka planda geri yükleme'yi (BackupAgent.onRestoreFinished()) önce Activity uygulamasını başlatmadan test etmek için Android Studio'da Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) açın ve yüklemeden önce Launch Options > Launch'u (Başlatma Seçenekleri > Başlat) Nothing (Hiçbiri) olarak ayarlayın. Uygulama Verilerini Geri Yükle'yi çalıştırmadan önce uygulamayı başlatırsanız geri yükleme anahtarı henüz cihaza geri yüklenmediği için kimlik doğrulama ekranına yönlendirilirsiniz.

  3. Çalışan cihaz penceresinin cihaz seçeneklerinde Uygulama verilerini geri yükle'yi tıklayın ve yeni oluşturulan yedeği seçin.

    Android Studio'da Uygulama Verilerini Geri Yükleme
    Şekil 2: Android Studio'da Uygulama Verilerini Geri Yükleme

  4. BackupAgent.onRestoreFinished() uygulamasının arka planda RestoreCredential aldığını doğrulamak için Logcat'i inceleyin veya kullanıcının otomatik olarak oturum açtığını doğrulamak için uygulamayı açın.

adb veya otomatik JUnit 5 test paketleriyle test etme

Android Studio'nun kullanıcı arayüzü işlemine ek olarak, yedekleme ve geri yükleme akışlarını komut satırından veya sürekli entegrasyonda (CI) test edebilirsiniz:

  • bmgr ile komut satırı testi: Fiziksel bir cihazda veya başsız emülatörde yedekleme yöneticisini etkinleştirin (adb shell bmgr enable true), yedekleme işlemini tetikleyin (adb shell bmgr backupnow <package_name>), uygulamayı yeniden yükleyin, mevcut yedekleme gruplarını listeleyin (adb shell bmgr list sets) ve geri yükleme işlemini tetikleyin (adb shell bmgr restore <token> <package_name>). Tüm ayrıntılar için Yedekleme ve geri yükleme testleri başlıklı makaleyi inceleyin.
  • Otomatik JUnit 5 ana makine testleri (androidx.test.backup): Bir veya iki bağlı cihazda hem BackupTransportMode.CLOUD_ENCRYPTED hem de BackupTransportMode.DEVICE_TO_DEVICE test etmek için BackupRestoreController kullanarak otomatik JUnit 5 testleri yazın. Kurulum talimatları ve örnek testler için Otomatik yedekleme ve geri yükleme testi başlıklı makaleyi inceleyin.