如何增加 Android Emulator 的存储空间? (INSTALL_FAILED_INSUFFICIENT_STORAGE)

Posted

技术标签:

【中文标题】如何增加 Android Emulator 的存储空间? (INSTALL_FAILED_INSUFFICIENT_STORAGE)【英文标题】:How to increase storage for Android Emulator? (INSTALL_FAILED_INSUFFICIENT_STORAGE) 【发布时间】:2011-01-15 09:49:51 【问题描述】:

我有时(不经常)在我的一个项目中得到这个,只有几门课Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

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

【问题讨论】:

我经常看到这个错误,即使安装的设备有足够的存储空间。请记住,有时当您看到错误时,错误消息所说的实际上并不是真的。 @Pentinum10 我在 1.5 和 2.2 上都遇到了同样的错误,请在需要您帮助的地方查看这个问题:***.com/questions/3584297/…,请帮助我并抓住我 【参考方案1】:

如果您有 M1 Mac 和 android 模拟器的预览版,那么您需要转到 /Applications/Android Emulator.app/Contents/MacOS/api30-gphone-arm64-v8a/config.ini(作为示例)并将 disk.dataPartition.size 属性更改为您想要的大小。

类似这样的:

参考在GitHub repo。

最好的问候。

【讨论】:

【参考方案2】:

这个问题可以通过修改模拟器的分区大小来解决。

转到您的 \Android\Sdk\emulator 路径并键入以下命令。

emulator -avd android_emulator_name -partition-size 1500 -wipe-data

现在它可以工作了,你已经增加了你的分区大小。 在运行上述命令之前和之后,您可以使用以下命令观察大小的变化。

adb shell df

【讨论】:

【参考方案3】:

我正在使用 VSCode,而我的 AVD 设置来自我有一段时间没有使用过的旧版 Android Studio 设置。

我能够通过找到 AVD 图像所在的位置然后搜索包含该文本的文件来解决此问题

disk.dataPartition.size

找到 AVD 的目录后,运行 find . -name "avd*"grep "disk" *

修改hardware-qemu.ini 文件中的disk.dataPartition.size 值对我有用。

【讨论】:

【参考方案4】:

在 Android Studio 上

打开 AVD 管理器。

单击编辑图标以编辑 AVD。

点击显示高级设置。

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

点击是确认弹出窗口。

擦除 AVD 上的数据并单击是确认弹出窗口。

重要提示:增大大小后,如果它没有自动要求您擦除数据,您必须通过打开 AVD 的下拉菜单并选择擦除数据来手动进行。 p>

现在启动并使用您的模拟器,增加存储空间。

【讨论】:

在创建 AVD 之前或之后更改“内部存储”对我没有任何作用。它总是出现 300MB 和低空间警告。 您是否在更改大小后从 AVD 管理器的下拉菜单中擦除了数据。 我已经删除了 AVD,但它也发生在新配置的未启动图像上。我在另一个问题中发现这是某些 API 的问题 天啊-谢谢你!这是我发现唯一有效的解决方案! 这应该是公认的答案,也是第一个出现的答案(不是与旧版 Eclipse 相关的答案)。改变大小并启动​​模拟器是不够的(即使使用Cold Boot Now)。关键似乎是 Wipe Data 命令。谢谢!【参考方案5】:

更新

在我写这篇文章的时候,这个答案已经有将近八年的历史了,而且已经过时了大约五年。但它仍然是(在我写这篇文章时)“接受”的答案,因为它回答了问题当它被问到时。

适用于较新 Android Studio 工具的较新答案可在此处找到:https://***.com/a/35828035/62 - 这是一个很好的屏幕截图答案。如果您使用的是 Android Studio,请忽略下面的 Eclipse 答案。

基于 Eclipse 的原始答案

我正在寻找这个问题的答案,但对上述答案不满意。但后来我找到了answer,所以在这里供以后参考:

