如何保存android emulator快照?

如何保存android emulator快照?,android,android-emulator,Android,Android Emulator,Android开发工具的更新刚刚发布,使您能够保存到模拟器快照并从中恢复。有人知道如何使用这个功能吗?这将大大减少模拟器的加载时间!但是我找不到一种方法来告诉模拟器这样做。谢谢。我不知道是否有可用的恢复选项 但是您可以保存模拟器的当前快照 将视图透视图从Java更改为DDMS。 通过单击红色包围的按钮,可以保存模拟器当前快照的副本 对。假设您在创建avd时选中了“启用快照”,只需关闭仿真器即可保存其状态,并在下次运行时恢复,无论是从管理器还是从eclipse。蜂巢引入了此功能,它非常酷!这就像笔

Android开发工具的更新刚刚发布,使您能够保存到模拟器快照并从中恢复。有人知道如何使用这个功能吗?这将大大减少模拟器的加载时间!但是我找不到一种方法来告诉模拟器这样做。谢谢。

我不知道是否有可用的恢复选项

但是您可以保存模拟器的当前快照

将视图透视图从
Java
更改为
DDMS
。 通过单击红色包围的按钮,可以保存模拟器当前快照的副本


对。假设您在创建avd时选中了“启用快照”,只需关闭仿真器即可保存其状态,并在下次运行时恢复,无论是从管理器还是从eclipse。蜂巢引入了此功能,它非常酷!这就像笔记本电脑上的休眠功能。您正在将emulator的状态保存到一个大文件中,然后从该文件恢复其状态

有几种方法可以得到它。第一种方法是在从Android SDK和AVD管理器启动仿真器时,在启动选项对话框中设置所需的选项(请参见下图)。擦除用户数据选项仍然存在,这将从头创建一个新系统。新的快照选项是从快照启动(如果以前保存过快照),或者在模拟器关闭时保存到快照。显然,您必须先保存快照,然后才能从快照启动。快照文件可能变得相当大,这增加了关闭模拟器时模拟器退出所需的时间。但这是值得的。与Android的整个启动过程相比,从快照启动非常快。您可以使用的技巧之一是保存到快照一次,然后从快照启动,但在第一次之后不要保存到快照。你的创业会很快,你的退出也会很快。不过,无论在每个emulator会话中执行什么操作,每次都将从相同的快照状态开始

使用快照的另一种方法是从emulator的命令行。文档目前没有提到这些选项,但通过调用emulator上的帮助选项,我们发现:

-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
-包含所有状态快照的snapstorage文件(默认值/snapshots.img)
-无快照存储不装载快照存储文件(这将禁用所有快照功能)
-存储文件中用于自动启动和自动保存的快照的快照名称(默认为“默认启动”)
-无快照执行完全引导且不自动保存,但qemu vmload和vmsave在snapstorage上运行
-无快照保存退出时不自动保存到快照:放弃更改状态
-无快照加载不从快照自动启动:执行完全引导
-快照列表显示可用快照的列表
-无快照更新时间请勿尝试在还原时更正快照时间

我没有尝试过从命令行创建快照,因为启动选项对话框更容易。编辑:还有一件事,快照文件将存储在与AVD文件相同的位置。

显然,您也可以通过控制台界面执行此操作:

$ 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

对于shell用户,如果您正在运行
--no window
仿真器:假设您使用
--snapshot
选项创建了仿真器,则使用
kill-2
向仿真器进程发送信号时,会保存默认的引导快照

这样做:

killall -2 emulator64-x86

下次启动仿真器时,除了使用
-无快照加载
选项外,任何其他选项都将从该快照还原。

根据我找到的一个主要答案,我找到了这个可行的解决方案:

adb emu avd snapshot save foo
特别是它和这个结合在一起非常有用:

adb emu avd snapshot load bar

谢谢Tanmay提供的更多信息。你圈出的按钮有助于截图:)这也很有帮助。我的意思是“保存/恢复”仿真器的“状态”。昨天刚刚推出了一个特辑。试试看!一个小补充:快照选项将变灰,除非在创建AVD时选择“启用快照”。这是真的。但您可以编辑现有AVD以启用快照。因此,无需返回并重新创建所有现有版本。+1用于包含命令行版本,而存储路径
killall
可能是一种散弹枪方法,但这适用于x86_64模拟器。表示信号2是SIGINT。您也可以通过输入
fg
然后按Ctrl+C来发送SIGINT。
emulator:在端口5554上侦听控制台连接,但在端口5554上连接到本地主机…无法打开到主机的连接:连接失败
,对于像我这样的人,2017年会发现这一点,工具v25中似乎缺少此功能。要使用它,需要降级到v24。据我所见(2017年4月),工具v25中似乎缺少此功能(错误表明不支持此选项),但在工具v26中,快照可能会回来(不确定)。我没有收到任何错误/反馈,所以我不确定它是否存在。如果有人曾经使用过其他版本,请在ToolsV26上进行验证。谢谢。@Irvin。的确,根据
help avd snapshot
,它就在那里,但我无法正确保存模拟器状态,因为
avd snapshot list
在保存快照后不会显示任何内容。很酷,这正是我需要的。谢谢