141

我的应用程序的总空间为 10 MB,安装后将占用不到 20 MB。在Galaxy Note I中,更新我的应用程序时,它显示“可用存储空间不足”,其中设备内存(内部)中有 214 MB 的可用空间。甚至尝试下载新应用程序也会发生这种情况。

我搜索了很长时间的解决方案,以及导致此问题的完美原因,但我找不到。我该如何解决这个问题?

这是我的另一台设备中存在相同问题的“adb shell df”的结果。它有 35 MB 可用空间:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied
4

27 回答 27

178

这是一个非常简单的解决方案,适用于我的三星 Galaxy S IINote 1;我不知道其他模型:

  1. 打开手机应用程序并切换到键盘。
  2. 拨号*#9900#
  3. 在出现的屏幕上,单击标有“Delete dumpstate/logcat”的按钮。

通过这种方式,我已经恢复了大约 1 GB 的系统空间。

于 2013-10-29T14:47:42.143 回答
68

起初我尝试了Berislav Lopac 的答案Connection problem or invalid MMI code.但当我尝试拨号时我得到了*#9900#。我在手机上使用CyanogenMod ,我相信带有自定义ROM的手机不使用常用拨号器,因此它们缺乏 SysDump 功能。

基本上,Delete dumpstate/logcat在 SysDump 中清除/data/log. 但是您也可以在没有 SysDump 的情况下手动执行此操作。(这是假设您的手机已植根,如果您的手机正在运行 CyanogenMod 或任何其他非库存 ROM,就会出现这种情况。)

  1. 确保安装了超级用户和终端模拟器应用程序。(它们带有大多数自定义 ROM。)
  2. 运行终端模拟器
  3. 输入su,回车。
  4. 这将弹出一个超级用户提示。授予访问权限。(您必须等待三秒钟才能单击“允许”。)
  5. 输入 更改当前目录cd /data/log,然后回车。
  6. 通过输入确认您在data/log目录中pwd,然后按回车键。它应该打印出您所在的当前工作目录:/data/log. 确保您位于正确的目录中非常重要,因为下一步将删除您当前所在的任何工作目录中的所有文件。
  7. 输入 删除目录中的所有文件rm *,然后按回车键。
  8. 关闭终端窗口或应用程序,或输入exit以离开su会话。

我删除了大约 1,500 个这样的 1 MB 文件并修复了我的“可用存储空间不足”问题。

与其他海报一样,我拥有Galaxy S II,因此该型号似乎有问题。

如果有人知道停止日志文件建立的永久解决方案,请告诉我。

注意:一些文件管理器会错误地列出/data/log为空,因为它们正在非特权运行,因此缺乏查看其中文件的权限。

于 2013-11-14T00:16:14.323 回答
19

内存可能会被操作系统保留用于运行您通常运行的内容(有点像交换文件)。您可以通过以下方式挤入另一个或两个应用程序

  • 尝试在重新启动后立即安装它们,或者
  • 通过强制关闭一些正在运行的应用程序(但第二个选项可能不是一个好主意 - 请参阅第一个链接),

但唯一非常好的解决方法可能是

  • 重新分区您的 SD 卡,以便可以直接在其中安装应用程序(请参阅第二个链接)。

看看论坛帖子一定会发生:内存不足警告!.

重要的部分是:

操作系统知道运行您已有的应用程序需要多少内存。这是一个完美的例子。

现在,您可以通过强制关闭一些位于 RAM 中的应用程序来“欺骗”操作系统。这会增加你的内存“桶”,这可能会让你安装一个应用程序,但请记住,如果你做这些类型的事情,你只会导致问题......滞后,错误消息等(因为你在愚弄操作系统认为你已经给了它额外的记忆,实际上你做了......你只是强制关闭)。

关于正在发生的事情的另一个很好的解释是论坛帖子Low Internal Memory

重要的部分是:

您的内部空间被填满的原因是 3 倍。首先,当应用程序“移动”到 SD 卡时,它并没有完全移动。它实际上只有一部分。其次,应用程序的 Dalvik 缓存仍然存储在内部存储器中(占用大量空间)。三,应用程序的数据和所有系统设置都存储在内存中(是的,一些应用程序使用 SD 卡存储部分数据,但每个应用程序都将数据存储在内存中)。

该主题还包括有关您可以对 SD 卡进行哪些分区以允许“moar 应用程序”的建议!

于 2013-06-17T13:47:41.273 回答
13

包管理器(“安装程序”)有一个设计问题:它无法区分一堆可能的错误,并经常提出“存储空间不足”的借口。

