adb安装失败并显示错误' INSTALL_FAILED_INSUFFICIENT_STORAGE'

时间:2014-04-17 05:13:38

标签: android linux adb android-sdk-tools sony-xperia

我已经买了我的第一部Android手机索尼Xperia M而没有意识到我们无法将应用程序移动到外部SD卡的问题。有关详细信息,请参阅此link

索尼的唯一建议是根据设备,分区并使用第三方应用移动它。他们还提到生根可能会使保修无效。

我的Android Xperia M详细信息列在下面

Model number C1904
Android version 4.1.2
Build number 15.1.C.2.8

我已尝试从某个论坛运行以下命令,但这对我不起作用,

adb devices
adb shell pm get-install-location
adb shell pm set-install-location 2

虽然上面的命令没有提示任何错误,但我可以将安装位置设为2(使用adb shell pm get-install-location)。所以我相信它设置得当。但后来我尝试安装了一些应用程序,它只是安装在内存中。

我尝试了 apps2sd '移动我的应用程序的实用程序,它显示以下错误,

'The device does not have a real primary external storage, or the primary external storage is emulated. Moving app to SD function cannot be supported by this device.'

最后来自另一个论坛,我了解到我们可以通过“adb install'安装apk文件命令直接安装到SD卡中,如下所示,

adb install -s C:\com.furkan0gul.mvanparking.apk

上述命令失败并显示此错误

3531 KB/s (13523837 bytes in 3.740s)
        pkg: /sdcard/tmp/com.furkan0gul.mvanparking.apk
Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]

我的外卡中有足够的空间(总共8GB内存超过6GB)。您可以使用以下命令

找到它
>adb shell df
Filesystem              Size    Used    Free   Blksize
/dev                    402M     64K    402M   4096
/mnt/asec               402M      0K    402M   4096
/mnt/obb                402M      0K    402M   4096
/system                1183M    907M    275M   4096
/cache                  246M      4M    241M   4096
/persist                  3M     80K      3M   4096
/firmware                63M     43M     19M   16384
/data                  2101M   1401M    700M   4096
/lta-label               15M      4M     10M   4096
/storage/sdcard0       2101M   1401M    700M   4096
/storage/sdcard1       7572M   1088M   6483M   32768

如果我在没有' -s'的情况下运行 adb 安装命令切换,它安装在内部存储器中没有任何问题,如下,

> adb install C:\com.furkan0gul.mvanparking.apk
2549 KB/s (13523837 bytes in 5.180s)
        pkg: /data/local/tmp/com.furkan0gul.mvanparking.apk
Success

在安装到SD卡时,应用程序似乎安装在' / sdcard'中,但是没有安装这样的东西在' df'命令输出。还尝试搜索了这个' INSTALL_FAILED_INSUFFICIENT_STORAGE '通过谷歌。他们中的大多数人都要求在模拟器中做一些更改才能完成这项工作。我已经卸载了应用程序,重新启动了设备并尝试重新安装到SD卡中,但没有工作以相同的存储错误结束。

我没有使用模拟器。我只是直接安装apk到我的SD卡。我不想根植设备并使保修提供无效。

感谢有人可以就此发表你的想法。

2 个答案:

答案 0 :(得分:3)

有一个简单的解决方法。如果您的测试设备运行Android 2.2或更高版本,则添加

android:installLocation 

属性为您的应用程序的清单文件,值为" preferExternal"。这将迫使应用程序安装在设备的外部存储设备上,例如手机的SD卡。

例如:

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

答案 1 :(得分:0)

我有一个应用统一存储的Fairphone(第一版)。 INSTALL_FAILED_INSUFFICIENT_STORAGE问题应该已经与统一存储一起消失了。然而,尽管有12GB的可用磁盘空间,它在几个月后出现了。对我来说,以下步骤解决了问题

  1. 在手机上安装ssh服务器
  2. 登录
  3. su(如果你不是root用户)
  4. pm set-install-location 1(设置为外部存储器)
  5. 由于内部存储器上有足够的空间,因此优于外部存储器(由于统一存储,我可能不再使用它)。这可能是Fairphone特有的