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 App关于应用程序升级的一点内容
  2. Android自学笔记:应用程序基本原理
  3. Android设计模式系列(1)--SDK源码之组合模式
  4. Android 利用广播实现黑名单【指定号码】的短信的拦截 附源码下
  5. Android 中LayoutInflater(布局加载器)之源码篇

随机推荐

  1. Android(安卓)Binder原理(三)系统服务的注
  2. Android.Libraries
  3. Android技能学习
  4. TextView常用属性android:ellipsize
  5. android 仿微信demo————微信消息界面
  6. Android布局属性详解
  7. LinearLayout、RelativeLayout布局
  8. android 仿微信demo————微信消息界面
  9. Android中shape的使用
  10. Android(安卓)初体验