Android 15 memperkenalkan cara mengambil snapshot dan memulihkan snapshot perangkat virtual Cuttlefish. Mengambil snapshot perangkat Cuttlefish memungkinkan Anda menyimpan status perangkat dalam gambar di disk. Kemudian, Anda dapat memulihkan snapshot untuk memunculkan 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 tertentu. Misalnya, saat menjalankan rangkaian pengujian yang mengubah status perangkat dan berpotensi menyebabkan masalah atau ketidakstabilan dalam pengujian berikutnya, Anda dapat mengambil snapshot sehingga Anda dapat memulihkan perangkat ke status tersimpan setelah pengujian, sehingga memastikan pengujian berikutnya berjalan dengan lancar.
Contoh alur kerja lain yang menggunakan snapshot adalah saat menguji perilaku aplikasi. Saat menguji perilaku aplikasi berdasarkan serangkaian tindakan, Anda dapat mengambil snapshot di antara tindakan saat aplikasi berjalan agar Anda dapat memulihkan ke snapshot tersebut tanpa harus memulai ulang dari awal. Misalnya, jika peluncuran game memiliki waktu persiapan yang lama, Anda dapat mengambil snapshot setelah mencapai menu utama sehingga Anda dapat memulihkan perangkat ke status tersebut, sehingga tidak perlu menunggu waktu persiapan.
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 buffer akan mengirimkan statusnya ke VM. Snapshot kemudian menyimpan status vCPU, memori, dan status perangkat ke disk di folder tujuan yang ditentukan.
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 yang dipercepat lainnya tidak didukung.
Langkah-langkah berikut menjelaskan proses meluncurkan perangkat Cuttlefish dan mengambil snapshot.
Luncurkan 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 tanda berikut:--force
: Jika folder ada di jalur snapshot yang ditentukan, tanda ini memastikan bahwa folder yang ada dihapus, dan folder baru dibuat di jalur snapshot yang berisi snapshot--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 tempat snapshot diambil harus dihentikan. Jika instance sudah dihentikan, 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 instance Cuttlefish saat ini, teruskan nomor instance dasar tersebut menggunakan tanda --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 Snapshot/Restore dapat divalidasi dengan menjalankan pengujian berikut:
atest SnapshotTest