Android 15 explique comment prendre un instantané et restaurer un instantané d'un appareil virtuel Cuttlefish. Prendre un instantané Le périphérique Settlefish vous permet d'enregistrer l'état de l'appareil dans une image sur le disque. Vous pouvez ensuite restaurer l'instantané pour afficher un appareil Settlefish sur le l'état enregistré précédemment.
Vous pouvez utiliser des instantanés dans divers workflows automatisés ou manuels. Quand ? d'une procédure qui modifie l'appareil, vous pouvez prendre un instantané de l'appareil pour être sûr de pouvoir le restaurer à un état spécifié. Par exemple, lors de l'exécution d'ensembles de tests qui modifient l'état de l'appareil et peut potentiellement causer des problèmes ou des instabilités dans les tests suivants, vous pouvez prendre un instantané afin de restaurer l'état enregistré de l'appareil après un test, ce qui garantit que les tests ultérieurs s'exécutent correctement.
Les instantanés sont un autre exemple de workflow utile lors du test le comportement d'une application. Lors du test du comportement d'une application en fonction d'un ensemble vous pouvez prendre un instantané entre deux actions pendant l'exécution de l'application. pour vous permettre de restaurer cet instantané sans avoir à redémarrer depuis le à partir de zéro. Par exemple, si le lancement d'un jeu prend beaucoup de temps, vous vous pouvez prendre un instantané en accédant au menu principal afin de restaurer l'appareil à cet état, en ignorant le temps de mise en service.
Prendre un instantané d'un appareil seiche
Lorsque vous prenez un instantané d'un appareil, l'appareil Settlefish doit être suspendu pour s’assurer que l’appareil Cuttlefish est dans un état stable. Lorsque l’appareil est suspendu, tous les vCPU et appareils sont arrêtés, et tous les tampons leur état à la VM. L'instantané enregistre ensuite l'état du vCPU, la mémoire et l'état de l'appareil sur le disque dans un dossier de destination spécifié.
VirtiosFS n'est pas compatible et doit être désactivé lors de la prise d'un instantané. À
désactiver VirtioFS, transmettre l'argument
--enable_virtiofs=false
lors de l'exécution de cvd start
.
Seul le mode GPU SwiftShader (guest_swiftshader
) est compatible avec
instantanés. Autres modes graphiques accélérés
ne sont pas acceptés.
Les étapes suivantes décrivent le processus de lancement d'un appareil Settlefish et prendre un instantané.
Lancer un appareil tout en désactivant VirtioFS Vous pouvez ensuite utiliser l'appareil.
cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
Prenez un instantané en exécutant
cvd snapshot_take
avec les options suivantes:--force
: si un dossier existe au chemin d'accès à l'instantané spécifié, cette garantit que le dossier existant est supprimé et qu'un nouveau dossier est créé au niveau du chemin d'accès à l'instantané contenant l'instantané--auto_suspend
: suspend l'appareil avant la prise de l'instantané et réactive l'appareil après la prise de l'instantané.--snapshot_path
: chemin d'accès spécifié pour la création d'un dossier avec l'instantané.
cvd snapshot_take --force --auto_suspend \ --snapshot_path=PATH
Restaurer un appareil de seiche
Lors de la restauration d'un instantané de l'appareil Cuttlefish, l'instance Cuttlefish de pour lequel l'instantané a été pris doit être arrêté. Si l'instance est déjà arrêté, aucune autre action n'est requise et l'instantané peut être restauré.
Pour restaurer un instantané d'un appareil Settlefish, lancez un appareil avec cvd start
et inclure le chemin d'accès à l'instantané. Si le numéro d'instance de base de Settlefish
appareil sur lequel l'instantané a été pris est différent de l'instance de base
le numéro de l'instance Cuttlefish actuelle, transmettez cette instance de base
numéro à l'aide de l'indicateur --base_instance_num
.
cvd start --snapshot_path=PATH \
--base_instance_num=ID
Suspendre un appareil seiche
Vous pouvez suspendre un appareil Cuttlefish sans prendre d'instantané (aucun espace disque sert à enregistrer l'état). Pour suspendre un appareil Cuttlefish, exécutez la commande suivante:
cvd suspend
Réactiver un appareil seiche
Pour réactiver un appareil Cuttlefish suspendu, exécutez la commande suivante:
cvd resume
Valider la fonctionnalité Instantané/Restaurer
La fonctionnalité Instantané/Restauration peut être validée en exécutant le test suivant:
atest SnapshotTest