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"

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


当前回答

由于这个问题仍然存在,出于开发目的,我认为我应该在RacZo的回答中添加一些内容。如果你没有使用Eclipse插件,或者因为任何原因你没有源代码,而只有.apk,你可以在启动模拟器时使用相同的选项从命令行增加分区大小:

emulator -avd <emulator name> -partition-size 1024

据我所知,这个选项在developer.android.com上没有记录,所以我想我将它发布在这里,以便人们可以找到这个解决方案。

其他回答

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

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

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

我遇到这个问题是因为我使用Sideload Wonder Machine在我的实际手机上安装应用程序时遇到了这个错误。我发现问题是在/payload目录中有多个.apk文件。我认为这是支持的东西,但当我删除了所有的。apk,只有一个,错误消失了。

在尝试了这个线程中的所有其他内容之后,我发现我自己的问题是因为到.apk文件的路径太长了。所以我cd到。apk所在的目录,并这样做:

cd /Very/Long/Path/To/Package/
adb install mypackage.apk

而不是

adb install /Very/Long/Path/To/Package/mypackage.apk

这招奏效了……安装得很好。

只是觉得这能帮到别人。

我尝试了以下方法:

重启我的设备 删除之前的APK 重建我的APK 卸载我之前在设备中的副本 重新安装

检查它对你是否同样有效。

我在我的新Nexus 4和用Adobe AIR构建的APK上遇到了这个问题。我已经有android:installLocation="preferExternal"在我的清单。我注意到我还用-s选项调用adb install(在共享大容量存储上安装包,如sdcard.),这似乎有点多余。

从adb安装中删除-s标志为我解决了这个问题。