总结(和澄清),在 Eclipse 中,转到“调试配置”。您可以在“调试”图标下的下拉菜单中找到它。选择“目标”,然后选择要启动的首选模拟器目标。然后在“其他模拟器命令行选项”下添加:

-分区大小 1024

然后关闭模拟器(并移除所有设备),然后单击调试图标,这将启动您选择的首选模拟器。这很重要:Eclipse 需要启动调试器,而不是 AVD。

这解决了我的问题。

【讨论】:

请注意,“分区大小”以兆字节为单位,通常要安装 APK,您需要的磁盘空间至少是 APK 大小的两倍。 另外需要注意的是:你必须在你想在eclipse中运行的项目上右键->运行->运行配置->选择项目->目标->向下滚动->添加-分区-大小 1024 到附加 Em 选项-> 然后从 Eclipse 运行项目 Google 应该为 Android 3.2 或 4.0 添加一个明确的属性参数。修复该死的 Eclipse AVD 插件 不错的发现...确实应该通过 ADT 工具公开。 ICS模拟器默认只有60mb!无法在开箱即用的东西上安装 APK。 对于像我一样在多年后看到这个公认答案的人,你可能想看看***.com/a/35828035/62。【参考方案6】:

运行 AVD 管理器

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

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

disk.dataPartition.size=4000M

无效值,尽管指定了数字,但磁盘大约为 500MB。

通过“AVD 详细信息”中的路径转到 AVR 的文件夹。

在 config.ini 中将其编辑为

disk.dataPartition.size=4000MB

并删除所有 .img 文件。

【讨论】:

这应该是选择的答案。在当前版本的 Android Studio (3.0.1) 上,如果您正在运行启用了 Google Play 的 AVD,则编辑设置属性将灰显。这行得通。我将我的测试设备从 400M 更改为 2000MB,删除了所有 *.img 和 *.qcow2 文件。已擦除 AVD 上的数据。然后启动它,它有 2000 MB 的存储空间。 @MLindsay 我同意 仅供参考,我不必删除 *.img 或任何其他文件。只需更改 config.ini 中的值就足够了。 谢谢!为我的案子工作。【参考方案7】:

在 Linux 中调整 Android 模拟器的存储空间:

1) 安装qemu

2) 找到包含虚拟机的img 文件的目录。像 ~/.android/avd/.avd 和 cd 之类的东西。

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 

【讨论】:

【参考方案8】:

更新您在 AVD Manager 中的设置并通过启用“擦除用户数据”启动设备。这对我有用。

【讨论】:

在新的 AVD 界面中,右键单击模拟器行,然后选择更改内部存储后擦除用户数据。【参考方案9】:

尝试选择项目 -> 清洁。一个简单的清洁就可以解决它。

【讨论】:

【参考方案10】:

你需要增加模拟器的虚拟内存

如何增加模拟器的虚拟内存

emulator -avd "Emulator Name" -partition-size 2024

然后尝试安装您的 apk

【讨论】:

【参考方案11】:

将以下内容添加到 avd config.ini

disk.dataPartition.size=1024MB

让我知道这是否也适合您。

我在这一行添加了

【讨论】:

在 2.3 图像上对我不起作用。我仍然只看到 128MB 的内部存储空间可用于应用程序。 我注意到在 AVD Manager 的“编辑”UI 中,尝试手动设置此值总是会将其重置为 0。也许是相关问题?也许它不应该在某些版本的 Android 上设置? 在使用 AVD 管理器时,您必须输入像 1024MB 这样的值。你不能只输入1024 花了一点时间才弄明白,我已经确认这是可行的【参考方案12】:

通过命令行启动模拟器如下:

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

【讨论】:

谢谢,我也遇到了同样的问题。它现在对我有用。【参考方案13】:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal"   // this line can work for  Installation error:            //                                             // INSTALL_FAILED_INSUFFICIENT_STORAGE

【讨论】:

不知道为什么这被否决了——对我有用,所以投赞成票。 :)【参考方案14】:

