没有合适的资源?快使用搜索试试~ 我知道了~
android根文件系统分析总结
需积分: 10 27 下载量 185 浏览量
2011-06-13
17:10:13
上传
评论
收藏 285KB PDF 举报
温馨提示
试读
21页
android根文件系统分析总结android根文件系统分析总结androidw根文件系统分析总结
资源推荐
资源详情
资源评论
Android 文件系统的移植
文件系统的移植文件系统的移植
文件系统的移植
作者:汕头大学—黄珠唐
时间:2009 年 10 月 29 日
文章摘要
主要介绍 linux 内核启动过程以及挂载 android 根文件系统的过程,以及介
绍 android 源代码中文件系统部分的浅析。
目
目目
目录
录录
录
1
11
1)
))
)android
android android
android 源代码
源代码源代码
源代码文
文文
文件
件件
件系统
系统系统
系统部分
部分部分
部分介绍
介绍介绍
介绍
2
22
2)
))
)L
LL
Linux
inuxinux
inux
内
内内
内核
核核
核启动
启动启动
启动挂
挂挂
挂载
载载
载 and
andand
android
roidroid
roid 根文件
根文件根文件
根文件系
系系
系统
统统
统过程
过程过程
过程分析
分析分析
分析
3
33
3)
))
)A
AA
Android
ndroid ndroid
ndroid 文件
文件文件
文件系统
系统系统
系统初始化
初始化初始化
初始化核心
核心核心
核心 I
II
Init
nitnit
nit.c
.c.c
.c 文
文文
文件
件件
件分析
分析分析
分析
4
44
4)
))
)初始化
初始化初始化
初始化核心
核心核心
核心的
的的
的核心
核心核心
核心 init
initinit
init.rc
.rc.rc
.rc 文件
文件文件
文件分
分分
分析
析析
析
1
11
1)
))
)android
android android
android 源代码
源代码源代码
源代码文
文文
文件
件件
件系统
系统系统
系统部分
部分部分
部分介绍
介绍介绍
介绍
从 google 获得源代码后,在 platform 目录下 make 编译后我们可以看到生成了
out 目录。
主要源代码目录介绍
Makefile (全局的Makefile)
bionic (Bionic 含义为仿生,这里面是一些基础的库的源代码)
bootable (引导加载器)
build (build 目录中的内容不是目标所用的代码,而是编译和
配置所需要的脚本和工具)
dalvik (JAVA 虚拟机)
development (程序开发所需要的模板和工具)
external (目标机器使用的一些库)
frameworks (应用程序的框架层)
hardware (与硬件相关的库)
packages (Android 的各种应用程序)
prebuilt (Android 在各种平台下编译的预置脚本)
recovery (与目标的恢复功能相关)
system (Android 的底层的一些库)
out (编译完成后产生的目录,也就是我们移植文件系统需要的目录)
让我们打开 out 目录看看里面有什么东西,
out/
|-- CaseCheck.txt
|-- casecheck.txt
|-- host
| |-- common
| `-- linux-x86
`-- target
|-- common
`-- product
主要的两个目录为 host 和 target,前者表示在主机(x86)生成的工具,后者
表示目标机(模认为 ARMv5)运行的内容。
host 目录的结构如下所示:
out/host/
|-- common
| `-- obj (JAVA 库)
`-- linux-x86
|-- bin (二进制程序)
|-- framework (JAVA 库,*.jar 文件)
|-- lib (共享库*.so)
`-- obj (中间生成的目标文件)
host 目录是一些在主机上用的工具,有一些是二进制程序,有一些是 JAVA 的程
序。
target 目录的结构如下所示:
out/target/
|-- common
| |-- R (资源文件)
| |-- docs
| `-- obj (目标文件)
`-- product
`-- generic
其中 common 目录表示通用的内容,product 中则是针对产品的内容。
在 common 目录的 obj 中,包含两个重要的目录:
APPS 中包含了 JAVA 应用程序生成的目标,每个应用程序对应其中一个子目录,
将结合每个应用程序的原始文件生成 Android 应用程序的 APK 包。
JAVA_LIBRARIES 中包含了 JAVA 的库,每个库对应其中一个子目录。
所以,我们提取文件系统主要是在/out/target/product/generic 目录下
我们可以看到里面有 obj 目录,进入 obj 目录看看
里面是 android 文件系统非常重要的内容,
/obj
APPS (文件系统下/system/apps 目录下的各种应用程序)
SHARED_LIBRARIES (存放所有动态库)
STATIC_LIBRARIES(存放所有静态库)
EXECUTABLES (存放各种可执行文件)
还有其他需要的文件都是在/out/target/product/generic 目录下
我们可以从中提取我们需要的内容。
剩余20页未读,继续阅读
资源评论
yihua0607
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功