android 源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的 文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator负责加载这3个映像文件后,会 把system.img和userdata.img分别加载到 ramdisk文件系统中的system和 userdata目录下(会发觉有相似性)。

我们会发觉编译生成的root文件夹内容与android运行时根目录内容相似,ramdisk根文件系统中包含一些对于启动android的很重要的文 件,比如内核启动完后加载的第一个进程init、一些重要的配置文件等,总之它控制着整个android的启动。根据 init.rc,init.goldfish.rc来初始化并装载系统库、程序等直到开机完成。init.rc脚本包括了文件系统初始化、装载的许多过 程。init.rc的工作主要是:
1)设置一些环境变量
2)创建system、sdcard、data、cache等目录
3)把 一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的 用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小

生成的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 ,我们可以学习怎么样把 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下。这样就得到一个文件系统了。

还会发现,根文件系统下的sys就是一个linux。

=============================================================

在android 1.5 模拟器上加载 android 2.1 的系统:

本 文编译出来的3个img文件是2.1版的。可以用system.img和ramdisk.img 替换1.5的版本:

命 令如下:

打 开android 1.5的模拟器 ,同时加载system.img和ramdisk.img

emlator -avd sdk_1_5 -ramdisk [ramdisk.img路径] -system [system.img的路径]

启 动后可以看到设置中的手机版本变成了2.1版。

=============================================================

对于android系统文件夹,比如out/target/prod t/smdk6410/system目录,说明如下:

system/app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这 里,而是/data/文件夹中。

system/bin 这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件。

system/etc 从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。

system/fonts 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库。

system/framework 主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

system/lib lib目录中存放的主要是系统底层库,如平台运行时库。

system/media 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音

system/usr 用户文件夹,包含共享、键盘布局、时间区域文件等。

转自:

http://blog.csdn.net/cx968968/archive/2010/08/17/5817662.aspx

更多相关文章

  1. android资源文件之:shape详解
  2. Android 通过命令将文件导出
  3. Android开发8――利用pull解析器读写XML文件
  4. Android 生成android的keystore文件
  5. Android 使用webview 打开浏览ppt文件
  6. 有关android中加载MP4,3gp等视频文件,无法播放问题的解决
  7. Android的文件监控系统不可靠
  8. Android Studio 使用API29无法向手机存储写文件问题
  9. 【经验记录】Android上传文件到服务器

随机推荐

  1. 分享谷歌Android文档链接
  2. Android(安卓)Camera代码位置
  3. android 自带的下拉刷新控件,含Demo(SwipeR
  4. Android创建应用程序快捷方式(shortcut)
  5. android 获取屏幕大小
  6. Android(安卓)按两次back键退出 -- 效率
  7. 最完美的android仿ios开关按钮源码
  8. android 强制2G/3G或WIFI 优先上网
  9. android 控件跟随手指移动,类似捕鱼达人效
  10. Android(安卓)4.0里无法屏蔽HOME键