使用ext4格式生成system.img有時候會報錯,原因可能是因為文件分配的大小不夠,默認情況下系統使用128M大小,對於4.0以上系統不做裁剪其實是不夠用的。

build/core/Makefile:

823 $(INSTALLED_SYSTEMIMAGE): $(BUILT_SYSTEMIMAGE) $(RECOVERY_FROM_BOOT_PATCH) | $(ACP)

824 @echo "Install system fs image: $@"

825 $(copy-file-to-target)

826 $(hide) $(call assert-max-image-size,$@ $(RECOVERY_FROM_BOOT_PATCH),$(B OARD_SYSTEMIMAGE_PARTITION_SIZE),yaffs)

827

828 systemimage: $(INSTALLED_SYSTEMIMAGE)

799 $(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE)

800 $(call build-systemimage-target,$@)

build-systemimage-target定義:

790 define build-systemimage-target

791 @echo "Target system fs image: $(1)"

792 @mkdir -p $(dir $(1)) $(systemimage_intermediates) && rm -rf $(systemimag e_intermediates)/system_image_info.txt

793 $(call generate-userimage-prop-dictionary, $(systemimage_intermediates)/s ystem_image_info.txt, skip_fsck=true)

794 $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \

795 ./build/tools/releasetools/build_image.py \

796 $(TARGET_OUT) $(systemimage_intermediates)/system_image_info.txt $(1)

797 endef

核心是調用了build_image.py腳本文件,但system_image_info.txt文件很重要,該文件中描述了生成image的一些屬性,不如類型、分區大小、標記等等,python腳本會根據該文件生成相應的Image。

info.txt文件生成過程:

590 define generate-userimage-prop-dictionary

591 $(if $(INTERNAL_USERIMAGES_EXT_VARIANT),$(hide) echo "fs_type=$(INTERNAL_US ERIMAGES_EXT_VARIANT)" >> $(1))

592 $(if $(BOARD_SYSTEMIMAGE_PARTITION_SIZE),$(hide) echo "system_size=$(BOARD_ SYSTEMIMAGE_PARTITION_SIZE)" >> $(1))

593 $(if $(BOARD_USERDATAIMAGE_PARTITION_SIZE),$(hide) echo "userdata_size=$(BO ARD_USERDATAIMAGE_PARTITION_SIZE)" >> $(1))

