Install Failed Insufficient Storage, 解决 ADB 安装APK失败问题。

最近有个项目需要用 Python 调用 Adb install 进行 APK的安装。可是会经常发现 APK 不能正常安装,错误提示为 INSTALL_FAILED_INSUFFICIENT_STORAGE。 解决了这个问题之后顺便写个笔记记录一下。

Why

其实,在应用第一次安装的时候,APK 文件会被保存在如下路径中:

/data/app/-1.apk

当这个 APK 文件更新,需要重新安装之后, APK 会重新被保存在相同的目录中,但是文件的序号会相应增加。然后之前一个版本的 APK -1.apk文件会被删除。

/data/app/-2.apk

如果这时又有了一个新版本的 APK 需要安装,那么这个文件又会被保存为 -1.apk, 相应的,-2.apk 也会被删除。以此类推,如果又有新的 APK, 那么这个逻辑会一直交替下去。

而 INSTALL_FAILED_INSUFFICIENT_STORAGE 错误发生的情况中,大部分是因为 APK 更新之后, /data/app/ 里的文件删除失败, -1.apk-2.apk 残留导致的。

Solution

所以,很简单,在安装之前先清除 /data/app/ 下对应包名的文件就好了。解决方法如下:

adb shell pm uninstall 
adb shell rm -rf /data/app/-*

你可能感兴趣的:(Install Failed Insufficient Storage, 解决 ADB 安装APK失败问题。)