第一步已完成:确定这是一个安装问题 (1.) 与存储不足无关 (2. )

  1. 它发生在控制台 ( pm install file.apk)、Google Play、其他市场和手动 GUI 安装(例如,“单击”下载的APK文件);不是下载问题,...
  2. 包最终完全在/data分区上 - 或者 - 大部分在SD 卡上(还有一点点/data)。– 两个地方都显示出足够的空间,如原始海报所示(分别为 33 MB 和 >900 MB),用于 <20 MB 的包。–而且–/data分区有超过 10% 的可用空间(33 MB 超过 200 MB 的 10%)。

令人惊讶的是,大多数答案都没有考虑到这一点......

实际上,/data分区需要清除以前安装的残留物。

  • 识别有问题的包的通用名称(例如,com.abc.def)
  • 卸载软件包(例如,pm uninstall com.abc.def
  • 检查数据中的剩余内容(例如,find /data -name 'com.abc.def*'
  • 删除那些东西

安装程序对这些感到窒息,返回错误的原因。– 有趣的部分是:如果软件包被安装在 SD 卡上(强制或通过其他方式),一些(全部?)剩余物/data不会受到伤害......这会导致错误地认为它确实是空间问题( SD卡上有更多空间...)!

我从中得到一半的堆栈溢出问题是解决 Android 上的 INSTALL_FAILED_INSUFFICIENT_STORAGE 错误

于 2013-11-08T14:14:13.103 回答
6

首先要做的是检查错误消息的详细信息。为此,您可以使用LogCat App

对我来说,问题是一个错误,比如

Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

解决方法是激活大脑中的常识功能,用ES-Explorer在app-lib文件夹中查找com.xyz文件夹。我意识到这个文件夹已经在那里了。所以删除它解决了重命名问题,应用程序现在可以正确安装。

于 2014-02-26T14:47:08.530 回答
6

我的手机也出现了同样的问题,这解决了问题:

  • 转到Application Manager/Apps从设置。

  • 选择Google Play Services

在此处输入图像描述

  • 单击Uninstall Updates按钮右侧的Force Stop按钮。

  • 卸载更新后,您应该会看到Disable表示您已完成的按钮。

在此处输入图像描述

您现在会看到大量可用空间。

于 2014-10-17T08:21:47.917 回答
2

1.重启手机,然后重新安装应用程序

我的设备上也遇到了同样的问题Insufficient Storage Available,但我重新启动了我的设备,它工作正常!

PS:

2.在外部存储上安装应用程序

为此,Storage Location请使用以下命令进行设置

adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto
于 2013-06-17T05:31:01.317 回答
2

卸载后安装应用程序时,我也遇到了这个问题。我解决了下载Lucky Patcher的问题,然后单击菜单 - 故障排除 - 删除修复和备份(可用存储空间不足)。请注意,您需要将设备植根。

于 2013-06-18T09:23:47.470 回答
2

我有一个未植根的 Nexus 4(只有内部存储,没有 SD 卡),并且在更新较大的应用程序时遇到此错误。较小的应用程序会更新得很好。

我发现这是因为我最近注册了 Play Music All Access 服务并固定了几张专辑。

这些被下载到隐藏/data分区,正是这个已经用完了空间(我假设)

我取消了几张专辑的固定,现在安装应用程序没有问题。

于 2013-12-17T12:23:10.387 回答
2

即使有大量的内部存储器和 SD 存储器,我也遇到了这个问题。此解决方案仅适用于不会更新或之前已安装在手机上且不会安装的应用程序。

似乎在某些情况下,以前安装留下的目录,新应用程序无法删除或覆盖这些目录。

要做的第一件事是先尝试卸载该应用程序,然后重试。就我而言,这适用于几个应用程序。

对于下一步,您需要手机上的 root 访问权限:

使用文件管理器转到 /data/app-lib 并找到与应用程序关联的目录(或多个目录)。例如,对于 kindle,它是 com.amazon.kindle。删除这些。也去 /data/data 做同样的事情。

然后去play store重新安装app。这适用于我的所有应用程序。

于 2014-08-06T08:51:27.770 回答
1

我有同样的问题,通过使用App Cache Cleaner解决了。

(HT:acejavelin@Android 论坛

于 2013-08-24T18:41:20.847 回答
1

我尝试了几个建议的解决方案,但没有一个对我有用。经过一番研究,我偶然发现了将一些应用程序/data/app/system/app. 这释放了足够的空间来安装新应用程序和更新现有应用程序。

我可以推荐免费实用程序SystemCleanup来移动应用程序。

于 2014-03-31T05:45:27.083 回答
1

这是最容易做的事情。去settings 寻找storagememory触摸它并寻找cached data。触摸它并从那里清除您的数据。简单的!!!

于 2015-04-17T10:12:28.470 回答
0

应用程序是否必须安装在内部存储中?如果您没有运行任何服务,您可以尝试将其安装在外部存储上。这可以通过在清单中添加以下代码来完成:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

在大多数情况下,这通常适用于 Android 2.2 及更高版本。如果您的应用程序安装在外部存储上,请确保它能够正常工作。您会很好地了解可以在App Install Location中的外部存储上安装哪些类型的应用程序。

于 2013-06-17T11:47:29.217 回答
0

对于区域设备,设备的行为似乎与不同的设备组不同。

我从不同的人那里听到的一些奇怪的意见是:

  • 拔下电源后重新启动设备
  • 从设备中删除一些应用程序并释放至少 100 MB
  • 尝试从命令行安装您的应用程序,./adb install ~Application_path
  • 将您的应用程序移动到 SD 卡存储或在 Android 清单文件中将其默认设置为 SD 卡,android:installLocation="preferExternal"
  • 您在 Raw 文件夹中有大量内存获取内容,该文件夹在手机内存中安装副本,同时安装APK文件并且设备没有足够的内存来加载它们
  • 根您的设备并安装一些好的 ROM,这有助于让设备了解其剩余内存。

我希望其中之一与您相关!;)

于 2013-06-18T12:53:30.993 回答
0

您可用的大部分空间都由操作系统保留。最好且最简单的解决方法是将您的应用程序移至外部存储。这将为您腾出大量空间。

于 2013-10-03T07:14:10.230 回答
0

某些应用程序需要重新启动才能完全安装。Android 只是说由于某种原因它没有足够的内存 - 它应该说它需要重新启动才能完成安装。试一试 - 当您重新启动时,它将完全自动安装。

于 2013-10-04T17:04:07.120 回答
0

我为自己解决了这个问题。不过,内部和 SD 内存显示出大量可用空间。这是手机内存的问题,几乎已满。

因此,我将我的许多应用程序从手机内存移动到内部 iemory,以释放手机内存:设置->存储->应用程序(在内部存储部分下) ->内部选项卡

以下是未检查且占用手机内存空间的内容。

单击应用程序(一个一个) 单击按钮:“移动到内部存储”。

一旦您以这种方式释放了手机内存上的大量空间,就不会出现错误。

于 2013-10-09T21:13:45.417 回答
0

卸载了几个应用程序后,我可以安装新的应用程序...

我认为操作系统会计算运行所有应用程序所需的总内存。如果它不适合,那么它会说“内存充足”。

于 2014-01-07T11:23:49.947 回答
0

我没有找到有效的免费解决方案,但我找到了解决方案:我使用了非免费版本的 Titanium 备份,单击上下文按钮并选择检查应用程序占用的内存。找到下载应用,你会看到它有一定的空间分配给它的缓存。清除数据是您想要的选项。

于 2014-07-13T22:03:00.290 回答
0

清除 Google Play 缓存也可以帮助你... 进入 Google Play 的应用信息页面并清除它。

于 2014-07-16T12:15:40.987 回答
0

如果您有 root,请删除路径上的所有文件夹:

/data/app-lib/

然后重新启动您的设备。

我多次遇到此问题,并且此修复程序每次都对我有用。它甚至有一个 XDA 线程

我写了所有文件夹,因为如果一个应用程序出现问题,那么您很可能也会遇到其他应用程序的问题。另外,只找到有问题的 app/s 的文件夹很烦人。

于 2014-08-12T16:53:05.720 回答
0

我在库存 ROM (4.2.2 ME2) 上的 Galaxy S4 (i9505) 上遇到了同样的问题。我有这样的可用空间:473 MB 上/data,344 MB 上/system,2 GB 上/cache。我在从 Play 商店(小应用程序,2.5 MB)下载任何内容时都收到免费的 spate 错误,我检查了LogCat,它说“取消下载 ABC,因为可用空间不足”。

然后我释放了 600 MB 上的一些空间/data,现在它工作正常,应用程序下载和安装;)。所以看起来这个ROM需要更多的可用空间才能正常工作......

于 2014-09-16T19:47:12.960 回答
0

如果包名称太长(> 128 个字符),我会收到相同的错误消息。只需使用较短的名称即可解决问题。

于 2015-01-27T14:01:13.057 回答
0

我有超过 2 GB 的内部空间,但我无法从Google Play或手动安装/更新应用程序。

不管是什么原因,擦除缓存分区解决了我的目的。

步骤:恢复 -> 擦除缓存分区 -> 立即重新启动系统

于 2015-03-11T07:12:46.573 回答
0

转到设置、应用程序、全部并卸载 Google Play 商店。这将替换为旧版本,然后您可以在没有“存储不足错误”的情况下下载它对我有用

于 2015-10-25T12:16:22.903 回答
-1

我一直遇到这个问题,我使用 Titanium Backup清理了Dalvik缓存。您需要将手机植根。一旦我这样做了,我就能够更新 Swiftkey 和 Beautiful Widgets。

于 2014-02-25T01:36:19.450 回答