如何增加Android模拟器的存储空间?(INSTALL_FAILED_INSUFFICIENT_STORAGE)

224
我偶尔会在我的某个项目中遇到以下错误(仅限于几个类):
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

我应该如何增加模拟器的存储空间?


2
我经常看到这个错误,即使被安装的设备有足够的存储空间。只要记住,有时候当你看到这个错误时,错误信息所说的并不是真实情况。 - Lance Nanek
1
@Pentinum10,我在1.5和2.2上都遇到了同样的错误,请查看这个问题,需要你的帮助:https://dev59.com/pFDTa4cB1Zd3GeqPGBTZ,请帮帮我,谢谢。 - Paresh Mayani
24个回答

225

关于Android Studio

打开AVD Manager。

图片描述

点击编辑图标以编辑AVD。

图片描述

点击显示高级设置。

图片描述

根据需要更改内部存储、RAM、SD卡大小。 点击完成。

图片描述

通过点击是确认弹出窗口。

图片描述

清除AVD上的数据并通过点击是确认弹出窗口。

图片描述

重要提示:增加大小后,如果没有自动要求您清除数据,则必须手动通过打开AVD的下拉菜单并选择Wipe Data来清除数据。

图片描述

现在使用增加存储空间的模拟器开始使用。


9
更改“内部存储”对我没有影响,无论是在创建 AVD 之前还是之后。它始终显示为 300MB,并出现低空间警告。 - Travis Christian
7
你更改大小后,是否已经清除了 AVD 管理器中的下拉菜单数据? - Cijo
1
我已经删除了AVD,但是在新配置的未启动镜像上也出现了这个问题。我在另一个问题中发现,这是某些API <23的问题。 - Travis Christian
3
这应该是被认可的答案,并且应该排在第一位(不包括与旧版Eclipse相关的答案)。仅仅改变大小和启动模拟器是不够的(即使使用"Cold Boot Now"也是如此)。关键似乎是要使用“擦除数据”命令。谢谢! - TechAurelian
1
我曾经费尽心思地寻找“高级设置”中的“内存和存储”部分:)) 我不得不向下滚动才能看到这些设置! - neronovs
显示剩余6条评论

140

更新

我写这篇答案的时候,已经将近八年过去了,内容也过时了大约五年。但是它仍然(在我写这篇答案时)是“被接受”的答案,因为它回答了当时的问题。

针对新版Android Studio工具的答案可以在这里找到:https://dev59.com/b3E95IYBdhLWcg3wmvGh#35828035 -- 这是一个带有屏幕截图的好答案。如果你正在使用Android Studio,请忽略下面的Eclipse答案。

原始的基于Eclipse的答案

我正在寻找这个问题的答案,并且对上面的答案不满意。但是我发现了答案,所以这里是供未来参考:

总结一下(并澄清一下),在Eclipse中,转到“Debug Configurations”(调试配置)。你可以在“debug”图标下拉菜单中找到它。选择“target”,选定一个首选的模拟器目标进行启动。然后在“additional emulator command line options”(其他模拟器命令行选项)下添加以下内容:

-partition-size 1024

然后关闭模拟器(并删除任何设备),点击调试图标,它会启动你选择的首选模拟器。这很重要:Eclipse需要启动调试器,而不是AVD。

这为我解决了问题。


8
请注意,“partition-size”以兆字节为单位,并且通常要安装APK,您需要至少有APK大小两倍的磁盘空间。 - Christopher Orr
5
需要注意的是:您必须在Eclipse中右键单击要运行的项目-> Run-> Run Configuration-> 选择项目-> Target-> 滚动到底部-> 添加-partition-size 1024到其他EM选项中-> 然后从Eclipse运行该项目 - SpoiledTechie.com
你提供了Eclipse的解决方案,但问题并不是关于特定模拟器的。 - Sean
@Sean 我之前提供了针对Eclipse的解决方案,因为当时(五年前)它是主要的开发环境。-partition-size选项是模拟器选项,所以请找出如何将该选项添加到您正在使用的任何IDE中,或者从命令行自己启动模拟器。 - SomeCallMeTim
1
对于像我一样几年后查看这个被接受的答案的任何人,您可能想查看 https://dev59.com/b3E95IYBdhLWcg3wmvGh#35828035。 - Liron Yahdav
显示剩余3条评论

48
将以下内容添加到avd config.ini 文件中。
disk.dataPartition.size=1024MB

如果这个方法也适用于您,请告诉我。

我添加了以下行:添加数据分区大小配置
AVD存储空间增加的屏幕截图


在2.3版本的图像上对我没有起作用。我仍然只能看到128MB的内部存储可用于应用程序。 - mxk
1
我注意到在 AVD 管理器的“编辑”UI中,尝试手动设置此值将始终重置为0。也许这是一个相关的问题?也许在某些版本的Android上不应该设置它? - mxk
2
在使用AVD Manager时,您必须输入像1024MB这样的值。不能只输入1024。我花了一点时间才弄清楚,我已经确认这个方法可行。 - Ronnie

