zoukankan      html  css  js  c++  java
  • 关于system.img

     经常会在群里遇到有童鞋在版本群里吐嘈编译报错编译报错的,其实很多是system.img被撑爆了。system.img有啥用?为什么会撑爆?怎么避免?今天来探讨一下:
        先介绍一下编译后得到的ramdisk.img,system.img,userdata.img各有什么用处
    
       (1)ramdisk.img
         一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount , 这个文件中只是包含了 /init以及一些配置文件,这个ramdisk
     被用来调用init,以及把真正的root file system mount起来。
         #其实ramdisk.img的内容就是/out/target/product/generic/root目录的压缩而已。
    
       (2)system.img
         它包含了整个系统,android 的framework,application 等等,会被挂接到 "/"上,包含了系统中所有的二进制文件
        #system.img是out/target.product/generic/目录下system目录的一个映射,类似与根文件系统的映像,放着android的应用程序、配置文件和字体等。
       root@root-OptiPlex-380:~/lonshinetech/src/SPU_B0_R0_0/out/target/product/generic/system$tree -L 1
       .
       |-- bin
       |-- build.prop
       |-- etc
       |-- fonts
       |-- framework
       |-- lib
       |-- usr
         -- xbin
    
       重新打包system.img 具体办法
     a)在android编译后生成的out目录中查找这个工具 mkyaffs2image
       # find out/ -name mkyaffs2image
       得到=>out/host/linux-x86/bin/mkyaffs2image
     b)android编译后会生成system/ 这个目录,而这个目录就是用来生成system.img的
      #  mkyaffs2image system/ system.img
    
      我们经常所说的撑爆了是因为客户内置的apk过多,导致system.img体积过大超出了手机的内存限制。
      (3)userdata.img
       将会被挂接到 /data 下,包含了所有应用相关的配置文件,以及用户相关的数据 。
  • 相关阅读:
    《构建之法》阅读笔记--2
    学习进度条--第九周
    团队冲刺第十天
    团队冲刺第十一天
    团队冲刺第九天
    团队冲刺第八天(4/29)
    团队冲刺第七天(4/28)
    团队冲刺第六天( 2016/4/27)
    第九章动手动脑
    第八章多态动手动脑
  • 原文地址:https://www.cnblogs.com/wjhblogs/p/4654723.html
Copyright © 2011-2022 走看看