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