爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: JayLove

[ROM发布] 一个专门做GMS(Google服务包)下载的网站

  [复制链接]
发表于 2017-5-23 12:56 | 显示全部楼层
爱黑武,爱上搞机生活!
回复 支持 反对

使用道具 举报

发表于 2017-5-23 17:34 | 显示全部楼层
现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对他们进行保护。通常把这一部分称之为操作系统的内核。

Android系统并不是从零开始设计的,而是搭建在Linux内核之上。狭义的Android系统,主要指的是Linux内核以上的各层。
Linux对于Android最大的价值,便是其强大的可移植性。Linux可以运行在各式各样的芯片架构和硬件环境下,而依托于它的Android系统,也便有了强大的可移植性。
Linux内核本身使用GPL协议,讲其对软件的主要影响,就是基于该软件开发的任何软件,都必须以GPL协议发布。简单的讲就是你使用了这个开源软件,那么你在此基础上开发的东西也得是开源的。(现实社会中,这一协议对中国的开发商约束效力不大,很多厂商根本不开源或是推迟到产品生命周期终结后才开源。)

什么是HAL?
HAL的全称是Hardware Abstraction Layer,即硬件抽象层。
Linux系统本身之所以在设备驱动方面支持很烂事实上也是因为GPL协议的因素,而Android的HAL为了保护一些硬件提供商的知识产权并避开Linux GPL的约束。便把控制硬件的动作都放到了Android HAL中,而Linux驱动仅仅完成一些简单的数据交互动作。

总体来说,Android HAL存在的原因主要有:
1.并不是所有硬件设备都会有Linux kernel的标准接口。
2.由于GPL协议的关系,某些设备制造商并不愿意公开硬件驱动,所以Google用HAL的方式去绕过GPL。
3.针对某些硬件,Android有一些特殊的需求。

这一现状在Android上的表现:
以一个Google的Nexus 系列设备为例,当你需要编译它的Android Open Source Project(以下简称AOSP)ROM时。
首先,你需要下载AOSP源码:https://android.googlesource.com (这部分是开源的)
其次,你需要下载供应商的驱动、HAL库:https://developers.google.com/android/nexus/drivers (这部分是是闭源的)

适配的过程中如何利用它们?
硬件厂商的HAL核心代码基本都是以共享库形式出现的,也就是闭源、只开放编译好的二进制文件。
在制作ROM的时候,这一部分通常被我们照单全收,拿来使用。
而当Android版本更新时,因为厂商提供的旧了,我们可能在其它地方加以修改使其能够继续沿用

回复 支持 反对

使用道具 举报

发表于 2017-5-26 00:33 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2017-5-30 20:38 | 显示全部楼层
不错不错!谢谢分享!!
回复 支持 反对

使用道具 举报

发表于 2017-5-30 23:15 | 显示全部楼层
厉害了!我的哥。
回复 支持 反对

使用道具 举报

发表于 2017-5-31 11:42 | 显示全部楼层
666666666666666
回复 支持 反对

使用道具 举报

发表于 2017-6-5 19:08 | 显示全部楼层
来必须要定义法
回复 支持 反对

使用道具 举报

发表于 2017-6-5 22:57 | 显示全部楼层
正需要这方面的东西,谢谢楼主。
回复 支持 反对

使用道具 举报

发表于 2017-6-8 15:49 来自:爱黑武手机版 | 显示全部楼层
66666666666666
回复 支持 反对

使用道具 举报

发表于 2017-6-9 00:31 | 显示全部楼层
看看能不能用
回复 支持 反对

使用道具 举报

 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-11-22 21:56 , Processed in 0.045488 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表