Mürekkep balığı: Anlık görüntü ve geri yükleme

Android 15, anlık görüntü alma ve mürekkep balığı sanal cihazının anlık görüntüsünü geri yükleme. Bir projenin Mürekkep balığı cihazı, cihazın durumunu diskteki bir görüntüye kaydetmenize olanak tanır. Daha sonra, bir Mürekkep balığı cihazını açmak için anlık görüntüyü geri yükleyebilirsiniz. durum.

Anlık görüntüleri, çeşitli otomatik veya manuel iş akışlarında kullanabilirsiniz. Zaman cihaz üzerinde değişiklik yapan bir prosedür uygulamakla birlikte, cihazı belirtilen duruma geri yükleyebileceğinizden emin olun. Örneğin, cihazın durumunu değiştiren test paketlerini çalıştırırken ve aşağıdaki testlerde sorunlara ya da kararsızlıklara neden olabilir. sonra cihazı kayıtlı durumuna geri yüklemek için anlık görüntü alabilirsiniz. sonraki testlerin sorunsuz çalışmasını sağlamak için bir test gerçekleştirir.

Anlık görüntülerin yararlı olduğu başka bir iş akışı örneği de, en iyi uygulamaları paylaşacağız. Bir uygulamanın davranışını bir dizi uygulamaya dayalı olarak test ederken uygulama çalışırken işlemler arasında anlık görüntü alabilirsiniz. Böylece, başlar. Örneğin, bir oyunun açılma süresi uzunsa ana menüye geldikten sonra anlık görüntü alabilir. Böylece, getirme süresini atlayarak cihazı bu duruma getirin.

Mürekkep balığı cihazının anlık görüntüsünü çek

Bir cihazın anlık görüntüsünü alırken Mürekkep balığı cihazı askıya alınmalıdır cihazın sabit durumda olduğundan emin olun. Cihaz, askıya alınır, tüm vCPU'lar ve cihazlar durdurulur ve tüm arabellekler sanal makineye aktarabilirsiniz. Anlık görüntü daha sonra vCPU durumunu, belleği ve ve cihaz durumunu belirtilen hedef klasördeki diske kaydeder.

VirtiosFS desteklenmez ve anlık görüntü alınırken devre dışı bırakılmalıdır. Alıcı: VirtioFS'yi devre dışı bırakma, bağımsız değişkeni iletme cvd start çalışırken --enable_virtiofs=false.

Şunlar için yalnızca SwiftShader (guest_swiftshader) GPU modu desteklenir anlık görüntüler. Diğer hızlandırılmış grafik modları desteklenmez.

Aşağıdaki adımlarda bir Mürekkep balığı cihazının lansman süreci açıklanmaktadır. ve anlık görüntü almak.

  1. VirtioFS'yi devre dışı bırakırken bir cihazı başlatın. (Ardından cihazı kullanabilirsiniz.)

    cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
    
  2. Aşağıdaki işaretlerle cvd snapshot_take komutunu çalıştırarak anlık görüntü alın:

    • --force: Belirtilen anlık görüntü yolunda bir klasör varsa bu klasör flag, mevcut klasörün ve yeni bir klasörün silinmesini sağlar. dosyası, anlık görüntüyü içeren anlık görüntü yolunda oluşturulur

    • --auto_suspend: Anlık görüntü alınmadan önce cihazı askıya alır ve Bu düğme anlık görüntü çekildikten sonra cihazı devam ettirir.

    • --snapshot_path: Yeni klasörün oluşturulduğu belirtilen yol. anlık görüntüyle.

    cvd snapshot_take --force --auto_suspend \
    --snapshot_path=PATH
    

Mürekkep balığı cihazını geri yükleme

Bir Mürekkep balığı cihazının anlık görüntüsünü geri yüklerken, Mürekkep balığı örneği: Bu anlık görüntü durdurulmalıdır. Örnek zaten durdurulduysa başka bir işlem yapmanız gerekmez ve anlık görüntü geri yüklenebilir.

Bir Mürekkep balığı cihazının anlık görüntüsünü geri yüklemek için cihazı cvd start ile başlatın anlık görüntü yolunu ekleyin. Mürekkep balığının temel örnek numarası anlık görüntünün alındığı cihaz, temel örnekten farklı geçerli Cuttlefish örneğinin numarası, bu temel örneği ilet --base_instance_num işaretini kullanın.

cvd start --snapshot_path=PATH \
--base_instance_num=ID

Mürekkep balığı cihazını askıya alma

Bir anlık görüntü almadan (disk alanı yok) bir mürekkep balığı cihazını askıya alabilirsiniz eyaleti kaydetmek için kullanılır). Mürekkep balığı cihazını askıya almak için şu komutu çalıştırın:

cvd suspend

Mürekkep balığı cihazını devam ettirme

Askıya alınmış bir Mürekkep balığı cihazını devam ettirmek için şu komutu çalıştırın:

cvd resume

Anlık görüntü/Geri yükleme özelliğini doğrulayın

Anlık Görüntü/Geri Yükleme özelliği, aşağıdaki test uygulanarak doğrulanabilir:

atest SnapshotTest