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