Mątwa: zrzut i przywracanie

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.

  1. 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
    
  2. 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