每個 Android 玩家都不可錯過的神器(二)

無論從我平時接觸到的 Android 用戶還是從此前與 root 相關的討論來看,很多人在要不要 root 這件事情上反覆糾結的最大原因在於 OTA。

對移動平臺操作系統而言,OTA 更新也許是最為常見也最為方便的系統升級方式,以 Google 自家的 Pixel 設備為例,一次沒有太多功能更新的月度安全補丁推送也許只需要下載幾十兆大小的更新包,與之形成對比的則是以 GB 為單位計算的全量工廠鏡像。

因此無論從便利性還是從帶寬、流量角度出發,為 OTA 而放棄 root 的行為都值得理解了:大部分 root 工具都會直接對系統分區內的文件進行修改,經過修改的系統文件顯然是過不了 OTA 流程中「系統完整性驗證」這一關的

得益於 systemless 特性,能夠無痛 OTA 更新也是 Magisk 的一大優點。本文就將介紹如何在安裝了 Magisk 的前提下進行無痛 OTA 系統更新。

確認 A/B 系統分區支持狀態

A/B 系統分區是 Google 在 Android 7.0 時代引入的新機制,顧名思義,採用這個機制的設備擁有 A、B 兩套系統分區,用戶數據則能夠在這兩套系統分區之間共用。

這種分區機制帶來的最大好處,在於讓無縫系統更新(seemless updates)成為了可能——舉個例子,當我們在 A 系統中進行 OTA 更新時,接受更新的很有可能是當前並未啟用的 B 系統。這樣一來,OTA 更新的過程可以在不干擾當前使用的前提下順利完成,手機重啟後,系統分區從 A 切換到 B,用戶自然也就用上了新系統。

每個 Android 玩家都不可錯過的神器(二)

A/B 分區的系統更新流程

此外,採用 A/B 系統分區的設備在遭遇 OTA 事故時,還能在系統啟動失敗後自動切換回更新前能夠正常工作的系統分區。得益於這些便利,Android 7.0 正式推出後面試的主流 Android 設備很多都已經支持了 A/B 系統分區方式。

A/B 分區同樣也是安裝了 Magisk 狀態下進行無痛 OTA 系統更新的前提條件,那麼該如何確定自己的設備支持這種分區方式呢?

首先,如果你已經在電腦端正確配置好了 ADB 環境,不妨在手機端打開 USB 調試後將手機連上電腦,然後在電腦端按照下列步驟檢查設備是否採用了支持無縫系統更新的 A/B 分區:

  1. 運行 CMD 命令行工具或終端
  2. 執行 adb shell 指令,此處應返回 設備代號:/$
  3. 隨後執行 getprop ro.build.ab_update 指令

返回結果為 true 則表示你的設備採用了 A/B 系統分區。

每個 Android 玩家都不可錯過的神器(二)

使用 CMD 鑑定 A/B 分區兼容性

當然,你也可以通過 這款小應用來檢測 Project Treble 和 A/B 系統分區的兼容性,這款工具無需 root,下載安裝後直接運行即可看到結果。

每個 Android 玩家都不可錯過的神器(二)

確認設備支持 A/B 系統分區後,我們就可以接著進行下一步了。

做好準備工作

由於 A/B 分區在系統更新過程中幾乎不會對用戶造成打擾,一些 OEM 廠商也順勢將 OTA 更新做成了一個可以在後臺自動完成的任務。

但問題在於,伴隨著自動完成 OTA 更新後系統分區的切換,我們在更新前藉助 Magisk 獲取的 root 權限和已經安裝過的 Magisk 模塊都會一一失效。鑑於本文要討論的 OTA 更新特指既能通過 OEM 官方通道進行 OTA 更新,又能在 OTA 更新後保留 Magisk 的 root 權限和已安裝模塊。如果你想在安裝了 Magisk 後的使用過程中均採用本文介紹的 OTA 方式,就必須做好一些事前準備,

首先,找到並關閉自動系統更新選項。這個選項位於開發者選項的第一部分設置當中,因此還算好找。

每個 Android 玩家都不可錯過的神器(二)

關閉自動更新並還原原廠件鏡像

然後,在廠商發佈系統更新或確認能檢測到 OTA 更新後,點擊進入 Magisk Manager 應用,找到位於主界面的「卸載 Magisk」選項,然後點擊「還原原廠鏡像」。注意,和第一步操作不同的是,自動系統更新選項我們建議保持長期關閉,還原原廠鏡像操作在每次進行 OTA 更新操作前都要執行

科學的 OTA 更新流程

接下來我們要做的就是執行正常的 OTA 更新流程了。

在執行完畢「還原原廠鏡像」操作後,大部分機型在系統設置中應該都能成功檢測並安裝來自 OEM 廠商的 OTA 更新了。

正如上文所言,OTA 更新流程結束後,系統應該會提示我們重啟,重啟後系統就自動切換到了更新過的另一個系統分區上。只是此時另一個系統分區並沒有保留 Magisk 的安裝和 root 狀態,相關模塊也無從啟用。

因此在安裝完 OTA 更新後,請先不要重啟

無視系統的重啟提示,直接打開 Magisk Manager 應用,找到「安裝」選項,然後在點擊後的彈出菜單中選擇「安裝到未使用的槽位(Install to Inactive Slot)」。

每個 Android 玩家都不可錯過的神器(二)

跳過重啟並安裝 Magisk 到另一分區

隨後,Magisk 就會在已經順利進行過 OTA 更新的另一系統分區中進行安裝。安裝完成後直接點擊安裝界面右下角的「重啟」按鈕,即可重啟到既保留了 Magisk,又應用了 OTA 更新的另一系統分區了。


分享到:


相關文章: