Android O: Project Treble - 手機討論

Odelette avatar
By Odelette
at 2017-05-13T12:43

Table of Contents


打從4.0 ICS起谷歌養成了會挑特定領域組團打怪改進Android的習慣。

今天新鮮公佈是Android O的計劃是Project Treble。

“treble: a threefold quantity or thing, in particular.”


這回終於輪到針對安卓的更新瘟疫做出的小改善。 此計劃目的是將Android OS模組化, 區分開谷歌主導的Android OS架構代碼與”由特定晶片供應商撰寫的“硬體代碼。 這麼做理論上可達成'當晶片供應商沒有參與的情況下', 單靠OEMs本身就能著手準備為手機提供Android更新。

http://i.imgur.com/jaso5br.png

新版本安卓由谷歌釋出後還要經過三關才有機會送達你我手中, 分別為:

1. 晶片供應商(高通Snapdragon, 三星Exynos, 聯發科Helio)基於自家生產硬體針對新版Android的改變做出對應修改, 確保各關鍵組件如驅動和電源管理機制在新版本能夠正常運作。

2. OEMs (Samsung, LG, HTC) 投入確保自家手機使用的所有硬件都正常運作, 為自家皮膚改版, 準備系統內建應用程式, 對Android OS上層做出修改並添加各種OEMs喜愛的花俏功能。

3. 營運商測試及批准更新,加入更多沒人愛的apps。 這一項美國是重災區, 其他地區營運商沒那麼大討價能力,也沒這麼做得這麼極致的習慣。

可見Project Treble非萬用救命仙丹, 它嘗試解決的是上圖中第一二步驟之間的阻礙。


The Vendor Interface (供應商界面)

http://i.imgur.com/zwv7zZd.png

一開始Android的目標就是要在各式各樣各家的硬體上都能運行, 因此谷歌曉得維持API行為一貫的重要性。 一直以來都藉著兼容定義文件(Compatibility Definition Document) 搭配兼容性測試套件(Compatibility Test Suite )來確保Android裝置的一致性。 只有這樣應用程式開發者才能開發出一個在各式Android裝置上都能運作的應用程式。

Project Treble主要概念是將大多由晶片供應商負責的底層部分剝離中上層Android OS架構。 為此Android O新增了的供應商界面, 可視它為Android OS架構與晶片供應商硬體間的穩定橋樑。 谷歌也就此設計了類似CTS的供應商測試套件(Vendor Test Suite), 來驗證晶片供應商所寫的界面, 同時確保該供應商界面的向後兼容性。


Project Treble的益處

由於安卓一路走來都沒有形式上的供應商界面, 每回有新Android系統要更新時需要先將散佈在各方的零散供應商提供的代碼一併更新才能達成目的。

http://i.imgur.com/xBIAMJW.png

有了穩定的供應商界面作為兩者之間的媒介, OEMs也有了選擇僅更新上層Android OS架構的能力。 這就能省去等待晶片供應商提供新版本BSP一環。

http://i.imgur.com/5dI2Wqh.png

Project Treble將會出現在Android O起的新Android版本, 實際上它現在已被應用在開發版Android O的手機上了。 此外,谷歌也和夥伴們合作將一些特定國家營運商使用的特定功能移入AOSP中,這樣OEMs便不再需要每更新一回都得重新自行移植一回一樣的功能。


https://goo.gl/DE6Ipn

-----


Project Treble在Google旗下手機的Android O DP1韌體已上線, 意味著高通已將Snapdragon 810, 820兩條維護線的供應商界面預備好了。 按常理說使用這些高通SoCs的手機, 只要OEMs有心便能更快就獲取Android O更新了。 至於其他晶片供應商的情況如三星Exynos就不曉得了,但要轉移去新界面若現在還沒開始整合應該會慢些, 好處是使用供應商界面以後會方便許多。

