面对市场上如此庞大的Android系统的需求量,必须开发出一系列支持Android可以识别出用户所使用的各种不同的设备的程序,这个过程又叫作“移植”。因为Android是基于Linux内核的,所以Android系统架构第一层就是Linux内核;最后一层是用户可以直接接触到的,相当于Android的UI,比如可以看到的图片查看器、照相机、视频播放器等应用程序都在这里。
Android系统移植有以下两个方面的工作:应用移植和系统移植。应用移植是将图片查看器、照相机、视频播放器等应用程序移植到用户所使用的硬件上。系统移植则是使Android这一操作系统可以在用户所用的硬件平台上正常工作,即让此操作系统支持其CPU架构,还要让Android识别平台内各种不同的硬件设备,Linux驱动移植。
若给Android增加新的驱动,则HAL也要做出相应修改。
不同的Linux版本的驱动程序并无法通用,那么通过判断Linux内核版本号是否相同,可以检验驱动是否可以通用。目前最广泛的内核版本应该是Linux2.6。
电脑或者手机等不同硬件设备越来越丰富,则需要更多的Linux设备驱动来完成硬件设备间的交互。软件和硬件的结合才能保证设备的正常使用,那么假设不存在设备驱动的情况下,即硬件设备与程序直接交互,很容易造成与硬件耦合度过高的现象,则需要抽象化硬件,即有必要开发一系列设备驱动才能解决这一问题。
http://www.cnblogs.com/sjjj/