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"

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


当前回答

我的手机没有root权限,也没有准备好把我的应用程序安装在SD卡上。/data/上有15 MB的可用空间,而我的应用程序不足2 MB。

有一段时间我还过得去;清理Eclipse项目并重新启动手机,但最终停止工作(可能是在更新之后)。

清理我的应用程序缓存为我解决了这个问题,不需要重新启动手机或卸载应用程序。

市场上有一些应用程序可以一次性清除多个应用程序的缓存。搜索“干净”。

其他回答

您需要增加Android模拟器的内存容量。有两种方法:

Right click the root of your Android Project, go to "Run As" and then go to "Run Configurations...". Locate the "Android Application" node in the tree at the left, and then select your project and go to the "Target" tab on the right side of the window look down for the "Additional Emulator Command Line Options" field (sometimes you'll need to make the window larger) and finally paste "-partition-size 1024" there. Click Apply and then Run to use your emulator. Go to Eclipse's Preferences, and then select “Launch” Add “-partition-size 1024” on the “Default emulator option” field. Click “Apply” and use your emulator as usual.

解决办法很简单。

打开AVD管理器。编辑你的AVD。

在下面的硬件部分,有一些属性列在“New…”和“Delete”的右边。

新媒体。选择数据分区大小。设置为“512MB”(必须为MB)。做完了。如果您仍然遇到问题,请使用相同的方法增加您的系统和缓存分区。

都记录在这里: http://developer.android.com/guide/developing/devices/managing-avds.html

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

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

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

我已经添加了一个额外的行到应用程序的清单文件,这是android:installLocation="preferExternal"。通过使用这一行,它强制将应用程序安装到外部存储。请看下面的例子,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >

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

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

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