Android深度探索第一章主要是Android系统移植与驱动开发概述。要想进行系统移植就必须先了解Android的系统架构,Android的系统架构主要是:第一层,Linux内核,主要包括驱动程序以及管理内存、进程、电源等资源的程序;第二层,C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码;第三层,Android SDK API,直接面向应用程序的Java APK;第四层,应用程序,直接面向最终用户的Java应用程序(APK程序)。接下来是Android移植的主要工作:移植Linux内核、移植HAL。移植Linux内核后要查看内核版本时,我们可以在终端里输入uname -a或者执行cat /proc/version。在这之后我们就需要学习Linux驱动开发了,要学习Linux驱动开发要:1.准备一个自己熟悉的Linux操作系统;2.准备一块开发板;3.学习GNU C(GNU C是对标准C的扩展,是Linux/Unix最常用的C语言编译环境);4.学习相关的硬件知识;5.不断的实践。Linux的设备可以分为:字符设备、块设备、网络设备。驱动是直接和硬件交互的一类程序,负责对硬件进行抽象。Linux驱动程序中一定有一个装载函数和一个卸载函数,分别用module_init和module_exit宏指定。让我对Android系统移植和驱动开发有了更深入的认识。