最後則是醒腦部分, 有了供應商界面以後是能免去高通無預警中斷Snapdragon 800線的Android 7支援的慘劇。 新安卓推出後至各廠手機獲得更新的時程會縮短, 但這不代表OEMs會提供像蘋果iOS那麼長的OS更新支援時間, 我這話包括了谷歌旗下的Pixels系列的2年系統更新。

三方ROMs方面將會大大受益, 要支援新版本安卓方面應會容易許多。 有了供應商界面後,各種硬件也不會亂壞東壞西的, 廠商不支援後的新版本Android也不需要自行再駭出一堆補丁勉強用了。

--
Tags: 手機

All Comments

Sarah avatar
By Sarah
at 2017-05-15T20:52
我也覺得2699辦完後速度很順
Una avatar
By Una
at 2017-05-18T05:01
所以簡單來說就是能確保特定soc可以更快的獲得更新嗎
Mason avatar
By Mason
at 2017-05-20T13:10
會變成Project Terrible還是Project Table平台呢?
Ethan avatar
By Ethan
at 2017-05-22T21:19
2699可以停了吧你
Quanna avatar
By Quanna
at 2017-05-25T05:28
一樓開玩笑也要看對地方,好笑嗎?
Zora avatar
By Zora
at 2017-05-27T13:36
就像微軟系統 內建相容性驅動的概念一樣
Rosalind avatar
By Rosalind
at 2017-05-29T21:45
新系統裝在舊裝置上 就算沒原廠驅動也能用
Lydia avatar
By Lydia
at 2017-06-01T05:54
大致就像樓上說的那樣 假如今天手機用x86早就和Windows一樣搞 阻礙在ARM設計是給各種奇怪便攜裝置的 連線路都要寫死在核心
Franklin avatar
By Franklin
at 2017-06-03T14:03
值得期待
Gary avatar
By Gary
at 2017-06-05T22:12
要完成這個價格,ROM Usage又要犧牲好幾G @@
Kelly avatar
By Kelly
at 2017-06-08T06:21
TYPO@@架構~~
Valerie avatar
By Valerie
at 2017-06-10T14:30
好文章! 期待未來Android 都能用google 直接更新!
Callum avatar
By Callum
at 2017-06-12T22:39
"只要oem有心"… 只能說呵呵
Edith avatar
By Edith
at 2017-06-15T06:48
只要OEM要介入就...
Delia avatar
By Delia
at 2017-06-17T14:57
不會佔ROM空間 Linux核心才幾MB 剩下的大多是本來就要ship的binaries 值得一提一年半前Nexus已經有個vendor分區開始把驅動binaries移過去了 當時主流猜測是把為未開源驅動移走方便分開更新
David avatar
By David
at 2017-06-19T23:06
直接google更新..還是不要想吧
Harry avatar
By Harry
at 2017-06-22T07:15
除非google限制OEM廠一年可出的手機數量並契定更新年數、版本,否則不給新版本or使用授權..但是某個兩年更新保障都不鳥了
Damian avatar
By Damian
at 2017-06-24T15:24
將重要功能 拉成 app 跟 webview 一樣更新
Ivy avatar
By Ivy
at 2017-06-26T23:33
我怎聽說要多割一塊System partition ^_^"
Irma avatar
By Irma
at 2017-06-29T07:42
你說的是seamless updates 谷歌沒逼人起用 目前只知Pixel和G6用了 那功能很好很強大 若擔心沒空間可只在旗艦啟用就好 我深信它能降低手機升級失敗回廠率
Rosalind avatar
By Rosalind
at 2017-07-01T15:51
好像一出場so 是o的被要強迫使用@@
Regina avatar
By Regina
at 2017-07-04T00:00
Google 沒有逼人用A/B(seamless) update應該是牽扯到Partition layout的改變(有二組partition,名字一
Enid avatar
By Enid
at 2017-07-06T08:09
樣,但結尾以_a,_b區分是那一組),recovery變成boot_b,cache變成system_b, etc.,換言之就是在 A/Bpartiton 下是沒有recovery以及cache partition的.再來是A/B update完整度約是 android_7.1.1_r1(也就是 Google XL出貨版本)才算真的有 90%完成.
Leila avatar
By Leila
at 2017-07-08T16:18
但很多晶片供應商一開始port的都是android_7.0.x,完整度約50%左右,不支援A/B update能夠理解.
Eartha avatar
By Eartha
at 2017-07-11T00:27
晶片廠會不會使用Treble 是個問號,像Qualcomm,mtk多SIM卡的支援是自己有更改Android framework層才達到的,這部分目前怎麼拆的開呢?
Anonymous avatar
By Anonymous
at 2017-07-13T08:36
樓上說的沒錯 這當然是要新機才能支援 我所指的自然是逼人在新機支援 看劇據mog大透露的看來谷歌會在O強制 我想應該還是會和加密需求一樣留後路 如設成64GB以上就得支援
Rachel avatar
By Rachel
at 2017-07-15T16:45
至於晶片廠和手機廠會不會想要treble 答案是yes 這本來就是為了它們搞的 也是它們想要的 Android頭兒也證實了 treble就是在決絕你說的framework和底層代碼混雜在一塊的問題 有了treble的隔離構造就不必每每新版本又得重新port一回晶片支援 高通聯發科自然愛死 廠商也能省下一堆精力 我擔心的是省下的都換成cost down而非在加速更新上
Skylar Davis avatar
By Skylar Davis
at 2017-07-18T00:54
對了 搭載O出廠的新機必須通過VTS 這點夠明確了吧一定會支援

