最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

hal開發(fā)之hidl/aidl支持的綁定式直通式詳細講解

2023-10-17 23:26 作者:千里馬學框架  | 我要投稿

為啥有hidl呢?


這個問題其實網絡上答案比較多,屬于android想要讓廠商快速升級解耦制定的,即把原來系統(tǒng)framework和廠商耦合的hal在同一個system.img進行剝離開,把廠商相關的放到vendor.img,aosp系統(tǒng)公共部分framework相關的放到system.img.?

官方解釋: Android O的一項新元素是 Project Treble。這是 Android 操作系統(tǒng)框架在架構方面的一項重大改變,旨在讓制造商以更低的成本更輕松、更快速地將設備更新到新版 Android 系統(tǒng)。 在Android O之前,HAL是一個個的.so庫,通過dlopen來進行打開,庫和framework位于同一個進程。 新的架構之下,framework和hal運行于不同的進程,所有的HAL采用新的HIDL技術來完成。作為此變化的一部分,運行 Android 8.0 的設備必須支持綁定式或直通式 HAL:

綁定式 HAL以 HAL 接口定義語言 (HIDL) 表示的 HAL。這些 HAL 取代了早期 Android 版本中使用的傳統(tǒng) HAL 和舊版 HAL。在綁定式 HAL 中,Android 框架和 HAL 之間通過 Binder 進程間通信 (IPC) 調用進行通信。所有在推出時即搭載了 Android 8.0 或后續(xù)版本的設備都必須只支持綁定式 HAL。

直通式 HAL以 HIDL 封裝的傳統(tǒng) HAL 或舊版 HAL。這些 HAL 封裝了現有的 HAL,可在綁定模式和 ? ?Same-Process(直通)模式下使用。升級到 Android 8.0 的設備可以使用直通式 HAL。

一看就知道綁定式HAL是主推方法了,后面的HAL也將用綁定式HAL方式編寫。

在這里插入圖片描述

第一種就沒啥可以分析的,在8.0以前都是這種方式,即直接應用進程包含一個hw的so,針對以上的其他幾個情況分析:

情況2直通式:

在這里插入圖片描述

這里其實采用就是直通式,目前系統(tǒng)中使用這種方式的較少,最經典就是android.hardware.graphics.mapper@2.0[1]::IMapper/default這個庫還是采用這種直通式。 什么是直通式? 最重要區(qū)分直通式域綁定式在于調用端客戶進程是否和服務端提供hal功能實現的,是否在一個進程執(zhí)行。 這里也是使用了hidl,但是明顯這個地方他只是做了一下接口包裝,所有hal的執(zhí)行依然在客戶端進程。

情況3綁定式(服務端包裝維護hal庫)

這種方式就是采用是綁定式,這樣對system的應用或者框架,就可以通過hidl或aidl接口來通訊,但是綁定服務的具體實現其實還是調用了以前的老hal so方式來實現服務的。

在這里插入圖片描述

這種方式實現的代表就有audio部分 android.hardware.audio@6.0[2]::IDevicesFactory/default, 他的實現方式就是有一個單獨的服務android.hardware.audio.service:

audioserver????968?????1???49636??17696?0???????????????????0?S?android.hardware.audio.service

這個服務與audioserver這種客戶端進行跨進程通訊,audioserver就通過hidl相關接口調用到android.hardware.audio.service,android.hardware.audio.service具體實現是調用的原來的hal那一套hw庫,相當于所有相關的業(yè)務其實還在老款的hal庫里面

情況4綁定式

這個和上面其實綁定式理解沒啥區(qū)別,只是在服務端實現有區(qū)別,這種實現是直接自己服務端實現hal,而上面實現卻是調用了老版本的hal庫,這種方式要求新加入的hal庫都是這種實現方式,完全所有的實現在服務端進程里面,即不需要在額外包裹hw庫方式,廠商編譯時候可以考慮直接提供相關的可執(zhí)行文件既可以 如下圖就是直接提供了相關的hal的可執(zhí)行文件:

在這里插入圖片描述

這里就直接提供了相關指紋的bin文件進行集成

在這里插入圖片描述

更多framework干貨課程優(yōu)惠獲取相關可以+V(androidframework007)

視頻:https://www.bilibili.com/video/BV1ah411d7Y3[3]

在這里插入圖片描述


hal開發(fā)之hidl/aidl支持的綁定式直通式詳細講解的評論 (共 條)

分享到微博請遵守國家法律
那曲县| 星座| 遵义市| 洛宁县| 瑞昌市| 高雄县| 康马县| 永新县| 蓬溪县| 商丘市| 蓬莱市| 秀山| 铜陵市| 元谋县| 屏东县| 建阳市| 河间市| 东兴市| 陆川县| 会同县| 禹城市| 浦东新区| 盐亭县| 东山县| 雷山县| 西华县| 宁国市| 玛纳斯县| 青铜峡市| 玉门市| 灌南县| 延吉市| 拉孜县| 涞水县| 嘉禾县| 东台市| 新安县| 息烽县| 克山县| 奎屯市| 上虞市|