本节书摘来自异步社区《Android深度探索(卷1):HAL与驱动开发》一书中的第1章,第1.8节小 结,作者李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.8 小 结
Android深度探索(卷1):HAL与驱动开发
学习Linux驱动编程一定要了解Linux驱动只与Linux内核有关,与用户使用的Linux系统(Ubuntu Linux、Fedora Linux、Android等)无关。也就是说,不管是哪个Linux系统,只要使用了同样的Linux内核,驱动就可以通用。唯一可以判断Linux内核是否相同的方法就是Linux内核版本号。在1.4节介绍了Linux内核版本号的定义规则,只有组成内核版本号的五部分完全相同,才能说明两个Linux系统的内核是相同的。从这一点可以看出,学习Android驱动开发,实际上就是学习Linux驱动开发,只是Android增加了一个HAL,这是Android特有的。一般的Android驱动都会有对应的HAL,不过HAL也不是必需的,通过NDK也可以直接访问Linux驱动。但Google建议最好为Linux驱动编写对应的HAL程序库。