INSTALL_FAILED_INSUFFICIENT_STORAGE错误是每个Android开发人员的烦恼。这与应用程序大小或可用存储空间大小无关。重新启动目标设备可以短暂地修复问题,但它很快就会回来。人们在留言板上发帖询问为什么会出现这个问题,但令人沮丧的是,谷歌的人对这个问题保持沉默。

有一个简单的变通办法。如果您的测试设备运行的是Android 2.2或更高版本,那么将Android:installLocation属性添加到应用程序的清单文件中,值为“preferExternal”。这将迫使应用程序安装在设备的外部存储设备上,比如手机的SD卡。

例如:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.andrewsmith.android.darkness"
          android:installLocation="preferExternal"

这更像是一种创可贴,而不是补救措施,如果你想要完成的应用程序安装在设备的内部内存中,这可能不太理想。但它至少会让开发过程不那么令人沮丧。


当前回答

在我的情况下,失败是由com.android.providers.media应用程序引起的。我在x86 android模拟器上遇到了这个问题。我做了什么:

$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M   209M    14M   4096
....

/data上的可用空间过低

$ adb shell du /data
...
409870  /data/data/com.android.providers.media
...

几乎所有的消费都来自于一个应用!它是系统应用程序,所以我认为最好不要删除它。相反,我清理了应用程序数据。

$ adb shell pm clear com.android.providers.media
Success
$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M     8M   215M   4096
...

磁盘已被清除,应用程序安装成功。

其他回答

模拟器解决方案

打开你的。android目录。通常在您的主目录中。然后转到avd,然后打开包含您想要更改的avd名称的目录。

现在编辑config.ini文件并添加以下行或修改以下行:

disk.dataPartition.size=1024

其中1024是您想要使用的MB大小。保存文件,然后启动模拟器,选中擦除用户数据。您的模拟器现在应该具有新的大小。

我也遇到了同样的问题,我做了一个“工厂数据重置”,在那之后它工作得很好。

回复这个话题的第一篇文章…

症状:某些应用程序不安装,说没有空间 实际上,内部和外部存储都有足够的空闲空间!! 解决方法:默认关闭外部安装。

默认设置外部安装:

adb shell pm set-install-location 2

使安装不可能在许多应用程序不能安装外部(如adblock +或左右)

那么答案是

adb shell pm set-install-location 0

Or

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external

我最终从设备上卸载了应用程序,然后在Eclipse中重新安装。这是我经常使用设备时遇到的一个问题,但今天我从开发中得到了这个信息。

今天,当我用我的手机进行Eclipse测试/调试时,我得到了这个错误。

我的错误是在应用程序名称中使用了挪威特殊字符(“æ”,“ø”,“å”)。当我重构应用程序名称(使用“o”而不是“ø”),应用程序安装正确。

可能不是你的问题,但可以注意到其他人得到同样的错误。