創(chuàng)作立場(chǎng)聲明:本文由于自身的局限性,可能有些內(nèi)容不夠準(zhǔn)確,還望大家多多指正,期待深入探討。 2018 年我第一次接觸刷機(jī),初出茅廬的我為我的小米平板 1 刷上了系統(tǒng) Lineage OS 15.1,并寫(xiě)下了 使用 Mac 為小米平板刷 lineage OS。彼時(shí)自己對(duì)于刷機(jī)這個(gè)過(guò)程頗為生疏,只是小心翼翼的按照教程一步一步操作,生怕有一絲一毫不一致的地方,而其背后每一步驟的原因卻無(wú)從得知,故有意撰此文。一方面讓準(zhǔn)備刷機(jī)的人多一個(gè)教程可以參考,另一方面藉此機(jī)會(huì)充實(shí)自己,了解一些 Android 開(kāi)發(fā)知識(shí),也算是滿(mǎn)足自己的好奇心罷。 出于知識(shí)內(nèi)容所限,本文僅討論線刷模式,不討論卡刷模式。 配置 Android SDK 的環(huán)境變量SDK 的全稱(chēng)叫做軟件開(kāi)發(fā)工具包 (Software Development Kit) ,Android SDK 里面包含安卓軟件的開(kāi)發(fā)工具,這些開(kāi)發(fā)工具均在 SDK 的安裝目錄下,擁有它們我們才能對(duì) Android 中的軟件進(jìn)行安裝、卸載等相關(guān)操作。當(dāng)我們?cè)诮K端輸入指令要求啟動(dòng)某個(gè)工具或應(yīng)用程序時(shí),系統(tǒng)會(huì)優(yōu)先在當(dāng)下的目錄中進(jìn)行查找,如果沒(méi)有則會(huì)在系統(tǒng) Path 指定的路徑下進(jìn)行查找;而我們配置環(huán)境變量的這個(gè)過(guò)程,就是把 SDK 的安裝目錄記錄在系統(tǒng) Path 的指定路徑中,讓我們?cè)诮K端能夠直接使用 SDK 中的開(kāi)發(fā)工具。該過(guò)程也叫做配置 ADB (Android Debug Bridge) 環(huán)境變量。 Mac 系統(tǒng)下的環(huán)境變量配置參見(jiàn):使用 Mac 為 Android 手機(jī)刷原生系統(tǒng) Windows 系統(tǒng)下的環(huán)境變量配置Windows 系統(tǒng)下由于其系統(tǒng)特點(diǎn),目前(我知道的)有三種方案,將在以下展開(kāi),三種方法均適用于 Windows 10 系統(tǒng),其他系統(tǒng)可能有些出入,讀者可部分參考。 方案一:配置環(huán)境變量 參見(jiàn):win10 如何配置 Android 開(kāi)發(fā)環(huán)境變量 該方案和 Mac 系統(tǒng)下環(huán)境變量配置的原理一致,都是對(duì)系統(tǒng)進(jìn)行操作。雖看起來(lái)步驟多,好處就在于一勞永逸,一次配置「終身」受用,除非你重裝了系統(tǒng),個(gè)人優(yōu)先推薦該方法。 方案二:快速安裝與使用 ADB 1 將 platform-tools 數(shù)據(jù)包解壓,進(jìn)入解壓后的文件夾,按住 Shift 鍵的同時(shí)在空白處單擊鼠標(biāo)右鍵,選擇「在此處打開(kāi)命令窗口」(在 Win 10 創(chuàng)意者更新中被改為「在此處打開(kāi)Powershell窗口」);2 輸入 adb version 檢測(cè)環(huán)境變量配置是否完成;這個(gè)方案相當(dāng)偷懶,其實(shí)這個(gè)步驟并沒(méi)有實(shí)現(xiàn)系統(tǒng)的環(huán)境變量配置,只是提供了一個(gè)臨時(shí)的環(huán)境,但是無(wú)論如何這個(gè)方法是最方便的,而且對(duì)于新手而言非常友好。 方案三:直接訪問(wèn) SDK 目錄 1 將 platform-tools 放在一個(gè)接近硬盤(pán)根目錄如 C:adb 這樣的地方便于訪問(wèn),這時(shí)我們需要訪問(wèn)的目錄為 C:adbplatform-tools;2 在運(yùn)行命令窗口中輸入 cmd 打開(kāi)命令符窗口,并按下回車(chē)執(zhí)行;3 輸入 cd adbplatform-tools ,并按下回車(chē)執(zhí)行,進(jìn)入目錄;4 輸入 adb version 檢測(cè)環(huán)境變量配置是否完成。該方案和方案一比較像,都是偏向于臨時(shí)解決環(huán)境配置問(wèn)題,但是都沒(méi)有實(shí)現(xiàn)系統(tǒng)的環(huán)境變量配置,因此每次使用時(shí)都要重新訪問(wèn)一次 SDK 的所在目錄。 該方案看似簡(jiǎn)單、容易操作,但弊端明顯,只有你在進(jìn)入該目錄的情況下,才符合「環(huán)境變量已配置」的條件,不建議沒(méi)有代碼基礎(chǔ)的人操作。 解鎖 Bootloader一般而言,每個(gè) Android 設(shè)備都會(huì)有 Fastboot / Bootloader 模式,它是負(fù)責(zé)引導(dǎo)操作系統(tǒng)內(nèi)核啟動(dòng)的引導(dǎo)程序,只有在該模式是無(wú)鎖的情況下,我們才能自由的 root 我們的設(shè)備、自定義或安裝一個(gè)更加好用的第三方 ROM 固件,否則很容易損傷設(shè)備。與封閉的 iOS 系統(tǒng)不同, Android 系統(tǒng)是開(kāi)源的,因而相應(yīng)的各大廠商所開(kāi)發(fā)的 Fastboot / Bootloader 模式也各有不同。盡管系統(tǒng)是開(kāi)源的,但是各廠商為了對(duì)自己的設(shè)備有著更多的支配權(quán),多數(shù)情況下都會(huì)對(duì)其 Fastboot / Bootloader 模式上鎖。這就是為什么我們?cè)谒C(jī)教程里經(jīng)??吹?「Bootloader 解鎖」這一步了。 Bootloader 解鎖通用步驟
注意事項(xiàng)
刷入第三方 Recovery設(shè)備一般都會(huì)自帶一個(gè)官方初始的一個(gè) Recovery ,其作用主要用于恢復(fù)出廠設(shè)置與OTA安裝/升級(jí),但是由于官方 Recovery 不能識(shí)別第三方 ROM ,而第三方 Recovery 卻可以,所以我們一般在刷機(jī)之前都會(huì)先刷入第三方 Recovery 。目前比較推薦的第三方 Recovery 是 TWRP,該項(xiàng)目是一個(gè)社區(qū)開(kāi)源項(xiàng)目,掛載在 GitHub 上。也許你會(huì)發(fā)現(xiàn)之前也有人推薦過(guò) CWM ,很遺憾的是,該項(xiàng)目已于2014年停止了維護(hù),如果你用的設(shè)備型號(hào)比較老的話,可能會(huì)用到它。 刷入第三方 Recovery 的通用步驟
注意事項(xiàng)該過(guò)程中需要定向 Recovery 的位置,故而如果你在 Windows 系統(tǒng)下的環(huán)境變量配置時(shí)用的是方案三,在這里會(huì)比較麻煩,解決方法是把你的第三方 Recovery 文件放在 platform-tools 目錄下,讓兩個(gè)目錄一致。 類(lèi)原生 Android 系統(tǒng) ROM 推薦Lineage OSLineage OS 是 Android 的最大售后市場(chǎng)分銷(xiāo),以前稱(chēng)為 CyanogenMod。2016年開(kāi)源項(xiàng)目 CyanogenMod 被宣布停止,被復(fù)刻為 Lineage OS ,由原團(tuán)隊(duì) CyanogenMod 繼續(xù)開(kāi)發(fā),源代碼于 GitHub 可用。 Resurrection Remix OSResurrection Remix OS 基于 LineageOS 15.1,包含大量附加功能和定制選項(xiàng)。因?yàn)樗峁┝嗽S多功能,所以成為了 Android 設(shè)備最受歡迎的自定義ROM,源代碼于 GitHub 可用. crDroidcrDroid 基于 Lineage OS,在此基礎(chǔ)上附加其他性能調(diào)整和額外功能,源代碼于 GitHub 可用。 crDroid Pixel ExperiencePixel Experience 基于 Android 開(kāi)源項(xiàng)目 (AOSP) 與 Code Aurora 項(xiàng)目(CAF)開(kāi)發(fā),由于 Pixel Experience 中包含谷歌全家桶,故而相比與其他 ROM 包來(lái)說(shuō)要大些,源代碼于 GitHub 中可用。 Paranoid AndroidParanoid Android 的制作團(tuán)隊(duì)就是 Oxygen OS 的制作團(tuán)隊(duì),該制作團(tuán)隊(duì)的核心成員被 Oneplus 聘請(qǐng),為 Oneplus 做 ROM 開(kāi)發(fā),源代碼于 GitHub 中可用。 AOSPEXTENDED ROMAOSPEXTENDED ROM 基于 Android 開(kāi)源項(xiàng)目 (AOSP) 開(kāi)發(fā),它提供了各種自定義特性和底層主題引擎,源代碼于 GitHub 中可用。 Resurrection Remix OS XOSPXOSP 是基于 CyanogenMod 13 的 ROM ,混合了很多 Xperia 的特性,帶來(lái)不一樣的感受。因?yàn)槭?Xperia + AOSP 的混合體,因此命名為XOSP。 魔趣 ROM魔趣 ROM 基于 Android 開(kāi)源項(xiàng)目 (AOSP) 開(kāi)發(fā),Slogan 是「可能是中國(guó)最好的安卓開(kāi)源系統(tǒng)」,源代碼于 GitHub 可用。 總結(jié)這些是我這些天各種查資料總結(jié)到的,由于個(gè)人能力與知識(shí)水平所限,會(huì)存在一些不足之處。如前輩們發(fā)現(xiàn)文中有錯(cuò)漏的問(wèn)題,誠(chéng)求各位不吝賜教。 附錄常用 ADB 命令常用 Fastboot 命令 |