你真的能叫刷機高手嗎?安卓Recovery知多少 玩過安卓刷機的朋友相信都聽說過Recovery,在刷機前,第一步往往是解鎖手機,第二部就是刷入Recovery了。利用Recovery讀取第三方Rom並刷入系統,才能實現刷機。不過關於安卓的Recovery,很多人只是刷機時就簡單用一下,並不求甚解,有時候跳進了坑還渾然不知。今天,就一起來談談安卓Recovery吧!
安卓Recovery:它到底是什麼
熟悉安卓系統的朋友都知道,Google官方發布的安卓系統完整鏡像包含著數個img文件,其中就有reocvery.img。按照官方步驟進行刷機的時候,安卓鏡像的數個img文件會被寫入安卓機中不同的分區,例如安卓系統主體會被寫入System分區,Recovery也擁有自己獨立的分區。實際上,Recovery無需安卓系統主體,也可以獨立運行。從這方面來看,Recovery很像是一個微型的作業系統。
這是手機廠商預裝的Recovery的界面,刷機前一般會先把Recovery更換成第三方
實際上,Recovery的定位的確很類似PC平臺的WinPE。它本質上是一個非常精簡的Linux,用以讀寫System分區(安卓系統主體)、Boot分區(內核)的內容。為什麼刷機需要先刷Recovery?因為用Recovery改寫System分區是極為方便的。儘管Fastboot也可以改寫System分區,但這往往需要連接電腦、利用adb來進行,比較麻煩。例如使用Fastboot來root手機,需要在電腦上輸入複雜的命令行,而使用Recovery來root就只需要點選相應是su文件,然後刷入System分區即可。
安卓Recovery:它到底可以做什麼
很多朋友都用過WinPE,WinPE能幹的事情令人印象深刻。當系統掛掉或者需要調校系統的時候,引導進入WinPE,可以自由管理電腦中的文件,運行一些工具,對系統進行備份、修改乃至重裝。Recovery在安卓中幹的事情,和WinPE也非常相似。
Recovery的本職工作就如其名字一樣,是「重置」。Recovery首先可以對安卓系統進行各種重置,例如清除Cache、Data等等,也就是刷級玩家常說的「Wipe」。但是,如果要徹底重置系統,還是需要重新刷入System相關文件才能實現。
使用TWRP進行Wipe的界面
Recovery可以修改System分區,玩家可以藉此實現很多功能。例如前文說過的root,root的本質是用第三方su替換掉系統su,從而實現提權,正統的root方法就是手動把相應的文件從Recovery中刷入System。又例如可以利用Recovery清除系統預裝App,預裝App一般被寫到了System分區中,尋常方法難以更改,如果Recovery帶有文件管理器,那麼刪除預裝的App就成為了輕而易舉的事情。
使用TWRP在System分區刷入zip包
除了這些功能外,一些強大的第三方Recovery還擁有掛載系統儲存、解壓縮、備份系統、編輯系統文件(如host、build.prop)等。不過,官方的Recovery一般都不會去做這麼多功能,多數的官方Recovery只提供了重置系統(Wipe)和升級系統的功能。這是可以理解的,對普羅大眾開放太多的高級功能,有概率會把系統玩壞或造成數據丟失。其中,利用官方Recovery進行升級,可能是最實用的功能之一。
這是原生安卓官方的Recovery,沒有什麼功能,非常簡陋
以Google官方的原生系統為例,Google的系統更新推送往往不能第一時間覆蓋所有的機型,但是沒有收到OTA更新的話,是可以利用Recovery來手動進行OTA升級的。下載OTA升級包後,在Recovery模式下連接電腦,用adb sideload命令刷入OTA包即可,效果等同於接收OTA推送,不會丟失數據。
第三方Recovery:你都用過嗎?
顯然,官方Recovery難以滿足玩家們的各種折騰需求。刷第三方ROM需要寫入System分區,官方Recovery是不提供該功能的。因此,第三方的Reocvery就成為了刷級玩家標配,刷ROM前需要先刷Recovery,也是因為如此。
現在主流的第三方Recovery有兩種,一起來看看吧。