今天給大傢介紹一下 Android 系統已有的更新機制。目前,現有的Android 系統主要有三種不同的更新機制,分別是A Only、A/Bvirtual A/B。virtual A/B是目前谷歌推薦的更新機制,不過目前大部分機型,還是使用較為傳統的A Only更新機制,部分中高端旗艦產品才開始使用A/B、virtual A/B。


更優秀的更新機制,可以延長一部手機的系統更新周期。這幾種更新方式都有各自的優點和缺點,主要側重點在於更新機制的安全性、存儲空間占用以及用戶的可感知性下面簡單介紹一下。


聊聊安卓的系統A Only、A/B、virtual A/B(更新機制)

A Only(簡稱:非A/B更新)

顧名思義,這種模式下,系統隻在一個分區裡面。好處是系統對空間占用少,壞處是OTA更新速度較慢,而且一旦更新失敗,容易成磚。


A/B(簡稱:無縫更新)

搭載 Android 7.0 系統的Google Pixel 采用瞭這個更新模式,之後有一些中高端機型使用瞭此模式。簡單來說,這種做法可以將系統分別裝在兩個不同的分區當中,設備則可以從任何一個分區啟動系統,但是系統A和系統B共用一個data數據分區。也就是說在更新或者刷入系統時,如果你在使用 A 分區的系統,那麼可以讓 B 分區的文件進行更新。如果 B 分區更新後出現問題瞭,還可以重新進入 A 分區的系統。


聊聊安卓的系統A Only、A/B、virtual A/B(更新機制)

[1]

A/B分區的好處:

(1)無縫更新。更新過程可以幾乎完全在後臺進行,無縫更新可以節省大量時間。

(2)安全性,不會因為升級出現無法開機的問題。在系統A升級系統B,如果升級成功則重啟到B系統,而如果升級失敗,則保留在A系統。

A/B分區的壞處:

(1)多占用10多個G的存儲空間

聊聊安卓的系統A Only、A/B、virtual A/B(更新機制)

到這裡,安卓系統就已經有瞭兩個更新機制:A/B(無縫)更新和非 A/B 更新。但是,為瞭降低代碼復雜性並增強更新性,谷歌在 Android 11 中將這兩個機制統一,推出瞭新的更新機制,virtual A/B(即虛擬A/B),結合瞭兩個前身的優勢,將無縫更新帶到所有設備,同時最大限度地降低存儲成本。


virtual A/B(簡稱虛擬A/B更新)

從Android 11 開始,Google推薦virtual A/B,這種方法,刪除瞭recovery/cache 兩個分區,但是system隻有一套,比A/B少瞭一套,使用瞭A/B系統類似的更新方法,ota之後,在分區內產生△system △vendor等差異化內容,重啟之後,使用△數據+super內容,組成snapshot ,系統引導 snapshot 開機,如果開機正常,那麼開機以後merge △ 數據到 super ,等下次重啟,使用正常的super分區系統開機。[2]

聊聊安卓的系統A Only、A/B、virtual A/B(更新機制)

virtual A/B的優點[3]:

1: 和A/B一樣,它支持無縫更新

2:支持更新回滾。如果新操作系統無法啟動,設備將自動回滾到上一個版本

3:使用最小額外空間

4:不容易出現OTA之後無法開機問題

virtual A/B的缺點:

1:在合並創建鏡像過程中,對閃存讀寫性能有一點的要求

當然,出廠就是安卓11系統的手機和後期通過OTA的方式升級到安卓11的機型的系統機制並不相同。一般來而言,後期通過OTA的方式升級到安卓11的機型默認還是Recovery升級方案,這是因為分區已經無法修改。對於經常刷機ROOT的機友來說,由於更新機制的不同,在使用Magisk 獲取ROOT的方式也可能和普通的不一樣。此外,對於使用Virtual A/B的機型,第三方REC也不太好適配。


需要註意的是,在這已有的三種更新機制當中,Google沒有強制手機廠商一定要使用 A/B 或者 Virtual A/B,無論使用 A/B 或者 Virtual A/B,都不影響其使用Android 11系統。Google 隻有在Android one系統上強制使用A /B。


參考文獻:

[1]csdn,guyongqiangx,2017-05-07,Android A/B System OTA分析概覽,https://blog.csdn.net/guyongqiangx/article/details/71334889

[2]微博,秋葉隨風,https://weibo.com/1697247850/JjRvXnlYy

[3]谷歌開發者中心,配置-更新-虛擬A/B 概述,2020-12-29,Virtual_ab概述:https://source.android.google.cn/devices/tech/ota/virtual_ab?hl=en

創作者介紹
創作者 3C王者 的頭像
3C王者宇晨

3C王者

3C王者宇晨 發表在 痞客邦 留言(0) 人氣( 9 )