1 Android Treble
Android 8.0 版本的一項新元素是 Project Treble。這是 Android 操作系統(tǒng)框架在架構(gòu)方面的一項重大改變,旨在讓制造商以更低的成本更輕松、更快速地將設(shè)備更新到新版 Android 系統(tǒng)。Project Treble 適用于搭載 Android 8.0 及后續(xù)版本的所有新設(shè)備(這種新的架構(gòu)已經(jīng)在 Pixel 手機的開發(fā)者預(yù)覽版中投入使用)。
2 關(guān)于 Android8.0 更新
利用新的供應(yīng)商接口,Project Treble 將供應(yīng)商實現(xiàn)(由芯片制造商編寫的設(shè)備專屬底層軟件)與 Android 操作系統(tǒng)框架分離開來。
Android 7.x 及更早版本中沒有正式的供應(yīng)商接口,因此設(shè)備制造商必須更新大量 Android 代碼才能將設(shè)備更新到新版 Android 系統(tǒng):

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖 1.?Treble 推出前的 Android 更新環(huán)境
Treble 提供了一個穩(wěn)定的新供應(yīng)商接口,供設(shè)備制造商訪問 Android 代碼中特定于硬件的部分,這樣一來,設(shè)備制造商只需更新 Android 操作系統(tǒng)框架,即可跳過芯片制造商直接提供新的 Android 版本:

?????????????????????????????????????????????圖 2.?Treble 推出后的 Android 更新環(huán)境
3 對Android Treble 進行測試
為了確保供應(yīng)商實現(xiàn)的前向兼容性,新的供應(yīng)商接口會由供應(yīng)商測試套件 (VTS)?進行驗證,該套件類似于兼容性測試套件 (CTS)。您可以使用 VTS 在推出 Treble 前的環(huán)境和 Treble 環(huán)境中自動執(zhí)行 HAL 和操作系統(tǒng)內(nèi)核測試。
4 Android Treble 資源
要詳細了解新的 Treble 架構(gòu),請參閱以下部分:
HAL 類型:提供了關(guān)于綁定式 HAL、直通 HAL、Same-Process (SP) HAL 和舊版 HAL 的說明。
HIDL(一般信息):包含關(guān)于 HAL 接口定義語言(簡稱 HIDL,發(fā)音為“hide-l”)的一般信息;HIDL 是用于指定 HAL 和其用戶之間接口的接口描述語言 (IDL)。
HIDL (C++):包含關(guān)于為 HIDL 接口創(chuàng)建 C++ 實現(xiàn)的詳情。
HIDL (Java):包含關(guān)于 HIDL 接口的 Java 前端的詳情。
ConfigStore HAL:提供了關(guān)于 ConfigStore HAL 的說明;該 HAL 提供了一組 API,可供訪問用于配置 Android 框架的只讀配置項。
設(shè)備樹疊加層:提供了關(guān)于在 Android 中使用設(shè)備樹疊加層 (DTO) 的詳情。
供應(yīng)商原生開發(fā)套件 (VNDK):提供了關(guān)于 VNDK(專門用來讓供應(yīng)商實現(xiàn)其 HAL 的一組庫)的說明。
供應(yīng)商接口對象 (VINTF):VINTF 對象整合了關(guān)于設(shè)備的相關(guān)信息,并讓這類信息可通過可查詢 API 提供。
SELinux for Android 8.0:提供了關(guān)于 SELinux 變更和自定義的詳情。