You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Android Studio虚拟机userdata-qemu.img.qcow2文件持续扩容问题

解决Android Studio AVD中userdata-qemu.img.qcow2无限扩容的问题

先澄清文件作用

你提到的userdata-qemu.img.qcow2并非备份文件,它是QEMU的写时复制(COW)增量镜像:当AVD启用快照功能时,原始的userdata-qemu.img会被设为只读,所有后续的修改都会写入这个qcow2文件。由于COW镜像的特性,删除虚拟机内的文件不会自动回收qcow2的磁盘空间,只会继续添加新的修改记录,最终导致文件无限膨胀。

解决方法

1. 禁用AVD快照功能(从根源避免扩容)

  • 打开Android Studio的AVD Manager
  • 找到目标设备,点击右侧的"Edit"(铅笔图标)
  • 滚动到页面底部,点击"Show Advanced Settings"
  • 在"Snapshot"选项组中,将"Snapshot mode"改为No snapshot
  • 保存修改并重启AVD

禁用快照后,系统会直接读写原始的userdata-qemu.img,删除文件后磁盘空间会自动释放,不会再生成持续膨胀的qcow2增量文件。

2. 压缩已存在的qcow2文件(回收已占用的空间)

如果已经有大体积的qcow2文件,可通过QEMU工具压缩回收空间:

  • 确保目标AVD处于关闭状态
  • 打开终端,执行以下命令(替换路径中的username和{AVD_Name}):
    qemu-img compact /Users/username/.android/avd/{AVD_Name}.avd/userdata-qemu.img.qcow2
    

该命令会扫描qcow2文件中未被使用的块,将其标记为稀疏空间,从而减少文件的实际磁盘占用。

3. 重建AVD(彻底解决顽固问题)

如果上述方法无效,可直接删除旧AVD并重新创建:

  • 在AVD Manager中删除目标设备
  • 重新创建AVD时,在"Advanced Settings"中确保快照功能处于禁用状态
  • 选择合适的磁盘大小,避免设置过大的初始容量

内容的提问来源于stack exchange,提问作者Abdul Hossein Charkhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 05:12:13