Android 15 wprowadza robienie zrzutów które pozwala przywrócić obraz urządzenia wirtualnego mątwy. Robienie zrzutu Urządzenie typu Cuttlefish pozwala zapisać stan urządzenia w postaci obrazu na dysku. Następnie możesz przywrócić zrzut i wyświetlić urządzenie Cuttlefish w wcześniej zapisany stan.
Możesz używać zrzutów w różnych zautomatyzowanych lub ręcznych przepływach pracy. Kiedy wykonując procedurę modyfikacji urządzenia, możesz zrobić zrzut urządzenie, aby umożliwić przywrócenie urządzenia do określonego stanu. Na przykład podczas uruchamiania zestawów testów, które modyfikują stan urządzenia i może powodować problemy lub niestabilność w tych testach, możesz zrobić zrzut, aby móc przywrócić zapisany stan urządzenia po aby zapewnić prawidłowe wyniki kolejnych testów.
Innym przykładem przepływu pracy, w którym przydają się zrzuty, jest testowanie zachowanie aplikacji. Podczas testowania działania aplikacji w oparciu o zestaw działania, możesz zrobić zrzut między działaniami w trakcie działania aplikacji. co pozwala przywrócić zrzut bez konieczności ponownego uruchamiania od początku. Jeśli na przykład uruchomienie gry ma dużo czasu, po dotarciu do menu głównego, by móc przywrócić do tego stanu, z pominięciem czasu wyświetlania.
Zrób zdjęcie mątwy
Podczas robienia zdjęcia urządzenia urządzenie Cuttlefish musi być zawieszone aby upewnić się, że urządzenie Cuttlefish jest stabilne. Gdy urządzenie jest zawieszone, wszystkie procesory wirtualne i urządzenia są zatrzymywane, a wszystkie bufory wypychają i przekazywać je maszynie wirtualnej. Następnie zrzut zapisuje stan procesora wirtualnego, pamięć i stan urządzenia na dysku w określonym folderze docelowym.
System VirtiosFS nie jest obsługiwany i należy go wyłączyć podczas robienia zrzutu. Do
wyłącz VirtioFS, przekaż argument
--enable_virtiofs=false
podczas uruchamiania cvd start
.
W przypadku tych urządzeń obsługiwany jest tylko tryb GPU SwiftShader (guest_swiftshader
)
zrzuty ekranu. Inne tryby grafiki z akceleracją.
nie są obsługiwane.
Poniższe kroki opisują proces uruchamiania urządzenia Cuttlefish i robię zdjęcie.
Uruchamiaj urządzenie i wyłączaj VirtioFS. (po upływie tego czasu będzie można korzystać z urządzenia).
cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
Zrób zrzut, uruchamiając
cvd snapshot_take
z tymi flagami:--force
: jeśli folder znajduje się w podanej ścieżce zrzutu, to gwarantuje, że istniejący folder zostanie usunięty, a nowy folder jest tworzony w ścieżce zrzutu zawierającego zrzut--auto_suspend
: zawiesza urządzenie przed wykonaniem zrzutu dysku, a następnie wznowi działanie urządzenia po wykonaniu zrzutu.--snapshot_path
: podana ścieżka tworzenia nowego folderu. ze zrzutem ekranu.
cvd snapshot_take --force --auto_suspend \ --snapshot_path=PATH
Przywracanie urządzenia Cuttlefish
Podczas przywracania migawki urządzenia Cuttlefish instancja Cuttlefish dla musi zostać zatrzymana. Jeśli instancja jest już nie musisz robić nic więcej i zrzut można przywrócić.
Aby przywrócić zdjęcie urządzenia mątwy, uruchom je z przyciskiem cvd start
i uwzględnij ścieżkę zrzutu. Jeśli podstawowy numer instancji mątwy
urządzenie, na którym wykonano zrzut, różni się od instancji podstawowej
bieżącej instancji Cuttlefish, przekaż tę instancję bazową
za pomocą flagi --base_instance_num
.
cvd start --snapshot_path=PATH \
--base_instance_num=ID
Zawieszanie urządzenia Cuttlefish
Możesz zawiesić urządzenie Cuttlefish bez wykonywania zrzutu (brak miejsca na dysku) jest używane do zapisywania stanu). Aby zawiesić urządzenie Cuttlefish, uruchom polecenie:
cvd suspend
Wznów urządzenie Cuttlefish
Aby wznowić zawieszone urządzenie Cuttlefish, uruchom polecenie:
cvd resume
Weryfikowanie funkcji zrzutu/przywracania
Działanie funkcji zrzutu/przywracania można sprawdzić, wykonując ten test:
atest SnapshotTest