error: do_inode_allocate_extents: Failed to allocate 1162 blocks

这两天有个客户要求在系统中添加十来个默认APK,本来很简单的事情,直接将apk丢进去

然后编译就行了的,结果居然报错,报错的信息如下:

Creating filesystem with parameters:
    Size: 251658240
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7680
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 61440
    Block groups: 2
    Reserved block group size: 15
error: do_inode_allocate_extents: Failed to allocate 1162 blocks


make: *** [out/target/product/m1090/obj/PACKAGING/systemimage_intermediates/system.img] 错误 4

看到这个错误,我的第一反应就是:难道是没有make clean导致的,因为经常出现一些问题都是因为没有clean

于是我执行了clean之后继续编译,等了两三个小时,快编译完的时候又出现这个问题。

我到网上搜了下,在这个网站上得到相应的回答:http://blog.csdn.net/pengjin1985/article/details/7535165

没有用,因为我的配置文件里面已经设置了BOARD_SYSTEMIMAGE_PARTITION_SIZE的大小了

,我发现我仅仅是添加了默认APK就产生了这个错误,如果去掉,就不会产生。我查看了

一下默认APK的大小,140M这么大,我的系统是tf卡启动模式,里面有个参数

BOARD_SYSTEMIMAGE_PARTITION_SIZE := 240M,也就是说最后生成的文件系统是240M的,

所以我怀疑是默认APK太大,导致不能压缩到240M,于是我取出了三个默认APK,大概70M,然后

重新编译,通过了,果然是这个问题。

     为什么以前添加300M的默认apk也没有出现这个问题呢,应该是以前是nand启动,并没有去限定

文件系统的大小,所以可以任意加。



你可能感兴趣的:(每天进步一点)