android - Android Emulator 快照标志不起作用
问题描述
Android 模拟器快照标志未按预期工作。我创建了一个名为 Mydevice 的新 avd
tools/bin/avdmanager create avd --force --name Mydevice --abi google_apis/x86 --package 'system-images;android-29;google_apis;x86' --device "Nexus 6P" &
现在我运行这个 avd 使用
sudo emulator/emulator -avd Mydevice -no-window -port 5554
模拟器成功启动后,我使用
adb -s emulator-5554 emu avd snapshot save Snap1
成功创建快照。
现在我停止我正在运行的模拟器使用
adb -s emulator-5554 emu kill
现在我再次使用 -read-only 标志运行模拟器并使用保存的快照
sudo emulator/emulator -avd Mydevice -read-only -no-window -port 5554 -snapshot ~/.android/avd/Mydevice.avd/snapshots/Snap1
但似乎 -snapshot 被忽略了,因为模拟器仍然需要与之前相同的时间来启动。
我也尝试删除只读标志,但这没有帮助。
解决方案
to 的参数-snapshot
是快照标签名称,而不是路径。
首先,列出这样的快照:
emulator/emulator -avd mydevice -snapshot-list
这将产生这样的输出(到目前为止,我还没有弄清楚如何在不实际启动模拟器的情况下列出快照,但现在只需在运行此命令后关闭模拟器):
ID TAG VM SIZE DATE VM CLOCK
-- snap_2020-12-03_13-31-29 90M 2020-12-03 13:31:29 01:11:57.073
-- default_boot 68M 2020-12-03 14:15:33 00:02:08.928
然后,使用“TAG”列中的值之一启动模拟器,例如:
emulator/emulator -avd mydevice -snapshot snap_2020-12-03_13-31-29
对于 Android Studio,AVD 管理器中设备的“高级设置”也有一个下拉菜单,用于选择启动设备的快照。
附带说明一下,我发现从快照启动仿真器映像可以显着提高其性能,至少在我的 Linux 机器上是这样。使用快照标志,模拟器的磁盘写入是正常的——没有它,出于某种原因,模拟器基本上会不断地写入磁盘,从而减慢一切。老实说,我不知道为什么会这样。
推荐阅读
- firebase - Firestore 使用自己的谷歌时间自动创建时间戳字段
- sylius - Sylius 产品索引获取实际分类单元
- rust - Rocket 测试 multipart/data-form 失败,出现 422(无法处理的实体)
- arrays - 具有用户输入大小的 C++ 数组(又名为什么会编译?)
- mongodb - 将 mongoDB 巨大的集合与不同的文档结构进行比较的最佳选择。查找缺失的元素
- css - 有没有办法选择每隔一个部分 - CSS中的行
- r - R 无法识别的内容编码类型。libcurl 理解 deflate、gzip、br 内容编码
- java - 包程序和主程序有错误吗?
- networking - 使用增量偏移端口 Jboss 7 域模式在一个服务器组下配置多台服务器
- html - 在 WooCommerce 产品附加组件的两列中显示复选框