Written by Qing Xiaonan 2018-8-25
1. 摘要
雖然手機在完全root後存在一定風險,但是可以從事一些具有探索性的工作如修改手機遊戲、修改APP權限要求、編寫按鍵腳本等。此外,完全root非常適合那些擁有兩個手機的人。這篇帖子以小米5 最新MIUI 10開發版系統完全root過程爲例,介紹了一種通用的小米機型完全Root辦法。
2. 重要概念及原理說明
root權限是什麼?
root權限是系統的最高級權限,有了它什麼事情都能幹,把系統刪掉都是可以的。當然,MIUI 開發版中安全中心授權的root權限只是root權限的很小一部分,幾乎啥都幹不了。所以才需要在這個基礎上得到完整的root權限。
爲什麼開發版不給完整的root權限?
在開發版中,一旦用戶擁有完整的root權限,可能會出現很多不可控的情況,這個是不太敢給的。
在開發版的基礎上獲得完整root權限的原理
手機上的權限是由一個權限管理軟件進行管理的,默認是官方的權限管理軟件,集成到系統中了。如果將這個官方的權限管理程序替換成第三方的權限管理軟件,那麼我們就可以擁有完整的root權限了。
不幸的是,這個軟件雖然是一個APP,但是是沒有辦法正常安裝的。會出現“二進制佔位”等看不懂的錯誤。這是爲什麼呢?因爲系統怎麼可能讓這樣一個危險權限管理軟件得以存在呢?
誒?還是有辦法滴!
手機系統中有一個叫recovery程序的東西,可以在這個上面刷入和系統相關的安裝包,如系統升級補丁和嶄新的另一個系統等,有點像電腦中的BIOS,但是BIOS是集成在主板上的,這個不是。可以在這個recovery上刷如超級權限管理軟件。
但是,又不幸的是。官方默認的recovery怎麼會讓你刷這種軟件呢?肯定是不會讓你成功的啦!
所以,整個root過程最關鍵的一步來了,就是刷入第三方的recovery替換掉原來官方的recovery,然後在第三方的recovery上刷入超級權限管理軟件替換掉官方原來的權限管理程序,這樣你就成功啦!
而值得一提的是,刷入第三方recovery的方法是使用 Android Debug Bridge(adb 安卓調試橋) tools,這個應該算最根本的方法了吧。
3. 方法框架
- 解鎖BL刷機鎖(老機型不需要)並先刷MIUI10 開發版
- 申請root權限,自動下載所需文件
- 解鎖System分區
- 刷入第三方recovery
- 在第三方recovery中安裝superSU
4. 具體流程
4.1 解鎖BL刷機鎖(老機型不需要)並先刷MIUI10 開發版
比較新的小米手機都有一個刷機鎖,這裏着重提一下,這個東西的發明是很牛逼的。刷機鎖沒有打開的時候,你是刷不了機的,而解鎖必須要用機主的小米賬號在電腦端登錄解鎖工具解鎖。也就是說,手機丟了被別人撿到了,別人不知道密碼打不開手機,想刷機也沒辦法,只能拆了手機賣硬件。
在設置 -> 開發者選項 -> 設備解鎖狀態中查看鎖定情況,如果是鎖定的並且現在要開鎖,那麼就下載解鎖工具解鎖,全過程很簡單跟着官方教程走就行了。
刷機鎖的網站在這裏:http://www.miui.com/unlock/done.html
解鎖之後,需要下載一個MIUI10開發版系統(線刷版)
MIUI10開發版線刷包:http://www.miui.com/zt/miuirom/download.php
然後再下載一個線刷工具,在電腦上線刷就可以了。 刷機工具在MIUI論壇官網上下載: http://www.miui.com/shuaji-393.html
線刷MIUI10長這個樣子
注意:在右下角有一個選項,不要選擇“全部刪除並lock”,要不然你還得再解鎖一次。
4.2 申請root權限,自動下載所需文件
這個非常簡單,打開剛刷好的MIUI10開發版,在 安全中心->應用管理>權限 裏面申請root權限,確定之後會從官方那裏下載root所需要的剩下的一些文件。
4.3 解鎖System分區
這一步是爲了之後能暢通無阻地修改System中的內容。
先取搞一個adb工具包,附件1,下載不了的去網上搜一個,或者Android sdk會自帶。
手機直接用USB線連接電腦,打開USB調試,在adb工具的命令行中輸入下面的代碼,完成解鎖系統分區
adb root
adb disable-verity
4.4 刷入第三方recovery
這是最關鍵的步驟,推薦第三方recovery爲TWRP,在這個裏面找到你手機對應的TWRP版本,如果找錯了有可能刷成轉,所以一定要細心。幾乎所有的小米手機在這裏都有對應的TWRP版本,這還是比較好滴!
附上官網地址:https://twrp.me/
這個軟件是一個拓展名爲img的文件,將它放到adb工具包裏面,(只是爲了方便),然後在windows中調用Cmd窗口,輸入相應的指令。以Win10爲例。下面是我的做法:
在空白處按住shift,右鍵選擇在此處打開命令窗口,進入該處的Cmd
與此同時,依舊將手機用USB線與電腦連接,將手機關機,同時按下“音量鍵下”+“關機鍵”3秒鐘,鬆開手,手機會進入FAST BOOT模式。(如果按“音量鍵上”+“關機鍵”3秒鐘會進入recovery程序)
在Cmd窗口中輸入下面的代碼查看手機有沒有被識別到
fastboot devices
如果出現手機的硬件號碼,像這樣就證明成功了,(塗掉了,不給你看)
再輸入下面的代碼,安裝第三方recovery,下面的代碼中,“recovery.img”是你第三方recovery的文件名字,可以根據實際的適當調整。不一定非要叫“recovery.img”
fastboot flash recovery recovery.img
如果出現下面的提示,那就成功了,值得一提的是,第三方recovery還沒有完全安裝到手機裏面,需要等你來會心一擊。
再輸入下面的代碼進入第三方recovery
fastboot boot recovery.img
會出現下面的提示,然後等待10秒鐘,手機會重啓進入第三方recovery,這裏是TWRP的程序中
剛開始,長這個樣子
按住這三個小三角向右滑動,完成TWRP的安裝
4.5 在第三方recovery中安裝superSU
這一步還是比較簡單的,SuperSU是一個APP,它可以由apk形式的安裝包,也可以由zip形式的卡刷包。這裏我們使用zip形式的卡刷包,需要事先搞一個,放到存儲目錄裏面,任何位置都可以。(你也可以在刷第三方recovery之前就把它放進去,這樣就少重啓一次)
然後關機重啓,按住“音量鍵上”+“關機鍵”3秒鐘進入recovery程序,這次應該進的是TWRP程序了,官方的那個應該已經被換掉了。在程序的主頁面中點擊install,選擇SuperSU的zip安裝包存放的地址路徑,安裝即可。重啓手機,Root過程就算結束啦!你現在可以秒天秒地秒世界啦!
秦曉楠 2018-8-25
請珍惜作者勞動成果,轉載請註明出處!