如何创建userdata.img小于2.15GB的Android模拟器AVD?
解决新版Android Studio无法创建小容量userdata.img的问题
我之前也碰到过一模一样的困扰!新版AS的默认配置确实会让userdata.img比你手动设置的内部存储大很多,核心原因是新版系统镜像(尤其是Android 10+)采用了动态分区机制,或者默认启用了稀疏镜像的预分配逻辑,导致手动设置的存储大小被覆盖。下面是几个亲测有效的解决办法:
方法1:修改已创建AVD的配置文件
- 先关闭所有运行的AVD和Android Studio
- 找到你的AVD存储目录:在OS X上路径是
~/Library/Android/sdk/.android/avd/[你的AVD名称].avd/ - 打开
config.ini文件,找到disk.dataPartition.size这一行,把它改成你想要的大小,比如disk.dataPartition.size=200M - 删除该目录下的
userdata.img和userdata-qemu.img(如果存在的话) - 重新打开Android Studio并启动这个AVD,系统会自动生成符合你设置大小的userdata镜像
方法2:选择旧版系统镜像创建AVD
新版Android 10及以上的系统镜像对userdata分区有最低大小限制,而Android 9(Pie)及更早的镜像没有这个约束。你可以这么操作:
- 打开AVD Manager,点击「Create Virtual Device」
- 选好设备后,在「Select a system image」步骤里,切换到「x86 Images」或「x86_64 Images」标签,选择Android 9或更早的版本(比如Android 7.1.1)
- 后续步骤里设置内部存储和SD卡为你想要的小容量,这样创建出来的userdata.img就会和你设置的大小匹配,和你旧版AS创建的567MB的AVD效果一致
方法3:手动调整镜像大小(适合有命令行基础的用户)
如果已经创建了AVD,想直接修改现有镜像大小,可以用以下步骤(OS X需要先通过Homebrew安装e2fsprogs:brew install e2fsprogs):
- 关闭AVD,定位到userdata.img所在的AVD目录
- 先缩小镜像文件的物理大小:
truncate -s 200M userdata.img(把200M改成你想要的目标大小) - 再调整镜像内的文件系统大小,使其匹配物理大小:
resize2fs userdata.img 200M - 启动AVD,检查内部存储是否已经变成你设置的大小
注意:如果镜像里已经有数据,缩小的时候要确保数据总大小不超过你设置的目标值,否则会损坏镜像。建议在新创建的空AVD上操作这个步骤。
内容的提问来源于stack exchange,提问作者androidguy
相关产品推荐
相关产品推荐

