【问题标题】:"There is not enough storage space on the device to store package" when starting Android emulator启动Android模拟器时“设备上没有足够的存储空间来存储包”
【发布时间】:2016-06-15 12:51:29
【问题描述】:

我刚刚在 Visual Studio 2015 中更新了 Xamarin(这是来自 Visual Studio 的建议更新)。

更新后,当我用模拟器AVD_GalaxyNexus_ToolsForApacheCordova (Android 4.4 - API 19)开始调试时,出现如下错误:

“InstallPackageAssemblies”任务意外失败。

System.AggregateException:发生一个或多个错误。 ---> Xamarin.AndroidTools.AndroidDeploymentException: InternalError ---> Mono.AndroidTools.InsufficientSpaceException: 设备上没有足够的存储空间来存储包:/data/local/tmp/Mono.Android.Platform.ApiLevel_23.apk .请释放一些空间或使用 SD 卡,然后重试。

这并没有在更新前几分钟发生,并且该项目在更新期间保持不变。我对此非常肯定。

Xamarin 文档记录了此错误 here,并说:

设备上没有足够的存储空间来部署包

当您不从 Visual Studio 中启动模拟器时会发生这种情况。在 Visual Studio 之外启动模拟器时,需要传递 -partition-size 512 选项,例如

emulator -partition-size 512 -avd MonoDroid

但我确实从 Visual Studio 中启动了模拟器。

【问题讨论】:

  • 您的模拟器有多少内部存储空间,其中有多少可用?
  • @CobusKruger 我在模拟器中查找了它,结果如下:i.imgur.com/gRCgahy.png(可用:77MB,应用程序:162MB,缓存数据:452KB)。
  • 我已经删除了当前的应用程序+从以前的调试中部署的另一个应用程序,现在它可以工作了。 1)我没有意识到以前的部署存储在模拟器中(现在我知道更好了),2)这 2 个应用程序仅占总存储空间的 20MB(对我来说似乎很小),3)当 2未卸载的应用程序为 78MB(这似乎足以部署 10MB 的应用程序)。
  • 部署成功后,模拟器显示的可用存储空间为58MB。查了一下,发现可以修改Visual Studio 2015 -> Open Android Emulator Manager (AVD) -> Edit -> Internal Storage下的那些参数。我刚开始玩 Xamarin,我没有想到在模拟器上部署可能会出现这类问题。另外,最后,该解决方案与 Xamarin 文档提出的内容无关(“当您不在 Visual Studio 中启动模拟器时会发生这种情况。”)。

标签: android xamarin visual-studio-2015 mono


【解决方案1】:

检查模拟器的内部存储大小和可用存储。默认配置通常不是很大。

【讨论】:

  • 我会再次在这里发布以防万一:要更改此参数,请转到Visual Studio 2015 -> Open Android Emulator Manager (AVD) -> Edit -> Internal Storage。此外,选项 B 是在模拟器中摆脱以前的部署(它们保存在模拟器中,它们占用一些空间。我不知道。)。
  • @XavierPeña 如何删除以前的部署?多次部署后,我不断收到此错误。如果我检查设备,它显示有足够多的地方是空闲的,但由于某种原因我仍然收到此错误。
  • 我发现关闭模拟器和管理器并将其重新启动可以解决问题。如果不是 adb kill-server/start-server 就可以了
  • 我的 Android Q 模拟器上有 4GB(系统文件)占用了 3.3GB
【解决方案2】:

在 MAC 上,如果您遇到错误,请确保将 dataPartition 增加到 1024M

disk.dataPartition.size : 1024M

在 Mac 当前配置上:如果您有比我更好的土豆(MacBook pro),请随意添加更多字节

【讨论】:

    【解决方案3】:

    Emulator memory issue

    增加堆大小(使其成为 2*x)。 在我的情况下,它是 256 之前,然后在我使它成为 512 之后,现在它工作正常。

    由 venkat Yanamandala 发布

    【讨论】:

      【解决方案4】:

      Cobus 的回答对我没有帮助。检查设备的存储,我发现应该有足够的空间来部署我的应用程序。到目前为止,我唯一的解决方案是每次发生这种情况时在模拟器中创建新设备。在我多次部署我的应用程序(例如 50 多次部署)后,这种情况一直在发生。

      【讨论】:

      • 摆脱旧部署的最简单方法是单击模拟器的向下指向的小菜单并选择擦除数据。这将摆脱一切,所以我想更好的方法是使用您的帐户设置模拟器等等,然后复制它。运行副本并将原始文件用作模板。奇怪的是你得到了这个 - 我有 1GB 分配给内部存储,根本没有遇到这个问题。
      • @CobusKruger 对我来说也是一样,1GB 的存储空间,它说它甚至没有使用一半。如果我找到更好的解决方案,我会更新我的答案。
      【解决方案5】:

      我只是清理解决方案并重新构建它。

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题,并设法通过简单地从 ADB 模拟器中卸载以前的版本来解决它。要卸载: .运行模拟器。 .将应用程序的图标拖放到垃圾箱。

        【讨论】:

          【解决方案7】:

          以下这些步骤对我有用

          1. 增加数据磁盘分区大小 1024MB
          2. 再次清理并重建

          【讨论】:

            【解决方案8】:

            我通过清理android系统缓存解决了这个问题,playstore中有几个工具可以解决这个问题,我的情况是我用连接的设备进行调试,所以与模拟器设置无关。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-08-24
              • 1970-01-01
              • 2011-02-22
              • 2014-12-22
              • 2014-06-23
              相关资源
              最近更新 更多