關於果核的appguard哪裡下載

Eartha avatar
By Eartha
at 2017-05-13T12:35
※ [本文轉錄自 Android 看板 #1P5eodhB ] 作者: newwords (raven) 看板: Android 標題: [請益] 關於果核的appguard哪裡下載 時間: Sat May 13 12:33:40 2017 果核的appguard是針對企業還是個人 效果怎樣有人試過嗎 ...

關於pixel的無限相簿空間

Hedy avatar
By Hedy
at 2017-05-13T12:04
前幾天手機螢幕壞掉 經大家的推薦 就立馬敗了一支2手 pixel 128 本來是想買pixel XL 但要下手前被搶先一步= = 這兩支應該除了螢幕大小跟用電量之外 就沒什麼差異了吧? 昨天試玩了一下 就介面很直覺很上手 自己有在玩單眼 pixel的照相金價謀甘丹 沒什麼好挑剔的 現在有個小問題 我想把之 ...

ASUS Zenfone 3 升級7.0後常常卡住?

Agnes avatar
By Agnes
at 2017-05-13T12:03
Asus zenfone 3 入手不到兩個月 之前升級android 7.0之後 常常卡住 觸碰幾乎沒反應 Line 延遲.......等等一堆小問題 有人有類似情況嗎? 我用iPhone 拍了影片....實在不知道該怎麼辦 https://youtu.be/5gL9ao2zNRE https://yo ...

內建DAC的手機使用藍牙耳機疑問

Ula avatar
By Ula
at 2017-05-13T11:54
餓死抬頭。 內建DAC的手機在使用有線耳機時是會有作用的,接車上AUX的狀態應該也是可行。 但如果改為藍牙耳機或藍牙車機,DAC還是會有作用嗎? 小弟了解經過藍牙壓縮音質會有破壞的問題,但還是會貪圖無線的方便。 還請各位大大開釋! - ...

HTC U11台灣價格傳不到兩萬 5/19首批現

Gary avatar
By Gary
at 2017-05-13T11:05
宏達電即將於 5 月 16 日發表 5.5 吋年度旗艦手機 HTC U11。據了解,HTC U11 在發表 之後隔沒幾天就會在台灣上市,預計5 月19 日開賣,且單機售價只有19,900元;HTC U 11 堪稱宏達電歷年來最超值的旗艦手機,而這款手機的火速開賣,也將讓它成為首款在 台推出的高通驍龍835 手 ...