Android 15 explica cómo tomar una instantánea restablecer una instantánea de un dispositivo virtual Cuttlefish Tomar una instantánea de un El dispositivo Cuttlefish te permite guardar el estado del dispositivo en una imagen del disco. Luego, puedes restablecer la instantánea para abrir un dispositivo Cuttlefish en el estado guardado previamente.
Puedes usar instantáneas en varios flujos de trabajo automáticos o manuales. Cuándo realizar un procedimiento que modifica el dispositivo, puedes tomar una instantánea el dispositivo para asegurarte de que puedas restablecerlo al estado especificado. Por ejemplo, cuando se ejecutan conjuntos de pruebas que modifican el estado del dispositivo y causar problemas o inestabilidades en las siguientes pruebas puedes tomar una instantánea para restablecer el dispositivo a un estado guardado una prueba, lo que garantiza que las pruebas posteriores se ejecuten de forma correcta.
Otro flujo de trabajo de ejemplo en el que las instantáneas son útiles es cuando se prueban de una app. Cuando pruebas el comportamiento de una app según un conjunto de acciones, puedes tomar una instantánea entre acciones mientras se ejecuta la app para que puedas restablecer a esa instantánea sin tener que reiniciar desde el empezando. Por ejemplo, si el inicio de un juego tarda demasiado tiempo, puedes tomar una instantánea luego de llegar al menú principal para que puedas restablecer el dispositivo a ese estado, y se omitirá el tiempo de activación.
Cómo tomar una instantánea de un dispositivo Cuttlefish
Cuando se toma una instantánea de un dispositivo, el dispositivo Cuttlefish debe suspenderse. para asegurarte de que el dispositivo Cuttlefish se encuentre en un estado estable. Si el dispositivo se suspende, se detienen todas las CPU virtuales y los dispositivos, y todos los búferes su estado a la VM. Luego, la instantánea guarda el estado de la CPU virtual, y el estado del dispositivo en el disco en una carpeta de destino especificada.
VirtiosFS no es compatible y debe inhabilitarse cuando se toma una instantánea. Para
inhabilitar VirtioFS, pasar el argumento
--enable_virtiofs=false
cuando se ejecuta cvd start
Solo se admite el modo de GPU de SwiftShader (guest_swiftshader
) en
instantáneas. Otros modos gráficos acelerados
no son compatibles.
En los siguientes pasos, se describe el proceso de inicio de un dispositivo Cuttlefish y tomar una instantánea.
Iniciar un dispositivo, mientras se inhabilita VirtioFS. (Luego, podrás usar el dispositivo).
cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
Ejecuta
cvd snapshot_take
con las siguientes marcas para tomar una instantánea:--force
: Si existe una carpeta en la ruta de acceso de la instantánea especificada, esta garantiza que la carpeta existente se borre y que una carpeta nueva se crea en la ruta de acceso de la instantánea que contiene--auto_suspend
: Suspende el dispositivo antes de que se tome la instantánea. reanuda el dispositivo después de que se toma la instantánea.--snapshot_path
: Es la ruta de acceso especificada en la que se crea una carpeta nueva. con la instantánea.
cvd snapshot_take --force --auto_suspend \ --snapshot_path=PATH
Cómo restablecer un dispositivo Cuttlefish
Al restablecer una instantánea de un dispositivo Cuttlefish, la instancia de Cuttlefish en la que se tomó la instantánea debe detenerse. Si la instancia ya está se detuvo, no es necesario realizar ninguna otra acción y se puede restablecer la instantánea.
Para restablecer una instantánea de un dispositivo Cuttlefish, inicia un dispositivo con cvd start
.
e incluiremos la ruta de acceso de la instantánea. Si el número de instancia base de Cuttlefish
el dispositivo en el que se tomó la instantánea es diferente de la instancia base
cantidad de la instancia actual de Cuttlefish, pasa esa instancia base
con la marca --base_instance_num
.
cvd start --snapshot_path=PATH \
--base_instance_num=ID
Cómo suspender un dispositivo Cuttlefish
Puedes suspender un dispositivo Cuttlefish sin tomar una instantánea (sin espacio en el disco). se usa para guardar el estado). Para suspender un dispositivo Cuttlefish, ejecuta lo siguiente:
cvd suspend
Cómo reanudar un dispositivo Cuttlefish
Para reanudar un dispositivo Cuttlefish suspendido, ejecuta lo siguiente:
cvd resume
Valida la función de instantánea/restablecimiento
La función Instantánea/Restablecer se puede validar ejecutando la siguiente prueba:
atest SnapshotTest