Android系统架构共分4层:
第一层:Linux内核。这一层主要包括Linux的驱动程序以及内存管理,进程管理,电源管理等程序。
第二层:C/C++代码库。这一层主要包括C/C++编写的代码库,也包括Dalivk虚拟机的运行时。
第三层:Android SDK API SDK API。这一层是用Java编写的各种Liberty。
第四层:应用程序。这一层相当于Android UI。
Android系统移植分为两部分:
1.应用移植:将应用程序移植到某个特定的硬件平台上。由于不同硬件平台之间的差异Android SDK API也有可能存在差异,或者将应用程序从低版本Android移植到高版本Android上。
2.系统移植:Android操作系统在某一个特定硬件平台上运行。使一个操作系统在特定硬件平台上运行的首要条件是该操作系统支持硬件平台的CPU架构。
若为Android增加了新的驱动或修改原来的驱动代码HAL中的代码就要做相应的调整。因此,Android移植的主要工作:移植Linux驱动;移植HAL。
查看Linux内核版本:
方法一:在Linux终端执行下面命令。
Uname –a
方法二:在Linux终端执行下面命令。
cat /proc/version
Linux内核版本号有以下几部分组成:
- 主版本号
- 次版本号
- 修订版本号
- 微调版本号
- 为特定的Linux系统特别调校的描述。
Linux设备驱动:
Linux将存储器和外设分为3大类:
- 字符设备
- 块设备
网络设备