nox - android emulator online
¿Cómo se guarda la instantánea del emulador de Android? (5)
Aparentemente también puedes hacerlo a través de la interfaz de la consola:
$ telnet localhost 5554
Trying 127.0.0.1...
Connected to localhost.
Escape character is ''^]''.
Android Console: type ''help'' for a list of commands
OK
avd snapshot save foo
Se acaba de lanzar una actualización de las herramientas de desarrollo de Android que le permite guardar en y restaurar desde una instantánea del emulador. ¿Alguien sabe cómo usar esta característica? ¡Esto reduciría en gran medida el tiempo de carga del emulador! Pero no puedo encontrar una manera de decirle al emulador que lo haga. Gracias.
Derecha. Suponiendo que haya marcado "Habilitar instantánea" al crear el avd, simplemente cerrar el emulador guarda su estado y se restaura en la siguiente ejecución, ya sea desde el administrador o desde eclipse.
Honeycomb introdujo esta característica, ¡y es genial! Es como la función de hibernación en una computadora portátil. Está guardando el estado del emulador en un archivo grande y restaurando su estado desde el archivo más adelante.
Hay un par de formas de obtenerlo. La primera forma es establecer las opciones deseadas en el cuadro de diálogo Opciones de inicio al iniciar el emulador desde el SDK de Android y el Administrador de AVD (consulte la imagen a continuación). La opción Eliminar datos de usuario todavía está allí desde antes, y eso creará un nuevo sistema desde cero. Las nuevas opciones de instantáneas son Iniciar desde instantánea (si se ha guardado previamente) o Guardar en instantánea cuando el emulador se apaga. Obviamente, debe guardar una instantánea antes de poder iniciar desde una. El archivo de instantánea puede ser bastante grande, y esto se suma al tiempo que tarda el emulador en salir cuando lo cierra. Pero vale la pena. Lanzar desde una instantánea es muy rápido, en comparación con pasar por toda la secuencia de inicio de Android. Uno de los trucos que puede hacer es Guardar en instantánea una vez, luego Lanzar desde instantánea pero no Guardar en instantánea después de esa primera vez. Tus startups serán rápidas y tus salidas serán rápidas. Sin embargo, siempre comenzará desde el mismo estado de instantánea, sin importar lo que haga en cada sesión de emulador.
La otra forma de usar instantáneas es desde la línea de comando del emulador. La documentación actualmente no menciona estas opciones, pero al invocar la opción de ayuda en el emulador, encontramos esto:
-snapstorage <file> file that contains all state snapshots (default <datadir>/snapshots.img)
-no-snapstorage do not mount a snapshot storage file (this disables all snapshot functionality)
-snapshot <name> name of snapshot within storage file for auto-start and auto-save (default ''default-boot'')
-no-snapshot perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage
-no-snapshot-save do not auto-save to snapshot on exit: abandon changed state
-no-snapshot-load do not auto-start from snapshot: perform a full boot
-snapshot-list show a list of available snapshots
-no-snapshot-update-time do not do try to correct snapshot time on restore
No he probado instantáneas desde la línea de comandos ya que el diálogo Opciones de inicio es más fácil. EDITAR: Una cosa más, el archivo de instantánea se almacena en el mismo lugar que sus archivos AVD.
No sé si hay alguna opción disponible para restaurar desde.
Pero puedes guardar la instantánea actual de tu emulador
Cambia la perspectiva de tu vista de Java
a DDMS
. Al hacer clic en el botón rodeado de rojo, puede guardar una copia de la instantánea actual de su emulador
Para los usuarios de shell, si está ejecutando un emulador --no-window
: parece que usar kill -2
para indicar que el proceso del emulador guardará la instantánea de inicio predeterminada, suponiendo que haya creado el emulador con la opción --snapshot
.
Hacer esto:
killall -2 emulator64-x86
La próxima vez que inicie ese emulador, se iniciará el inicio con cualquier cosa que no sea la opción -no-snapshot-load
de esa instantánea.