Android 15 giới thiệu cách chụp ảnh nhanh và khôi phục ảnh chụp nhanh của thiết bị ảo Cuttlefish. Việc chụp ảnh nhanh của thiết bị Cuttlefish cho phép bạn lưu trạng thái của thiết bị trong một hình ảnh trên ổ đĩa. Sau đó, bạn có thể khôi phục ảnh chụp nhanh để đưa thiết bị Cuttlefish về trạng thái đã lưu trước đó.
Bạn có thể sử dụng ảnh chụp nhanh trong nhiều quy trình làm việc tự động hoặc thủ công. Khi thực hiện một quy trình sửa đổi thiết bị, bạn có thể chụp ảnh nhanh thiết bị để đảm bảo có thể khôi phục thiết bị về trạng thái đã chỉ định. Ví dụ: khi chạy các bộ kiểm thử sửa đổi trạng thái của thiết bị và có thể gây ra sự cố hoặc sự không ổn định trong các kiểm thử sau, bạn có thể chụp ảnh nhanh để khôi phục thiết bị về trạng thái đã lưu sau khi kiểm thử, đảm bảo các kiểm thử tiếp theo chạy một cách sạch sẽ.
Một quy trình công việc mẫu khác mà ảnh chụp nhanh hữu ích là khi kiểm thử hành vi của một ứng dụng. Khi kiểm thử hành vi của một ứng dụng dựa trên một tập hợp thao tác, bạn có thể chụp ảnh nhanh giữa các thao tác khi ứng dụng đang chạy để khôi phục về ảnh chụp nhanh đó mà không cần phải bắt đầu lại từ đầu. Ví dụ: nếu thời gian khởi chạy trò chơi kéo dài, bạn có thể chụp ảnh nhanh sau khi truy cập vào trình đơn chính để khôi phục thiết bị về trạng thái đó, bỏ qua thời gian khởi chạy.
Chụp ảnh nhanh của thiết bị Cuttlefish
Khi chụp ảnh nhanh một thiết bị, bạn phải tạm ngưng thiết bị Cuttlefish để đảm bảo thiết bị Cuttlefish ở trạng thái ổn định. Khi thiết bị bị tạm ngưng, tất cả vCPU và thiết bị sẽ dừng và tất cả vùng đệm sẽ đẩy trạng thái của chúng vào máy ảo. Sau đó, ảnh chụp nhanh sẽ lưu trạng thái vCPU, bộ nhớ và trạng thái thiết bị vào ổ đĩa tại một thư mục đích đã chỉ định.
VirtiosFS không được hỗ trợ và phải tắt khi chụp ảnh nhanh. Để tắt VirtioFS, hãy truyền đối số --enable_virtiofs=false
khi chạy cvd create
hoặc cvd start
.
Chỉ chế độ GPU SwiftShader (guest_swiftshader
) mới được hỗ trợ cho ảnh chụp nhanh. Các chế độ đồ hoạ tăng tốc khác không được hỗ trợ.
Các bước sau đây mô tả quy trình khởi chạy thiết bị Cuttlefish và chụp ảnh nhanh.
Chạy một thiết bị, đồng thời tắt VirtioFS. (Sau đó, bạn có thể sử dụng thiết bị.)
cvd create --enable_virtiofs=false --gpu_mode=guest_swiftshader
Chụp ảnh nhanh bằng cách chạy
cvd snapshot_take
với các cờ sau:--force
: Nếu có một thư mục tại đường dẫn ảnh chụp nhanh được chỉ định, cờ này sẽ đảm bảo rằng thư mục hiện có sẽ bị xoá và một thư mục mới sẽ được tạo tại đường dẫn ảnh chụp nhanh chứa ảnh chụp nhanh--auto_suspend
: Tạm ngưng thiết bị trước khi chụp ảnh nhanh và tiếp tục thiết bị sau khi chụp ảnh nhanh.--snapshot_path
: Đường dẫn được chỉ định nơi tạo thư mục mới bằng ảnh chụp nhanh.
cvd snapshot_take --force --auto_suspend \ --snapshot_path=PATH
Khôi phục thiết bị Cuttlefish
Khi khôi phục ảnh chụp nhanh thiết bị Cuttlefish, bạn phải dừng thực thể Cuttlefish mà ảnh chụp nhanh được chụp. Nếu thực thể đã dừng, bạn không cần làm gì thêm và có thể khôi phục ảnh chụp nhanh.
Để khôi phục ảnh chụp nhanh của thiết bị Cuttlefish, hãy khởi chạy thiết bị bằng cvd create
và thêm đường dẫn ảnh chụp nhanh. Nếu số phiên bản cơ sở của thiết bị Cuttlefish mà ảnh chụp nhanh được chụp khác với số phiên bản cơ sở của phiên bản Cuttlefish hiện tại, hãy truyền số phiên bản cơ sở đó bằng cờ --base_instance_num
.
cvd create --snapshot_path=PATH \
--base_instance_num=ID
Tạm ngưng thiết bị Cuttlefish
Bạn có thể tạm ngưng thiết bị Cuttlefish mà không cần chụp ảnh nhanh (không sử dụng dung lượng ổ đĩa để lưu trạng thái). Để tạm ngưng một thiết bị Cuttlefish, hãy chạy:
cvd suspend
Tiếp tục trên thiết bị Cuttlefish
Để tiếp tục một thiết bị Cuttlefish bị tạm ngưng, hãy chạy:
cvd resume
Xác thực tính năng Ảnh chụp nhanh/Khôi phục
Bạn có thể xác thực tính năng Ảnh chụp nhanh/Khôi phục bằng cách chạy kiểm thử sau:
atest SnapshotTest