在fastboot flash将img镜像刷写入设备时,总会遇到这样那样的错误。本文旨在将常见(以及不常见)的错误汇总在此,备查。
>> 刷system.img时提示文件过大、无法烧入
$ fastboot flash system system.img
target reported max download size of 536870912 bytes
sending sparse 'system' (520869 KB)...
OKAY [ 13.632s]
writing 'system'...
OKAY [ 5.472s]
sending sparse 'system' (523981 KB)...
OKAY [ 13.937s]
writing 'system'...
OKAY [ 6.472s]
sending sparse 'system' (524289 KB)...
FAILED (remote: Requested download size is more than max allowed
)
finished. total time: 39.522s
出错原因:
看上面的提示,下载文件的最大尺寸为536870912 bytes,在出错时试图上传的文件大小为524289 KB= 524289x1024 bytes=536871936 bytes,比最大允许尺寸刚好大了1024个bytes(1 KB)。难道是fastboot的一个bug?
另外,为什么切成3片文件大小不一样?520869 KB,523981 KB,524289 KB。感觉fastboot这是随机切的?
解决办法:
fastboot有一个选项-S
,用于将大文件裁成小文件。具体信息可以通过fastboot --help
来查看:
$ fastboot --help
...
-S <size>[K|M|G] Automatically sparse files greater
than 'size'. 0 to disable.
...
所以,我们可以将裁切块的大小设置为256MB:
fastboot flash -S 256M system system.img
问题就解决了。
网友评论