我正在安装一个 apk:

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

我收到一条错误消息,告诉我

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

太大了。使用 r15 和 ADT 15 中的 sdk 工具,我能够使用 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 不起作用。【参考方案15】:

avd 管理器有一个选项“系统分区的理想大小”,尝试将其设置为 1024MB,或使用命令行启动选项,这样做的效果相同。

fyi,我只在 4.0 模拟器图像上遇到过这个问题。

【讨论】:

这里也一样。当您这样做时,请确保从干净状态而不是快照重新启动模拟器。【参考方案16】:

以下方法对我有用

    在终端窗口中导航到您的 android SDK/tools 文件夹(如果您没有为其添加路径)

    确保您计划清理的虚拟设备已关机。

    运行命令“./emulator -wipe-data -avd YourAvdName”,其中 YourAvdName 是您的虚拟 android 设备的名称

【讨论】:

【参考方案17】:

android 1.5 出现此问题.. 尝试 2.0 或 2.1 或 2.2

【讨论】:

我在 N1 上用 2.2 得到这个 我正在使用 1.5 和 2.2 ***.com/questions/3584297/…【参考方案18】:

您可以在eclipse平台的AVD管理器对话框中从左侧树“虚拟设备”中选择一项时启动一个,启动UI有“擦除用户数据”选项

【讨论】:

【参考方案19】:

我猜您应该使用“emulator -wipe-data -avd YourAvdName”重新启动模拟器,或者如果您使用的是 Eclipse,请在运行配置中选中“Wipe User Data”。

我现在也面临同样的问题。

【讨论】:

【参考方案20】:

这显然不是一个合适的答案,但它是一个小提示。

如果您想在您的应用程序中使用静态文件。您应该将它们作为资源或资产。 但是,如果你有内存问题,比如让你的 APK 很小,那么你需要改变你的应用程序设计,

而不是将它们作为资源,在运行您的应用程序时(安装后),您可以从 SD 卡中获取文件(显然不同的文件,因为用户可能不会保留您需要的文件)。为此,U 可以使用 ContentResolver 来获取用户选择的音频、图像文件。

有了这个,你可以给用户另一个功能,比如他可以根据自己的选择将音频/图像文件加载到应用程序中。

【讨论】:

【参考方案21】:

我是初学者,但在玩“Hello Grid View”时遇到了这个问题。我正在尝试使用我自己的照片,这些照片的文件大小都非常大。

快速解决方法是减少照片数量,从而减小 APK 文件的大小。

但是,我想我对点击此线程的其他人的后续问题是:如何将 JPG 和 MP3 等大文件附加到应用程序并确保它们保存在 SD 卡上,以便 APK 保持较小?

【讨论】:

我想我在这里找到了答案:developer.android.com/guide/topics/resources/index.html 尝试对任何大型元素使用“资产”而不是“资源”。来自页面:资源是 Android 应用程序的一个组成部分。通常,这些是您希望在应用程序中包含和引用的外部元素,例如图像、音频、视频、文本字符串、布局、主题等。每个 Android 应用程序都包含一个资源目录 (res/) 和一个用于存储资源的目录资产(资产/)。【参考方案22】:

我唯一一次看到这种情况发生是在主机文件系统基本上空间不足的时候。存储 VM 文件系统的文件系统上是否有很多可用空间?

【讨论】:

我的硬盘上有足够的空间 13GB 可用。

以上是关于如何增加 Android Emulator 的存储空间? (INSTALL_FAILED_INSUFFICIENT_STORAGE)的主要内容,如果未能解决你的问题,请参考以下文章

你如何让 VS Android Emulator Images 启动?

Android TV Emulator:如何创建曲面显示模拟器?

如何解决The emulator process for AVD was killed.

如何解决The emulator process for AVD was killed.

如何将虚拟相机发送到 Ubuntu 中的 Genymotion 或 Android Studio Emulator?

Android Emulator警告来宾不在线 - 如何关闭新的快速启动功能?