Android为什么引入HAL

HAL的一些优势在前面章节已经提到,这里回顾一下。Android引入HAL不仅因为其自身的优势,而且还有一个非常重要的原因,就是为了保障在Android平台基于Linux开发的硬件驱动和应用程序不必遵循GPL(General Public License)许可而保持封闭,这保障了更多厂家的利益。我们都知道,Linux Kernel是开源的而且遵循GPL许可证,根据GPL许可证规定,对源码的任何修改都必须向社会开源。

那么Android是如何做到的呢?Linux Kernel和Android的许可证不一样,Linux Kernel是GPL许可证,Android是ASL(Apache Software License)许可证。ASL许可证规定,可以随意使用源码,不必开源,所以建立在Android之上的硬件驱动和应用程序都可以保持封闭。也就是说,只要把关键的驱动处理相关的主要逻辑转移到Android平台内,在Linux Kernel中仅保留基础的通信功能,即使开源一部分代码,对厂家来讲也不会有什么损失。

Google选择了这样做,并且特意修改Kernel,原本应该包括在Linux Kernel中的某些驱动关键处理逻辑,被转移到了HAL层之中而达到了不必开源的目的。


更多相关文章

  1. Android系统架构
  2. android应用程序四大组件
  3. Android自学笔记:应用程序基本原理
  4. 新书内容连载(3):Android(安卓)SDK中常用命令行工具(一)
  5. Android(安卓)数字签名学习笔记
  6. RMS认为Android没有尊重用户自由
  7. android介绍
  8. Android应用程序的自动更新升级(自身升级、通过tomcat) .
  9. Android(安卓)数字签名学习笔记

随机推荐

  1. .如何避免Android内存泄漏
  2. Android(安卓)NDK C++开发注意事项总结
  3. Android(安卓)再爆新漏洞,9.0 以下所有手
  4. android 开发如何获得第三方应用Widget的
  5. Android(安卓)中读取Excel文件实例详解
  6. Android基于Pull方式解析xml的方法详解
  7. android中采用Pull解析XML文档
  8. “哎哟!蛮吊的” 之 Android(安卓)BroadCa
  9. android 定位的4种方式介绍
  10. android interview 2