---恢复内容开始---
一.Android系统架构
Android系统架构分为4层:
第一层:Linux内核
Android是基于Linux内核的,因此,Android内核和标准Linux2.6的内核结构基本相同,细微差异在Android在Linux内核中增加的主要是一些Android专用驱动和Android使用的设备驱动,这些驱动程序在Android不同版本中可能并不通用。
第二层:C/C++代码库
是使用C/C++编写的代码库也就是Linux下的.so文件,还有Android运行时环境(AndroidRuntime)。
第三层:应用程序框架(Android SDK API)
是用Java语言编写的各种Library(基于Dalvik虚拟机格式的)。
第四层:应用程序
这一层相当于Android的UI,所有的Android应用程序包括拍照,短信,浏览器及游戏等都属于这一层。这一层主要依靠第3层中的Android SDK API来完成各种功能。
二.Android系统移植
Android系统移植分为两部分:应用移植和系统移植。
应用移植是指应用程序移植到某一个特定的硬件平台上。一般Android应用程序移植并不涉及驱动和HAL程序库的移植。
系统移植是指让Android操作系统在某一个特定硬件平台上运行。使操作系统在特定硬件平台上运行需要该操作系统支持硬件平台的CPU架构。Linux内核支持很多常用的CPU架构,因此Android在不同的CPU架构之间移植不用过多改动。还需让Android可识别平上各种硬件。这是由Linux驱动完成的。Android还增加了HAL(硬件抽象层),通过其来访问驱动,这与其他Linux系统应用程序直接访问驱动不同。如果增加了新的驱动或修改了驱动代码,HAL中的代码也要做相应的调整。
注意:
Android移植很大是移植Linux内核。Android版本同Linux版本不同,无论哪个Android版本其内核都是基于Linux2.3或Linux3.0(将来会是更高版本),只是会根据需求修改添加驱动或其他。移植Linux驱动时,只要Linux内核相同,Android版本不同也可移植。
三.Linux内核版本号
查看Linux版本号,在Linux终端执行下面命令:
“uname -a”或“cat /proc/version”
Linux版本号定义规则:
主版本号+次版本号——>(Linux版本系列)
+修订版本号+微调版本号+为特定Linux系统调校的描述
---恢复内容结束---
原标题:读书笔记1《Android深度探索 卷一》
关键词:Android