android源码包中各个文件的作用

1、android文件系统的结构
android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和userdata目录下。因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到ramdisk文件系统中的system和 userdata目录下。

2、分离android文件系统出来
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
file ramdisk.img,输出:
ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009
Android源码编译后除了生成system.img,userdata.img之外还生成system和userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令
gunzip ramdisk.img.gz
然后新建一个文件夹,叫ramdisk吧,进入,输入命令
cpio -i -F ../ramdisk.img
这下,你就能看见并操作ramdisk里面的内容了。

然后把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。这样就得到一个文件系统了。

   ?repo ?主要是同步管理所用到的一系列文件

  ?bionic ?Android编译过程所需要的一些库

  ?bootable ?负责启动和备份的一些文件

  ?build ?最主要的一些makefile和编译配置文件

  ?dalvik ?经过Google优化了的java虚拟机

  ?development ?开发用的一些文件夹,包括模拟器和工具等

  ?external ?Android工程中引入的外部功能库

  ?frameworks ?中间件部分

  ?hardware ?和硬件有关的一些支持文件,包括wifi,电信模块等

  ?kernel ?经过了优化和修改的linux内核

  ?packages ?所有的上层应用包

  ?prebuild ?Android编译工具所在目录

  ?system ?一些系统级文件



你可能感兴趣的:(android源码包中各个文件的作用)