【问题标题】:Error when trying to install second flutter app on the emulator尝试在模拟器上安装第二个颤振应用程序时出错
【发布时间】:2019-05-29 08:31:58
【问题描述】:

我创建了一个简单的 Flutter 应用程序并在 android 模拟器上运行它。它工作正常。现在我创建了另一个,当我尝试在模拟器上运行它时,我得到了:

 Error: ADB exited with exit code 1
adb: failed to install /Users/Admin/Development/flutter/flutter_app_test/build/app/outputs/apk/app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
Error launching application on Android SDK built for x86.

一旦我从模拟器中删除第一个应用程序,我就可以安装第二个应用程序并成功运行它。

所以任何时候我在模拟器上安装了一个颤振应用程序,安装另一个应用程序都会导致同样的错误。

有没有办法克服这个限制?或者这是一个错误?

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    在多个项目上多次运行模拟器后,我遇到了同样的问题。我删除了一个“qcow2”文件,现在模拟器至少到目前为止运行良好。

    C:\Users\admin\.android\avd\test_avd_29.avd\userdata-qemu.img.qcow2

    当我打开文件时,我看到这个文件大约有 100 万 KBytes,我觉得这很奇怪,所以我删除了它,看看这是否能解决问题,结果确实如此。

    【讨论】:

      【解决方案2】:

      检查模拟器上的可用空间 - adb shell

      您的 Android 模拟器必须正在运行才能运行。

      打开 Windows 命令提示符/Mac 终端。

      转到adb.exe 程序的目录。 (如果你的 PATH 中有这个,则不需要。)

      在 Windows 上(示例位置):

      cd c:\Android\Sdk\platform-tools\

      如果您只有一个正在运行的模拟器,则无需指定通过 adb shell 连接,因此只需运行:

      adb shell

      如果您有多个模拟器,您可以在找到名称后指定哪个使用

      adb devices 显示正在运行的模拟器

      连接模拟器

      adb -s emulator-5554 shell

      您将在模拟器中看到 shell 提示

      您将拥有有限的权限,因此将用户切换到 root 使用以下命令:

      su

      使用磁盘文件系统命令查看磁盘使用情况和可用空间

      df

      如果空间不足,/data 的使用百分比会很高。您需要在/data上释放空间

      通过删除已安装的应用来释放空间...

      在 adb shell 中删除应用程序

      您的应用位于/data/data:

      cd /data/data

      通过反转目录列表排序顺序可以更轻松地查看您的应用,以便您的应用显示在底部:

      ls -ltr

      您可以在此处使用rm -r 直接删除您的应用。在上面的示例中,应用程序存储在com.mobdev.user_interface_intro

      rm -r /data/data/com.mobdev.user_interface_intro

      对要从模拟器中删除的任何其他应用重复此操作以释放空间。

      在模拟器中删除应用

      您还可以在正在运行的模拟器中删除该应用程序。点击方形按钮 > Android 设置(齿轮图标)

      点击应用和通知

      找到并点击您的应用

      点击卸载

      根据需要对您要卸载的其他应用程序重复以释放模拟器空间。

      【讨论】:

        【解决方案3】:

        释放空间

        模拟器/虚拟设备使用的可用空间

        1. 打开Android Studio
        2. Tools > AVD Manager
        3. 点击模拟器/虚拟设备右侧的menu图标
        4. 选择Wipe Data
        5. 选择Yes

        您会看到空间将被释放。

        为清楚起见,请参见下图,3+ GB 空间被释放为 1.0 GB。

        【讨论】:

        • 谢谢!这是最好的答案。我已经添加了 10GB,但这也不够。然后我擦除了数据,这将能够从模拟器中删除 5-6 GB 的垃圾数据
        【解决方案4】:
        1. 打开 AVD 管理器
        2. 擦除数据(从模拟器中删除数据)
        3. 打开模拟器
        4. 尝试运行应用程序

        【讨论】:

          【解决方案5】:

          在安卓工作室
          1:工具 > AVD 管理器
          2:编辑虚拟设备
          3:显示高级设置
          4:增加内部存储

          internal storage

          【讨论】:

          • 高效、简洁的答案。读者可能会注意到(至少在 Mac 上),必须滚动,有点不直观,才能找到“内部存储”。
          【解决方案6】:

          您可能配置的存储空间太小,当您安装时模拟器耗尽存储空间时,您会收到此错误。

          在安装其他应用之前修改模拟器配置或卸载。

          在Android Studio中打开Android Virtual Device(AVD)管理器,编辑模拟器并增加“Internal Storage”并重启模拟器。

          【讨论】:

          • 我有 2048MB 的内部存储空间用于模拟器。不止一个 Flutter 应用还不够吗?
          • 应该是,但这取决于您的应用程序。在调试模式下,应用程序很容易占用正常大小的 10 倍。
          • 应用程序与默认计数器应用程序一样简单。不管怎样,谢谢你的建议!
          • 您可以运行flutter build apk 并检查build 目录中的debug 构建输出并检查大小。一个简单的应用程序大概是 70M 左右。因此,如果您有 2G 和免费的大部件,那么您应该能够安装一些。从这里很难看出你的系统到底发生了什么。
          • @GünterZöchbauer 对我来说,apk 大小为 15MB,而模拟器的内部存储大小为 10GB。这很奇怪......我不得不在模拟器上卸载另一个应用程序,现在我可以安装我的 Flutter 应用程序了。
          猜你喜欢
          • 2019-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-05
          • 2018-08-18
          • 1970-01-01
          • 2012-10-17
          • 2018-02-24
          相关资源
          最近更新 更多