為什麼Nexus設備root後不能OTA升級?

原因是哦主觀的還是客觀的?


root後是可以OTA升級的,但是前提是你沒有改過系統文件,僅獲得root許可權而已。


OTA需要兩個條件,第一個是recovery是原生未修改過的,修改過的會影響OTA機制運作,這是OTA功能正常使用的前提。

第二個是系統區未被修改過。修改過的系統區域因為recovery去校驗的時候會失敗而無法升級,這是OTA可否刷新系統的前提。

所以如果只是通過直接fastboot刷root包的情況下,是不會影響到OTA推送的


在回答以前,假設你大致了解差分的概念。在更改一個文件時,我們只需要提供新舊文件之間的差異,便能完成更改。完整的新文件是不必要的,它往往會浪費更多空間。


-

Nexus4的工廠鏡像大約有400兆,但是KRT16O到KRT16S的一次小更新,採用了差分機制的OTA包不到10兆。


-


我們平時需要跑到recovery里使用的.zip刷機包利用了同樣的Android的OTA機制,只不過這些第三方rom刷機包完全沒有利用差分功能而已。對於解鎖bootloader的系統,開發者不能確保設備/system,/boot的內容沒有經過更改。差分便沒有意義。


-


有一種情況,如果系統更新幅度很大使得差分包不能有效減小更新體積時,製造商有時也會禁用該機制。

-


對於官方升級便沒有這樣的顧慮。鎖住的/bootloader意味著關鍵分區沒有改動,沒有改動意味著可以用尺寸小得多的差分模式來更新。


-


到這裡問題就變得很簡單,root需要解鎖bootloader,並往/xbin里塞進su binary,並做一些符號鏈接,再往/system里裝入superuser app。而這裡只要一項與差分OTA包產生衝突變回阻止更新。


-

所以各種superuser一般都有「OTA survival「功能,在OTA前啟動它,便會臨時做出變動以能消除OTA中會出現的衝突。


分享經驗


美版Nexus5破解電信3G後,必需刷回原版的BOOT.img和Recovery 再OTA升級安卓4.4.2即可。

可以到〔NEXUS中文網〕http://www.inexus.co/portal.php 找一下相關的內容或教程。推薦一下,這個網站的教程比較豐富和及時。


我已成功OTA升級安卓4.4.2啦!


反正我的收到推送後可以下載,不能完成更新安裝,痛恨刷機精靈


是不是就是說只要不刪除系統原有自帶軟體,root後照樣可以接收更新推送 ??


root之後,可能一些系統文件被刪除或者改動了。

而ota升級,未必是完全重裝系統,而只是增加和修改某些文件,不去檢查新版系統需要的老系統原有的文件是否存在或者被改動過了。

新版本的系統,如果缺少老版本系統的一些文件的話,運行可能出現問題甚至崩潰。


推薦閱讀:

對比蘋果 200 萬,為什麼 Google 的 2012 年政治遊說支出高達 1800 萬美元,八倍的差距說明什麼問題,兩者遊說的方向和策略有何區別?
Magic Leap 和 HoloLens 孰優孰劣?哪個有可能先上市?
Google退出之前,中國的Android生態是怎樣的?
如何評價moto 360二代?
如何評價 16 年 5 月發布的 Android N Preview 3?

TAG:谷歌Google | Android |