594 $(if $(BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "cache_fs_type=$(BOA RD_CACHEIMAGE_FILE_SYSTEM_TYPE)" >> $(1))

595 $(if $(BOARD_CACHEIMAGE_PARTITION_SIZE),$(hide) echo "cache_size=$(BOARD_CA CHEIMAGE_PARTITION_SIZE)" >> $(1))

596 $(if $(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "vendor_fs_type=$(B OARD_VENDORIMAGE_FILE_SYSTEM_TYPE)" >> $(1))

597 $(if $(BOARD_VENDORIMAGE_PARTITION_SIZE),$(hide) echo "vendor_size=$(BOARD_ VENDORIMAGE_PARTITION_SIZE)" >> $(1))

598 $(if $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG),$(hide) echo "extfs_sparse_flag =$(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG)" >> $(1))

599 $(if $(mkyaffs2_extra_flags),$(hide) echo "mkyaffs2_extra_flags=$(mkyaffs2_ extra_flags)" >> $(1))

600 $(hide) echo "selinux_fc=$(SELINUX_FC)" >> $(1)

601 $(if $(2),$(hide) $(foreach kv,$(2),echo "$(kv)" >> $(1);))

602 endef

這里可以得到幾個有用的變量來控制幾個鏡像文件的大小等信息。

BOARD_SYSTEMIMAGE_PARTITION_SIZE ,可以修改system.img的文件大小。

看看如果不定義文件大小會是多少

system/extras/ext4_utils/mkuserimg.sh:

47 if [ -z $SIZE ]; then

48 echo "Need size of filesystem"

49 exit 2

50 fi這是最新版的處理辦法,沒有定義會提示。

老版是這樣的:

0046 if [ -z $SIZE ]; then

0047 SIZE=128M

0048 fi默認為128M。

android system image,android systemimage默認大小以及如何修改相关推荐

  1. android system w,Android system.err

    场景:Android错误总结-W/System.err(661): java.lang.IllegalStateException: End of document Android异常总结---W/S ...

  2. android system window,Android之属性fitsSystemWindows

    页面有输入框时都要考虑会不会被键盘挡住,于是fitsSystemWindows属性就派上了用场 属性说明 fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局:简单点说就是 ...

  3. android system window,Android控件的fitSystemWindows属性

    官方描述: 根据系统窗体里的元素比如状态栏来调整View的布局.如果被设为true,控件的padding将会被调整为顶部留出一个statusBar的空间.类似于伪代码paddingTop=" ...

  4. Android System分区大小异常

    平台:Freescale / Android 4.2.2 问题描述: 用 df 命令,看到/system分区大小275M. 用 busybox fdisk -l /dev/block/mmcblk0p ...

  5. android 获得ram大小,Android中获取(RAM)总运存大小跟可用运存大小

    Android中获取(RAM)总运存大小和可用运存大小 //获取可用运存大小 private long getAvailMemory(Context context){ // 获取android当前可 ...

  6. 2013新春奉送:Android摄像头开发完美demo---(循环聚焦,缩放大小,旋转picture,查询支持的picturesize, ImageButton按键效果)

    [补充:我已在对此代码进行了全面的升级,升级后代码结构更加利于维护扩展,全面适配所有手机,参见博文.此文中的资源也不要再下载了,请下载升级后的代码,如有问题请留言反馈,谢谢.------------- ...

  7. Android摄像头开发完美demo---(循环聚焦,缩放大小,旋转picture,查询支持的picturesize, ImageButton按键效果)

    这个代码几乎涉及到了摄像头开发的所有方面,(除了PreviewCallback,这块东西我会结合android摄像头自动识别人脸/火灾来谈),且力求精简,是杂家的心血阿!相对之前改进之处有: 1,精简 ...

  8. 2013新春奉送 Android摄像头开发完美demo--- 循环聚焦 缩放大小 旋转picture 查询支持的pict

    [补充:我已在对此代码进行了全面的升级,升级后代码结构更加利于维护扩展,全面适配所有手机,参见博文.此文中的资源也不要再下载了,请下载升级后的代码,如有问题请留言反馈,谢谢.------------- ...

  9. android /system/lib/ so库解析

    > android /system/lib/ so库解析- https://blog.csdn.net/qidabing/article/details/51837163 - Linux下的*. ...

  10. Android 实现录音和监听声音大小实现话筒动画效果

    公司项目做的差不多了,,闲下来了,,就写一篇关于android利用MediaRecorder实现录音的文章吧,并且录音的时候声音的大小可以控制话筒实现动画效果, 效果如图所示: 录音的文件最后保存在S ...

最新文章

  1. 我佛了!用KNN实现验证码识别,又 Get 到一招!
  2. ios-晋级之路 CocoaPods引用第三方库不import不自动补齐
  3. 【Java】Servlet 工作原理解析
  4. java.util.concurrent简介
  5. 界面无小事(八):RecyclerView增删item
  6. 减去字符串_从文本字符串中提取指定值的6个超级技巧解读
  7. 114_Power Pivot 销售订单之销售额、成本、利润率相关
  8. 《Windows驱动开发技术详解》之HelloDDK
  9. linux phpstudy
  10. linux代码折叠,VIM 代码折叠 :set foldmethod=marker
  11. gx works2 版本号_GX Works2下载 GX Works2(PLC编程软件) v1.89C 中文安装版(附序列号+安装教程) 下载-脚本之家...
  12. 软考-计算机系统知识整理
  13. linux平台h5手游源码下载,十年经典大天使之剑H5手游源码手工端+内充+搭建教程...
  14. HenCoder自定义View学习整理
  15. c#使用webbrowser时,设定IE版本
  16. 【PR】PR剪辑视频编辑软件视频去字幕
  17. 估值择时对ETF基金定投的影响
  18. 與情分析系统,包括爬虫、文本摘要、主题分类、情感倾向性识别以及可视化...
  19. 两道例题详解贝叶斯定理
  20. Office 365 小技巧 :Microsoft Teams_ 就地编辑文档

热门文章

  1. android模拟器克隆app,易语言一键克隆/启动安卓模拟器
  2. 【2018滴滴】寻找丑数
  3. rs485串口转网口设置
  4. paddlepaddle手写字体识别
  5. 微信小程序开发之视频上传
  6. POJ 3253.Fence Repair
  7. 【实习之T100开发】T100 单档程序开发,java工程师面试突击中华石杉
  8. leetcode每日一题2021.7.14【1818. 绝对差值和】
  9. 北京市市级行政区域数据
  10. 根据轨道根数解算位置速度