Android 15 memperkenalkan cara mengambil snapshot dan memulihkan snapshot perangkat virtual Cuttlefish. Dengan mengambil snapshot perangkat Cuttlefish, Anda dapat menyimpan status perangkat dalam gambar di disk. Kemudian, Anda dapat memulihkan snapshot untuk menampilkan perangkat Cuttlefish ke status yang disimpan sebelumnya.
Anda dapat menggunakan snapshot dalam berbagai alur kerja otomatis atau manual. Saat melakukan prosedur yang mengubah perangkat, Anda dapat mengambil snapshot perangkat untuk memastikan Anda dapat memulihkan perangkat kembali ke status yang ditentukan. Misalnya, saat menjalankan rangkaian pengujian yang mengubah status perangkat dan berpotensi menyebabkan masalah atau ketidakstabilan dalam pengujian berikut, Anda dapat mengambil snapshot sehingga dapat memulihkan perangkat ke status tersimpan setelah pengujian, untuk memastikan bahwa pengujian berikutnya berjalan dengan baik.
Contoh lain alur kerja yang memanfaatkan snapshot adalah saat menguji perilaku aplikasi. Saat menguji perilaku aplikasi berdasarkan serangkaian tindakan, Anda dapat mengambil snapshot di sela-sela tindakan saat aplikasi berjalan agar Anda dapat memulihkan ke snapshot tersebut tanpa harus memulai ulang dari awal. Misalnya, jika peluncuran game memiliki waktu pemunculan yang lama, Anda dapat mengambil snapshot setelah mencapai menu utama sehingga Anda dapat memulihkan perangkat ke status tersebut, dengan melewati waktu kemunculan.
Mengambil snapshot perangkat Cuttlefish
Saat mengambil snapshot perangkat, perangkat Cuttlefish harus ditangguhkan untuk memastikan perangkat Cuttlefish dalam status stabil. Saat perangkat ditangguhkan, semua vCPU dan perangkat dihentikan, dan semua buffering mendorong statusnya ke VM. Snapshot kemudian menyimpan status vCPU, memori, dan status perangkat ke disk di folder tujuan tertentu.
VirtiosFS tidak didukung dan harus dinonaktifkan saat mengambil snapshot. Untuk
menonaktifkan VirtioFS, teruskan argumen
--enable_virtiofs=false
saat menjalankan cvd create
atau cvd start
.
Hanya mode GPU SwiftShader (guest_swiftshader
) yang didukung untuk
snapshot. Mode grafis akselerasi lainnya
tidak didukung.
Langkah-langkah berikut menjelaskan proses meluncurkan perangkat Cuttlefish dan mengambil snapshot.
Meluncurkan perangkat, sambil menonaktifkan VirtioFS. (Anda kemudian dapat menggunakan perangkat.)
cvd create --enable_virtiofs=false --gpu_mode=guest_swiftshader
Ambil snapshot dengan menjalankan
cvd snapshot_take
dengan flag berikut:--force
: Jika folder ada di jalur snapshot yang ditentukan, flag ini memastikan bahwa folder yang ada telah dihapus, dan folder baru dibuat di jalur snapshot yang berisi snapshot tersebut--auto_suspend
: Menangguhkan perangkat sebelum snapshot diambil dan melanjutkan perangkat setelah snapshot diambil.--snapshot_path
: Jalur yang ditentukan tempat folder baru dibuat dengan snapshot.
cvd snapshot_take --force --auto_suspend \ --snapshot_path=PATH
Memulihkan perangkat Cuttlefish
Saat memulihkan snapshot perangkat Cuttlefish, instance Cuttlefish yang snapshot-nya diambil harus dihentikan. Jika instance sudah berhenti, tidak ada tindakan lebih lanjut yang diperlukan dan snapshot dapat dipulihkan.
Untuk memulihkan snapshot perangkat Cuttlefish, luncurkan perangkat dengan cvd create
dan sertakan jalur snapshot. Jika nomor instance dasar perangkat Cuttlefish tempat snapshot diambil berbeda dengan nomor instance dasar dari instance Cuttlefish saat ini, teruskan nomor instance dasar tersebut menggunakan flag --base_instance_num
.
cvd create --snapshot_path=PATH \
--base_instance_num=ID
Menangguhkan perangkat Cuttlefish
Anda dapat menangguhkan perangkat Cuttlefish tanpa mengambil snapshot (tidak ada ruang disk yang digunakan untuk menyimpan status). Untuk menangguhkan perangkat Cuttlefish, jalankan:
cvd suspend
Melanjutkan perangkat Cuttlefish
Untuk melanjutkan perangkat Cuttlefish yang ditangguhkan, jalankan:
cvd resume
Memvalidasi fitur Snapshot/Pulihkan
Fitur Ringkasan/Pemulihan dapat divalidasi dengan menjalankan pengujian berikut:
atest SnapshotTest