Install Failed Insufficient Stor
2015-03-11 本文已影响5402人
_Ryeeeeee
最近有个项目需要用 Python 调用 Adb install 进行 APK的安装。可是会经常发现 APK 不能正常安装,错误提示为 INSTALL_FAILED_INSUFFICIENT_STORAGE。 解决了这个问题之后顺便写个笔记记录一下。
Why
其实,在应用第一次安装的时候,APK 文件会被保存在如下路径中:
/data/app/<package-name>-1.apk
当这个 APK 文件更新,需要重新安装之后, APK 会重新被保存在相同的目录中,但是文件的序号会相应增加。然后之前一个版本的 APK -1.apk
文件会被删除。
/data/app/<package-name>-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 <full.packge.name>
adb shell rm -rf /data/app/<full.package.name>-*