Android架构

Android架构,第1张

概述架构Android系统架构包含以下组件:应用框架。应用框架最常被应用开发者使用。作为硬件开发者,您应该非常了解开发者API,因为很多此类API都可以直接映射到底层HAL接口,并可提供与实现驱动程序相关的实用信息。BinderIPC。Binder进程间通信(IPC)机制允许应用框架跨越 架构

AndroID 系统架构包含以下组件:

应用框架。应用框架最常被应用开发者使用。作为硬件开发者,您应该非常了解开发者 API,因为很多此类 API 都可以直接映射到底层 HAL 接口,并可提供与实现驱动程序相关的实用信息。Binder IPC。Binder 进程间通信 (IPC) 机制允许应用框架跨越进程边界并调用 AndroID 系统服务代码,这使得高级框架 API 能与 AndroID 系统服务进行交互。在应用框架级别,开发者无法看到此类通信的过程,但一切似乎都在“按部就班地运行”。系统服务。系统服务是专注于特定功能的模块化组件,例如窗口管理器、搜索服务或通知管理器。应用框架 API 所提供的功能可与系统服务通信,以访问底层硬件。AndroID 包含两组服务:“系统”(诸如窗口管理器和通知管理器之类的服务)和“媒体”(与播放和录制媒体相关的服务)。硬件抽象层 (HAL)。HAL 可定义一个标准接口以供硬件供应商实现,这可让 AndroID 忽略较低级别的驱动程序实现。借助 HAL,您可以顺利实现相关功能,而不会影响或更改更高级别的系统。HAL 实现会被封装成模块,并会由 AndroID 系统适时地加载。linux 内核。开发设备驱动程序与开发典型的 linux 设备驱动程序类似。AndroID 使用的 linux 内核版本包含一些特殊的补充功能,例如低内存终止守护进程(一个内存管理系统,可更主动地保留内存)、唤醒锁定(一种 PowerManager 系统服务)、Binder IPC 驱动程序,以及对移动嵌入式平台来说非常重要的其他功能。这些补充功能主要用于增强系统功能,不会影响驱动程序开发。您可以使用任意版本的内核,只要它支持所需功能(如 Binder 驱动程序)即可。不过,建议您使用 AndroID 内核的最新版本。HAL 接口定义语言

AndroID 8.0 重新设计了 AndroID *** 作系统框架(在一个名为“Treble”的项目中),以便让制造商能够以更低的成本更轻松、更快速地将设备更新到新版 AndroID 系统。在这种新架构中,HAL 接口定义语言(HIDL,发音为“hIDe-l”)指定了 HAL 和其用户之间的接口,让用户无需重新构建 HAL,就能替换 AndroID 框架。

利用新的供应商接口,HIDL 将供应商实现(由芯片制造商编写的设备专属底层软件)与 AndroID *** 作系统框架分离开来。供应商或 SOC 制造商构建一次 HAL,并将其放置在设备的 /vendor 分区中;框架可以在自己的分区中通过无线下载 (OTA) 更新进行替换,而无需重新编译 HAL。

旧版 AndroID 架构与当前基于 HIDL 的架构的区别在于对供应商接口的使用:

AndroID 7.x 及更低版本中没有正式的供应商接口,因此设备制造商必须更新大量 AndroID 代码才能将设备更新到新版 AndroID 系统:

AndroID 8.0 及更高版本提供了一个稳定的新供应商接口,因此设备制造商可以访问 AndroID 代码中特定于硬件的部分,这样一来,设备制造商只需更新 AndroID *** 作系统框架,即可跳过芯片制造商直接提供新的 AndroID 版本:

所有搭载 AndroID 8.0 及更高版本的新设备都可以利用这种新架构。为了确保供应商实现的向前兼容性,供应商接口会由供应商测试套 (VTS) 进行验证,该套件类似于兼容性测试套件 (CTS)。您可以使用 VTS 在旧版 AndroID 架构和当前 AndroID 架构中自动执行 HAL 和 *** 作系统内核测试。

原文地址:https://source.android.google.cn/devices/architecture

总结

以上是内存溢出为你收集整理的Android架构全部内容,希望文章能够帮你解决Android架构所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1041513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存