【问题标题】:adb install fails with error 'INSTALL_FAILED_INSUFFICIENT_STORAGE'adb 安装失败并出现错误“INSTALL_FAILED_INSUFFICIENT_STORAGE”
【发布时间】:2014-06-01 06:02:30
【问题描述】:

我购买了我的第一部 Android 手机 Sony Xperia M,却没有意识到我们无法将应用程序移动到外部 sd 卡的问题。详情请参考link

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

下面列出了我的 Sony Xperia M 的 Android 详细信息

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”命令输出中没有安装这样的东西。还尝试通过 google 搜索此“INSTALL_FAILED_INSUFFICIENT_STORAGE”。他们中的大多数人要求在模拟器中进行一些更改以完成此操作。我已经卸载了应用程序,重新启动了设备并尝试再次安装到 sd 卡中,但由于同样的存储不足错误而无法正常工作。

我没有使用模拟器。我只是直接将apk安装到我的sd卡中。我不想根设备并取消保修优惠。

如果有人可以就此提出您的想法。

【问题讨论】:

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


【解决方案1】:

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

android:installLocation 

归属于应用程序的清单文件,其值为“preferExternal”。这将强制将应用安装在设备的外部存储设备上,例如手机的 SD 卡。

例如:

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

【讨论】:

  • 我只是在下载 apk 文件并尝试将其安装到我的实际设备(不是测试设备)中。我不确定如何更改应用清单文件?能否请您给出详细说明。请注意,我不是此应用的开发者。
  • 释放空间的一些提示:转到设置、应用程序、管理应用程序,在具有该选项的选项上单击“移动到 SD 卡”。在同一个列表中,还单击所有应用程序上的“清除缓存”。此处无法清除您的浏览器缓存,请打开浏览器,进入设置,点击“清除缓存”。
  • 然后您可以安装新的 .apk 文件。希望对您有所帮助。
  • 已经尝试清除应用程序的缓存数据并将我的图像、视频移动到 sd 卡并尝试相同。仍然只是同样的错误。
  • 请告诉我您的内部存储空间还剩多少。是否小于 apk 文件大小?
【解决方案2】:

我有一个应用了统一存储的 Fairphone(第一版)。统一存储应该已经解决了 INSTALL_FAILED_INSUFFICIENT_STORAGE 问题。尽管如此,尽管有 12gb 的可用磁盘空间,它还是在几个月后出现了。对我来说,以下步骤解决了这个问题

  1. 在手机上安装 ssh 服务器
  2. 登录
  3. su(如果你不是 root)
  4. pm set-install-location 1(设置为外部存储器)

因为我在内部存储器上有足够的空间,所以这比外部存储器更可取(由于统一存储,我可能不再有)。这可能是 Fairphone 特有的

【讨论】:

    猜你喜欢
    • 2022-12-18
    • 2017-08-28
    • 1970-01-01
    • 2012-07-05
    • 2021-07-31
    • 2023-03-06
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多