电脑装配网

什么是AOSP?你所使用的安卓系统都基于它

 人阅读 | 作者yiyi | 时间:2023-06-03 05:07

安卓系统最大的优势之一,有时也被人诟病的地方就是手机厂商可以根据自己的需要进行定制化。三星、索尼、小米,甚至谷歌都在核心的系统体验上有自己的看法,因此在系统中引入了自己独特的功能和想法来改进。而这一切都是基于一个提供了核心功能并开放的操作系统,它就是AOSP,一个Android开源项目。

AOSP是一个由谷歌维护的开源操作系统开发项目,既然是开源项目,也就意味着任何人都可以自由地审查和贡献代码以及修复项目仓库,而谷歌引领着大方向和大部分的开发工作。AOSP会定期为Android加入最新的安全补丁,谷歌每年也会在其I/O开发者大会上公布操作系统的新功能。现在最新的版本是Android 11,而Android 12也会在今年晚些时候正式推出。

除了开放贡献代码外,AOSP还可以在开源许可下自由使用和修改。比如,亚马逊和三星等厂商根据自己的目的自由调整该项目,并开发了自己的衍生产品,包括多用途的Fire OS和Tizen。另外需要注意的是,大多数手机厂商都是从高通等芯片厂商那里获得AOSP版本,这是因为安卓系统必须通过驱动程序为硬件量身定做。谷歌对这种安排很满意,因为它鼓励开发者将安卓系统用户各种网络连接的小设备。作为回报,一众厂商各自为操作系统的修复和改进做出贡献,而这显然是一个双赢的结果。

操作系统很复杂,Android也不例外。AOSP涵盖了操作系统内的一系列软件层,为硬件和应用开发者提供接入点和工具。

底层是设备制造商对操作系统进行编码的地方,以便与他们特定硬件工作。例如,Linux内核时管理CPU资源、系统内存、网络等核心程序,它们使应用程序和服务能够运行。硬件层(HAL)则将蓝牙、音频等常见应用API与设备的麦克风、扬声器等联系起来。

高级层由应用开发者使用。原生库(Native Libraries)使开发者能够使用常见的支持低级库来构建内容,如OpenGL ES、Webkit等。在这之上,Android Frameworks为应用开发者提供了我们每天都在使用的常见操作系统功能的挂钩。这些功能包括位置数据、推送通知和拨打电话等。Android Runtime则可以将应用代码转换为底层硬件的本地指令。

综合在一起,Android开源项目堆栈是Android硬件和软件开发者的完整解决方案。不过AOSP不仅仅是一个不断增长的代码库。谷歌还提供设计和开发工具作为项目的一部分,从兼容性文档到最佳安全实践和应用设计原则。谷歌还托管了一系列测试套件,以帮助开发人员确保他们的设备正确实现API和功能。

需要注意的是,AOSP经常与“stock Android”相混淆,这是一种过于简化的说法。AOSP包含了开发者构建Android所需的一切,但它并不包括成品智能手机所需的一切。首先,谷歌和AOSP无法为所有硬件配置提供内核设备驱动。所谓设备驱动,是指手机硬件所需的固件,比如处理器或摄像头。手机和SoC制造商,如高通和三星,必须将这些驱动程序纳入他们的Android构建中。这也是为什么从AOSP到实际设备的系统更新需要一定时间的原因。

AOSP也不包含谷歌的软件应用套件,如Chrome浏览器、YouTube,甚至谷歌Play商店。它也不包括谷歌的一些底层技术和API,而这些技术和API可以实现移动支付、语音命令和云存储等功能,这些都是作为谷歌移动服务(GMS)单独授权的。

任何厂商想要在系统中安装GMS,都必须为自己的设备获得GMS授权和移动应用分发协议(MADA),然后通过多项兼容性测试。有Android兼容性测试套件(CTS)来验证软件和硬件以及API。然后是谷歌移动服务测试套件和供应商测试套件(VTS)来测试多媒体功能、操作系统内核和HAL功能。而获得GMS许可的另一个条件是在新设备上预装一些谷歌的应用。

AOSP继续成为安卓系统成功的基础,这要归功于来自世界各地无数开发者的投入。虽然Android设备不会很快消失,但谷歌已经在展望未来的操作系统。


文章标签:

本文链接:『转载请注明出处』