error: update package missing system.img,Android 5.0 刷入镜像出错原因以及解决方法

本人使用手机的是 N5,最近被 Android 5.1 的内存泄露问题说困扰,表现的现象就是应用在后台占用越来越多的内存,导致系统卡顿严重。网络搜索一下,发现是普遍的问题,而且 Android5.1.1 已经专门解决了这个问题,不多说,直接开刷。

本来官方镜像重刷是一件很简单的事情,官方的脚本直接执行了就完事。但是这次却遇到一个诡异的下载错误,DOS 窗口提示: error: update package missing system.img。

有问题,直接网上搜索,果然是普遍现象,而已也有好几种方案:

  1. 重启电脑
  2. 重启手机
  3. 解压 image-hammerhead-xxxxx.zip 压缩包,逐一烧录镜像。

包括谷歌开发人员的建议:

使用最新的 boot. (但是没有解决实际的问题)

上面的方案除了第2点重启手机不靠谱外,另外应该都是可以解决问题的。而我是用第1个方法解决问题的。

现在已经成功烧录 Android5.1.1。问题已经解决,但是造成这个错误的真正原因是什么呢?为什么只是普遍现象,而不是全部人都有这个现象呢,而已 Google 为什么不赶紧解决这个问题呢?

真正原因:

本着发现问题,解决问题的思路,我重新整理了一下,既然1.重启电脑能解决问题,3.逐个烧录镜像也能解决问题,那么应该是跟电脑有关。电脑重启后,对内存占用的影响是最大的,所以初步认为是内存不足引起的。沿着这个思路,发现脚本最关键的烧录命令是

fastboot -w update image-hammerhead-lmy48b.zip

这个命令里面要直接烧录的镜像包 image-hammerhead-lmy48b.zip 差不多600M,然后脚本运行的时候,fastboot.exe 内存占用竟然飙到1.8G多。。。基本可以认定,fastboot 里面做了解包的动作,造成内存占用过大,内存不足的时候,解包失败,所以就会提示找不到 system.img。

而现在的电脑配置相对已经相当乐观,更不用说 Google 的开发人员的电脑配置。16G内存是标配了~~~所以这部分人根本不会遇到这个问题。

补充:收录 Android6.0 的时候,发现豌豆荚竟然也可能是影响之一,关掉豌豆荚就可以了。开发中也经常遇到豌豆荚占用 adb 进程,造成 eclipse adb 无法使用的问题。

最终解决方法:

所以,遇到这个问题的朋友,不用多想,直接1.重启电脑就可以解决问题了,如果是用的 2G 的内存,那就用3.逐一烧录镜像的方法吧。另外 2G 内存也太 out 了,赶紧升级吧。

  1. 关掉豌豆荚,重试。
  2. 重启电脑。
  3. 解压 image-hammerhead-xxxxx.zip 压缩包,逐一烧录镜像。
    逐一烧录镜像的教程

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注