Project Treble是Android升級的最終方案嗎?

bdrg0591 6年前發布 | 48K 次閱讀 安卓開發 Android開發 移動開發

關鍵提要

  • iOS的更新通常會在發布之后就能在所有受支持的設備上進行安裝,然而Android的更新速度卻慢得讓人難以接受。
  • Project Treble是試圖解決這一系列問題(Android的碎片化)的嘗試,它試圖通過硬件抽象層(HAL,Hardware Abstraction Layer)對軟硬件之間進行更明確的劃分從而解決這一問題。
  • 在Project Treble和Android Oreo之前,供應商的底層硬件代碼和Google的AOSP操作系統(包括HAL)都是很龐大的。
  • 由于集成了Project Treble,Google能夠將最新版本的AOSP操作系統代碼更新到設備,而OEM廠商則需要更新底層硬件相關的組件。
  • Project Treble的關鍵是通過硬件定義語言(HIDL)、Android供應商測試套件(VTS,Vendor Test Suite)在HAL和它的用戶之間定義一個清晰的接口。VTS是一組測試,用于驗證升級后的操作系統與廠商硬件實現之間的兼容性。當前版本的Android中大約存在60種HIDL。

iOS的更新通常會在發布之后就能在所有受支持的設備上進行安裝,然而Android的更新速度卻 慢得讓人難以接受 。事實上,Android智能手機能 收到幾次更新 是很幸運的,因為現在智能手機的成本更低了,在它的整個生命周期中可能一次更新都收不到。

眾所周知, 多年以來,碎片化已經成為Android世界的一個主要問題為Android平臺開發應用程序也變得更復雜了 。缺乏安全性、日益增長的脆弱性以及不兼容性是Google、OEM廠商和用戶的主要關注點。

Project Treble 是試圖解決這一系列問題(Android的碎片化)的嘗試。在對Project Treble進行介紹之前,理解硬件抽象層(HAL,Hardware Abstraction Layer)在Android OS框架中的作用能幫助你更好地理解Project Treble。

硬件抽象層(HAL)

硬件抽象層 能夠將其實現特性隱藏于更高級別的程序中,在此前提下使得操作系統與硬件設備進行通信。換句話說,HAL將硬件設備與操作系統分隔開來,如下圖所示:

Project Treble是Android升級的最終方案嗎?

HAL是在Linux內核之下的一層,它用于處理HAL和設備硬件組件之間的特定硬件通信。不同于iOS設備,Android設備往往有許多不同的硬件組件,正因為如此,編譯后的Linux二進制執行文件通常每個設備都是不同的。簡單來說,這就是碎片化的問題所在。

Project Treble前身

在Project Treble和Android Oreo出現之前,供應商的底層硬件代碼和Google的高級AOSP搞作系統(包括HAL)是非常龐大的。

Project Treble是Android升級的最終方案嗎?

也就是說,在Project Treble出現以前,為了更夠讓供應商升級到最新版本的Android系統,他們必須要對供應商的底層硬件代碼和Google的高級AOSP操作系統進行更新,這一流程使得Android設備的升級被延遲,并將其置于安全風險中。

Project Treble是Android升級的最終方案嗎?

除此之外,手機制造商還需要 等待硬件合作伙伴發布驅動更新 ,以確保 硬件與最新版本的Android之間的兼容性 。不同于Windows PC和Mac設備,Android并不是即插即用的。

什么是Project Treble?Google想用它做什么?

Android更新的主要問題在于,手機制造商遲遲不發布更新。更糟糕的是, 隨著新型號的到來,手機支持將會被重新進行評估 。多年來,消費者一直在向手機制造商和Google表達不滿。現在,Google的Project Treble的到來可能會改變手機制造商發布軟件更新的方式。

