台灣名列 Google Pixel 3 首發國清單的消息釋出,應該讓不少愛好者振奮不已,不再需要透過代購或者請友人攜帶回國,在 Google Store 開放預購的第一時間就下定 Google Pixel 3 XL 純粹黑,文章撰寫的同時,應該也不少人收到從香港寄過來的 DHL 包裹,以下主要紀錄這段期間在 Windows 10 作業系統環境下包含解鎖、取得 root 權限、刷回原廠韌體等操作流程。
- 本文記錄步驟為個人經驗分享,僅提供參考,操作前請先行備份重要資料,如果因為更新韌體造成手機無法正常運作或使用者資料遺失,不負擔相關責任
- Pixel 4 系列手機刷機方式與 Pixel 3 系列大同小異,詳細流程可參閱「[教學] Pixel 4 XL 手動刷機操作流程 – Unlock, Root, Relock」一文
前置作業
軟韌體下載
- 軟體名稱 : SDK Platform Tools 28.0.1 (September 2018)
- 下載網頁 : https://developer.android.com/studio/releases/platform-tools
- 軟體名稱 : Factory Images for Pixel 3 XL 9.0.0 (PQ2A.190205.001, Feb 2019)
- 下載網頁 : https://developers.google.com/android/images
- 軟體名稱 : TWRP for Google Pixel 3 XL (crosshatch) 3.2.3-3 (2018-12-10)
- 下載網頁 : https://dl.twrp.me/crosshatch/
為了方便流程操作說明與檔案路徑參照,包含 SDK Platform Tools、Pixel 3 XL Factory Images、TWRP for Google Pixel 3 XL 及後續操作產生的檔案皆會放在 C:\platform-tools 資料夾中,上圖為資料夾中檔案示意圖,其中選取檔案為 Pixel 3 XL Factory Images 解壓縮後產生。
- 補充說明,Factory Images 請務必對照目前使用手機的實際版本編號下載,例如所需要的取得 root 權限所需的 boot.img 並非通用檔案
啟用開發人員選項 (USB 偵錯/OEM 解鎖)
- 於開機後,進入 「設定」 / 「系統」 / 「關於手機」 的畫面後,將畫面滑至最底,連續點擊 「版本號碼」 七次後啟用開發人員選項
- 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「USB 偵錯」 並啟用
- 這時透過 USB 線材連接電腦與手機,此時手機會跳出 「電腦的 RSA 金鑰」,勾選 「一律允許透過這台電腦進行」 後按下 「確定」
- 回到 「開發人員選項」,找到 「OEM 解鎖」,點擊 「允許解除鎖定開機載入器」 描述文字位置,允許 OEM 解鎖
驗證 ADB/Bootloader Interface 驅動狀態
- 確認手機已經啟用 「USB 偵錯」 並與電腦連接後,開啟命令提示字元,輸入 cd C:\platform-tools
- 輸入 adb devices 確認 Pixel 3 XL 已透過 ADB Interface 與電腦連接並正確偵測
- 手機會在輸入 adb reboot bootloader 後切換至 fastboot mode
- 輸入 fastboot devices 確認 Pixel 3 XL 已透過 Bootloader Interface 與電腦連接並正確偵測
- 如果 device 顯示 unauthorized,代表並未允許目前連接電腦所使用的 RSA 金鑰,請確認在 「USB 偵錯」 啟用的情況下,重新連接手機與電腦並加已授權
- 如果 ADB/Bootloader Interface 並未正常驅動,在裝置管理員也顯示驚嘆號,請參考 「如何正確安裝 Google 通用驅動程式」 一文
手機解鎖流程 (Unlock)
要更新手機韌體,包含 Kernel、Rom、Recovery 等操作,必須是要在手機已經解鎖的情況下,以下為 Pixel 3 XL 在 fastboot 模式下的操作流程:
- 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
- 輸入 fastboot flashing unlock 進行手機解鎖操作
- 當命令提示字元跳出 Finished. 同時,手機畫面右上角會跳出 「Do not unlock the bootloader」,此時用音量上下鍵切換至 「Unlock the bootloader」 後按下電源鍵
- 當手機的 Device state 從綠色的 Locked 變為紅色 Unlocked,代表手機已經完成解鎖,此時回到命令提示字元輸入 fastboot reboot 將手機重開機
- 解鎖會重置手機,操作前請務必先行備份個人重要資料
root 權限取得流程
目前 Pixel 3 XL 可以透過 Magisk Systemless 的方式來取得 root 權限,下面操作流程不需使用 TWRP Recovery 即可進行:
Ps. 下述操作流程僅適用於韌體版本為 Android 9,若是已經將韌體升版至 Android 10,請參考 [教學] Pixel 3 XL (Android 10) 該如何安裝 Magisk 一文
步驟一:取出官方 Boot Image
- 在將原廠韌體 crosshatch-pq1a.181105.017.a1-factory-6f06f1a0.zip 解壓縮後,可以找到 image-crosshatch-pq2a.190205.001.zip,將壓縮檔中的 boot.img 複製到手機儲存媒體 /sdcard/Download 中
步驟二:下載 Magisk 所需檔案
- 請先從 https://github.com/topjohnwu/Magisk/releases 下載最新版的 Magisk Manager,完成後進入手機檔案下載項目,點擊 MagiskManager-v7.0.0.apk 進行安裝
步驟三:製作內含 Magisk 的 boot.img
- 開啟 Magisk Manager 後,安裝方式選擇「補丁 Boot 映像文件檔」
- 選取先前上傳到手機中的官方 boot.img,就會開始重新封裝
- 完成後,會在手機的檔案下載項目中看到封裝好的 patched_boot.img
步驟四:置換手機 Boot Image
- 重複 「驗證 ADB Interface 驅動狀態」 流程
- 輸入 adb pull /sdcard/Download/magisk_patched.img 將重新封裝的 patched_boot.img 下載至 C:\platform-tools
- 將手機切換到 fastboot 模式,並 「驗證 Bootloader Interface 驅動狀態」
- 輸入 fastboot flash boot_a magisk_patched.img 覆蓋 Boot A 的 boot.img
- 輸入 fastboot flash boot_b magisk_patched.img 覆蓋 Boot B 的 boot.img
- 將手機重新開機
步驟五:驗證 Root 狀態
- 完成開機後打開 Magisk Manager,可看到 Magisk v17.4 已完成安裝,並可分別通過 SafetyNet 與 Root 檢查
如何刷回官方原廠韌體/OTA
- 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
- 輸入 flash-all 後自動開始將原廠韌體刷回手機並自動於完成後重新開機
- 下載回來的官方韌體所解壓縮路徑,請確認和 fastboot 在同一個資料夾下方
- 如果刷回原廠韌體時,又想要保留 Internal Storage 內的資料的話,可以在 flash-all.bat 批次檔中找到 fastboot -w update 字串,將 -w 移除後存檔再執行 flash-all
- 由於 OTA 機制在解鎖後會失效,若要手動更新版本同時保留使用者設定/安裝軟體,亦可透過上述移除 -w 的方式來對手機進行升級
如何使用 TWRP Recovery
TWRP 官方已於 2018/11/01 正式將 Pixel 3 XL 加入維護設備並釋出初版 3.2.3-0 Recovery Image,後續更新修正了不少包含觸控螢幕操作等問題,目前最新 3.2.3-3 算是可以穩定使用的版本,在手機上操作 TWRP 可透過將 img 載入手機記憶體中暫時運作,或者刷入官方 zip 檔取代原廠 Recovery,這個部分取決於個人使用習慣,使用方式分述如下。
- 如果手機有設定指紋辨識或者手勢,建議將其暫時解除
- 如要取代原廠 Recovery,請先從網站下載最新版本 TWRP ZIP 檔,並置於手機 /sdcard/Download 路徑下
於手機記憶中運作 TWRP
- 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
- 輸入 fastboot boot twrp-3.2.3-3-crosshatch.img 將 TWRP 上傳到手機記憶體中執行,這個部分會稍微久些,請耐心等待
- 此操作方式並未實際將 TWRP Recovery 刷入手機,離開時請按下「Do Not Install」
取代原廠 Recovery
- 延續上述動作,按下「Install」 ,選擇要刷入的 TWRP ZIP
- 滑動橫條,就會開始刷入TWRP,並同時取代 slot A/B 的原廠 Recovery
如何將手機重新上鎖
- 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
- 輸入 fastboot flashing lock 進行手機解鎖操作
- 當命令提示字元跳出 Finished. 同時,手機畫面右上角會跳出 「Do not lock the bootloader」,此時用音量上下鍵切換至 「Lock the bootloader」 後按下電源鍵
- 當手機的 Device state 從紅色的 Unlocked 變為綠色的 Locked,代表手機已經重新上鎖,此時回到命令提示字元輸入 fastboot reboot 將手機重開機
- 重新上鎖同樣會重置手機,操作前請務必先行備份個人重要資料
- 要將手機上鎖,請務必確認手機是在原廠韌體的狀態下進行操作