接下来一层是Hardware Abstract Layer(硬件抽象层),你在早期的架构图中看不到这一层。2008年,Patrick Brady就提出了Android HAL架构,它是为了把Linux kernel与上层框架完全隔开,让Android不至于过度依赖Linux kernel,可以让Android Framework的开发能在不考虑驱动程序的前提下进行。HAL仍以*。so形式存在,Stub向HAL“提供”操作函数,Runtime则是向HAL取得特定模块的操作(operations)。2010年2月3日,Linux内核的开发者将Android的驱动程序从Linux内核Staging tree(状态树)上去除,从此,Android与Linux核心开发就分开了。
最下面一层是Linux核心,Android的核心系统依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Android的Linux kernel也不是GNU/Linux。Android将驱动程序移到userspace,使得Linux driver与Linux kernel分开。
基于移动终端的智能监控系统的APP开发(4):http://www.youerw.com/jisuanji/lunwen_201713.html