Project Treble是Android Oreo的一部分,它帶來了操作系統框架的關鍵重構。 這一項目的主要目標是使得Android系統的更新更快、更簡單 。Project Treble可能是Android Oreo系統更新中所宣布的最大的變化,但是消費者可能甚至都沒有意識到這一點,因為這項改動并不是在手機的表面上。盡管如此,這一改動的好處依舊是不計其數。

然而,你也不要把期望值定的太高,因為對設備的升級依然需要手機供應商的參與。

Project Treble不同你想

然而, 與你想象的相反 ,Project Treble并不會將所有的Android Oreo設備都變成 Pixel或Nexus 。事實上,Google并不是自己來處理軟件更新,Android設備制造商仍然需要將其編譯并且進行發布。Project Treble是Google為了加速 無線下載(OTA,over-the-air)更新 所做的一項努力,但是發布OTA更新的職責依然屬于供應商。OTA更新會和往常一樣推送到你的設備上。如果Project Treble取得成功,你會更頻繁地收到Android系統的更新通知。

Project Treble為OS框架帶來了哪些架構上的變化?

Project Treble將Android操作系統框架從供應商的硬件代碼實現中分離出來了。通過這一分離以及得益于Project Treble的集成,Google能夠將更高級別的AOSP操作系統代碼更新到最新版本,而由OEM廠商來對其底層硬件相關的組件進行更新。

Project Treble是Android升級的最終方案嗎?

但是,這并沒有解決全部問題。OEM廠商仍然需要對其底層組件進行更新。并且他們還必須依賴于那些提供大部分硬件代碼的SoC供應商們,這就違背了Project Treble的初衷。

為了解決這一問題,Google已經找到了一種解決方案:使用HAL接口定義語言。它的目標是 通過對細節進行抽象來減少對HAL的依賴 。其余的部分依賴于供應商和OEM廠商。

通過HIDL解決HAL問題

正如我們前面所討論的,HAL促進了硬件組件和應用程序之間的通信。Android O正式將HAL硬件組件進行了劃分,比如音頻或攝像頭,以及操作系統層的客戶端。這些新的正式的劃分通過硬件定義語言(HIDL,Hardware Definition Language)來描述HAL和它的用戶之間的接口。當前版本的Android中有大約 60個不同的HIDL包 。HIDL包可以在無需重新構建HAL的前提下替換操作系統框架,從而減少了供應商對Soc制造商的依賴,能夠直接發布下一個OTA更新。這就意味著,無需重新編譯HAL就能發布OTA更新,這樣就可以迅速應用 新版本的Android系統 所帶來的變化。

Project Treble是Android升級的最終方案嗎?

Project Treble是Android升級的最終方案嗎?

當然了,等待升級到下一個版本的Android設備的硬件必須與這個版本的Android系統相兼容。在Project Treble發布以前,如果要發布軟件更新,Android設備制造廠商需要依賴于電子制造商,而不用考慮當前設備的硬件與當前Android版本的兼容性。在之前,供應商的實現會受到新版本Android發布影響,其中包括半導體制造商(高通、聯發科、三星等)的硬件專用代碼,并且需要更新Android操作系統框架。隨著Project Treble的發布,現在的情況已經不一樣了。img

Project Treble是Android升級的最終方案嗎?

新的Android版本現在僅需要和被升級設備的未經改動的供應商實現部分進行兼容即可,升級過程可以通過Android供應商測試套件來確保順利完成。 Android供應商測試套件(VTS,Vendor Test Suite) 是一組測試工具,它用于驗證升級后的操作系統與供應商實現部分的兼容性。一旦兼容性測試通過,OEM廠商就可以通過升級OS框架的AOSP操作系統來發布一個OTA升級了。VTS是一款面向硬件的模擬 兼容性測試套件(CTS,Compatibility Test Suite) ,它可以確保Android應用程序的API能夠在Android設備上得以正確的實現。

