你要刷入的文件大小超过了目标分区的大小,刷机时文件被放在特殊的地址中,它的大小一般是固定的(例如分区大小为800MB,那么你只能写入小于800MB的文件)
一般是因为有人向刷机包里添加了其它软件,删掉再刷就好了!!!
问题
fastboot 刷新 system.img 的时候出现如下错误
sending 'system' (131529 KB)...
FAILED (remote: data too large)
finished. total time: 0.000s
分析
fastboot 定义了的IMG文件的最大size: 120MB
shaobin@shaobin-G41M-ES2L:~/cas/hs-android/main2.3$ find bootable/ -name '*.h' | xargs grep 'CFG_MAX_DOWNLOAD_BUF_LEN'
bootable/bootloader/legacy/include/boot/config.h:#define CFG_MAX_DOWNLOAD_BUF_LEN (120*1024*1024)/* FIXME: 120MB */
解决
删掉 out/target/product/{x}/system/app 目录下的一些无用的APK, 再用 mkyaffs2image 生成 system.img
增大CFG_MAX_DOWNLOAD_BUF_LEN宏的大小,重新编译源代码生成 fastboot.img, 并刷新 fastboot。