27

运行AVD管理器。

选择您的AVD,然后单击“详细信息...”按钮。

在我的情况下,AVD管理器将磁盘大小设置为

disk.dataPartition.size=4000M

尽管已经指定了数字,这个无效的数值导致磁盘大小约为500MB。

按照“AVD详细信息”中的路径进入AVR文件夹。

在config.ini中进行编辑:

disk.dataPartition.size=4000MB

并删除所有的 .img 文件。


3
这应该是被选中的答案。在当前版本的Android Studio(3.0.1)中,如果你正在运行一个启用了Google Play的AVD,则编辑设置属性会被变灰。这个方法起作用了。我将我的测试设备从400M改为2000MB,删除了所有的*.img和*.qcow2文件。清除了AVD上的数据。然后启动它,它就有了2000 MB的存储空间。 - MLindsay
@MLindsay 我同意。 - mwa91
只是提供信息,我不需要删除*.img或任何其他文件。只需更改config.ini中的值即可。 - Mohib Sheth
谢谢!对我的情况起作用了。 - android_dev
M -> MB 是修复的方法..感谢您提出这个问题。 - Maher Abuthraa
现在是2023年,AVD管理器仍然存在这个bug。 - Paulo Matuki

16

只需按照以下命令行启动模拟器:

emulator -avd <your avd name> -partition-size 1024 -wipe-data

谢谢,我也遇到了同样的问题。现在它已经为我工作了。 - rahul goyal

10

我正在安装一个apk文件:

adb install /home/me/jones_android-arm.apk

我收到了一个错误消息,告诉我

/data/local/tmp/jones_android-arm.apk

太大了。使用来自 r15 的 sdk 工具和 ADT 15,我能够使用 AVD 管理器来操作一些现有模拟器的设置:

Window-> AVD Manager -> (select you virtual machine) -> Edit

那么在“皮肤”下方的硬件属性窗口中,我能够使用硬件:新建按钮选择“分区的理想大小”。然而,我无法将其值设置为其他值,只能将其设置为“0”。尽管如此,我去了我的${HOME}/.android/avd目录。那里有一个“MyVm.avd”目录。进入该目录后,我找到了一个“config.ini”文件。里面有以下条目:

disk.dataPartition.size=0

我将其设置为:

disk.dataPartition.size=1024

然后返回AVD管理器,选择MyVm,选择“开始”,在弹出的对话框中选择清除用户数据,然后就可以运行和安装了。


上次它运行得很好,但今天我不得不写disk.dataPartition.size=1024MB,因为10241024m都无法工作。 - Sufian

6
如果你使用的是M1 Mac和Android模拟器预览版,那么你需要前往/Applications/Android Emulator.app/Contents/MacOS/api30-gphone-arm64-v8a/config.ini(以此类推)并将disk.dataPartition.size属性更改为您所需的大小。
大致如下: enter image description here 参考文献在GitHub存储库中。
最好的问候。

尽管安装了多个模拟器(M1 Pro Macbook),但不存在此类文件。/Applications/Android Studio.app/Contents/MacOS/ 中唯一的文件是 studio 二进制文件。 - Benji
1
你好 @Benji,这只是为了预览模拟器。现在你可以在 M1 上从 Android Studio 创建 arm64-v8a 模拟器而不会遇到任何问题 :) - Andres Paladines

6

AVD管理器有一个选项“系统分区的理想大小”,尝试将其设置为1024MB,或使用执行相同操作的命令行启动选项。

值得一提的是,我只在4.0模拟器镜像中遇到了这个问题。


一样的情况。在这样做时,请确保从干净状态重新启动模拟器,而不是从快照中重新启动。 - Manfred Moser

4

为了调整Linux中Android模拟器的存储空间大小:

1)安装qemu

2)找到包含虚拟机img文件的目录。类似于~/.android/avd/.avd,进入该目录。

3)调整ext4映像的大小:例如将大小从500MB增加到4GB,执行以下命令。

qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB

4) 扩展文件系统:

e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img

5) 对于SD卡镜像,可选:拯救数据:

mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1

6) 将图像从100Mb调整为Gb:

qemu-img resize sdcard.img +3.9GB

7) 重新生成文件系统:

mkfs.vfat sdcard.img

8) 可选:恢复旧数据:

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 

4

这个问题出现在Android 1.5上,建议尝试使用2.0、2.1或2.2版本。


我在我的N1上使用2.2时遇到了这个问题。 - Erik B
2
我在1.5和2.2上都遇到了这个问题 https://dev59.com/pFDTa4cB1Zd3GeqPGBTZ - Paresh Mayani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接