通過Android 供應商測試套件(VTS) 的測試對于Android設備來說是至關重要的,因為HIDL的目標是在不重新構建HAL的情況下替換操作系統框架。HAL是由半導體供應商進行構建的,并且構建于設備的供應商分區中,這使得操作系統框架被放置于一個自己的分區中,無需重新編譯HAL就能夠通過OTA更新進行替換。

不論如何,更新AOSP操作系統是發布OTA更新的最低要求,但是大多數供應商都可以更新UI層,并且可以將他們自己的軟件附加至更新中。這一過程需要時間。因此,不要指望Google將Android更新發布的幾周內,Android升級就會出現在你的設備上,這一福利仍然只屬于Pixel和Nexus設備。

簡而言之,盡管升級的方式還是保持不變,但是Project Treble已經消除了來自半導體供應商的依賴。

反饋

知名的在線出版社贊揚了Project Treble,因為它消除了Android生態系統中最大的問題之一,包括以下內容:

  • Time雜志 寫道, Android Oreo的這一新特性 能夠解決Google的一個大麻煩。
  • Techradar 稱Project Treble為Android史上最重要的更新。
  • XDA論壇的Mishaal Rahmaan 稱其為自定義ROM的一場革命,因為Project Treble使得Android Oreo變得極其容易。
  • Andy Rubin的Essential Phone、華為、華碩等都在將其設備升級至Android Oreo時表示了對Project Treble的支持。

然而,許多手機制造商在將他們的設備升級到Android Oreo時并沒有提供對Project Treble的支持。似乎許多Android設備制造商對Project Treble帶來的操作系統框架的架構性改動感到擔憂, 鏈接中的這些設備在升級到Android Oreo時提供對Project Treble的支持

為什么有一些OEM廠商選擇退出?

OEM廠商對Project Treble的顧慮

對于Android廠商來說,將其設備升級從Nougat升級至Oreo時,Project Treble這一特性的改動尤其讓人擔憂。一名OnePlus員工在 AMA會議 上給出了擔憂背后的 合理的理由

Project Treble需要一個存儲分區,通過該分區將Android框架和供應商的映像相分離。但是,由于Android N和之前的Android版本并不需要這一份去,因此我們現在的所有設備都沒有該分區。根據我們的測試,如果我們通過OTA升級來修改分區布局,那么在進行分區的時候,設備有可能會變磚。我們認為這對于我們的用戶來說是一個很大的風險,這就是我們為什么決定不在當前的OnePlus設備上添加Project Treble支持的原因。

中國智能手機品牌OnePlus是首家在Android平臺上退出Project Treble功能的廠商,該公司目前當前和之前的旗艦設備都是基于Android Nougat系統的。

Nokia是第二家對Project Treble向公眾發布猶豫不決的公司 ,尤其是在將當前設備升級到支持Project Treble的Android Oreo的時候:

在將來,HMD會致力于在所有新的Android Oreo設備上實現Project Treble,我們對可能導致的用戶的失望表示道歉。

最后的一點想法

對于Android應用程序開發者和用戶來說,這的確是一個偉大的時刻,因此Google終于解決了它的一大煩惱,即統一操作系統。Project Treble意味著手機將擁有更長的支持周期,而不是僅僅兩年,兩年是目前大多數旗艦公司所提供的支持周期。但是,最終這還將取決于OEM廠商是否會對其設備發布更新的決定。

關于作者

Project Treble是Android升級的最終方案嗎? Shahid Mansuri 是Peerbits的聯合創始人,Peerbits是美國領先的 Android移動應用程序開發 公司,成立于2011年。他的遠見卓識和張揚的管理風格給公司帶來了豐碩的成果。他相信,在創業上和商業上,他會把自己的知識基礎與自己的知識不斷地進行分享。作為一個熱愛大自然的人,他喜歡在假期的時候在海灘上展示他的睡衣。

查看英文原文: Is Project Treble the Answer to Android Updates?

 

來自:http://www.infoq.com/cn/articles/android-project-treble-intro

 

 本文由用戶 bdrg0591 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!