隨著 Pixel 4 XL Factory Image 的釋出,在 Magisk 20.0 已經支援 Android 10 的情況下,要取得 root 權限相當便捷,以下紀錄在 Windows 10 作業系統環境下包含解鎖、取得 root 權限等操作流程。
本文記錄步驟為個人經驗分享,僅提供參考,操作前請先行備份重要資料,如果因為更新韌體造成手機無法正常運作或使用者資料遺失,不負擔相關責任
刷機前置作業
建立 SDK Platform Tools 作業環境
從 Android 開發者網頁下載最新版本 SDK Platform Tools for Windows 後,將檔案解壓縮至 C:\platform-tools
啟用開發人員選項 (USB 偵錯/OEM 解鎖)
- 於開機後,進入 「設定」 / 「系統」 / 「關於手機」 的畫面後,將畫面滑至最底,連續點擊 「版本號碼」 七次後啟用開發人員選項
- 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「OEM 解鎖」,點擊 「允許解除鎖定開機載入器」 描述文字位置,允許 OEM 解鎖
- 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「USB 偵錯」 並啟用
- 這時透過 USB 線材連接電腦與手機,此時手機會跳出 「電腦的 RSA 金鑰」,勾選 「一律允許透過這台電腦進行」 後按下 「確定」
驗證 ADB/Bootloader Interface 驅動狀態
- 確認手機已經啟用 「USB 偵錯」 並與電腦連接後,開啟命令提示字元,輸入 cd C:\platform-tools
- 輸入 adb devices 確認 Pixel 4 XL 已透過 ADB Interface 與電腦連接並正確偵測
- 手機會在輸入 adb reboot bootloader 後切換至 fastboot mode
- 輸入 fastboot devices 確認 Pixel 4 XL 已透過 Bootloader Interface 與電腦連接並正確偵測
- 如果 device 顯示 unauthorized,代表並未允許目前連接電腦所使用的 RSA 金鑰,請確認在 「USB 偵錯」 啟用的情況下,重新連接手機與電腦並同意授權
- 如果 ADB/Bootloader Interface 並未正常驅動,在裝置管理員也顯示驚嘆號,請參考 「如何正確安裝 Google 通用驅動程式」 一文
手機解鎖流程 (Unlock)
包含更新 Kernel、Rom、Recovery 等操作,必須是要在手機已經解鎖的情況下,以下為 Pixel 4 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 權限取得流程
由於作業系統架構異動過大,TWRP 短時間並無法支援 Android 10,原生就搭載 Android 10 的 Pixel 4 系列手機,目前只能透過 Magisk 來修改 boot.img,再刷回手機來取得 root 權限,以下為操作流程說明。
取得原廠韌體 boot.img
- 依據目前手機使用韌體版本,從官網 “coral” for Pixel 4 XL 下載相對應 Factory Image : 10.0.0 (QD1A.190821.007, Oct 2019)
- 將 coral-qd1a.190821.007-factory-e915f51a.zip 解壓縮,並找到 image-coral-qd1a.190821.007.zip
- 將 image-coral-qd1a.190821.007.zip 解壓縮後,將 boot.img 複製到手機儲存媒體 /sdcard/Download
製作 magisk_patched.img
連上 Magisk 在 Github 上專案下載頁面,下載最新版的 Magisk Manager 並安裝
首次執行 Magisk Manager 的時候,會看到顯示「未安裝 Magisk」紅字,這時點擊安裝最新版本 Magisk
模式選取「選擇並修改檔案」,選取提取好並上傳到手機中的原廠韌體 boot.img
這時 Magisk Manager 會自動下載最新版本 Magisk,並自動重新封裝 boot.img,完成後會在下載項目中看到 magisk_patched.img
置換手機 boot.img
- 重複 「驗證 ADB Interface 驅動狀態」 流程
- 輸入 adb pull /sdcard/Download/magisk_patched.img 將重新封裝的 boot.img 下載至 C:\platform-tools
- 將手機切換到 fastboot 模式,並 「驗證 Bootloader Interface 驅動狀態」
- 輸入 fastboot flash boot magisk_patched.img 覆蓋 Active Partition 的 boot.img
- 將手機重新開機
手機權限驗證
重開機後,可以看到 Magisk 已經完成安裝,同時也可通過 SafetyNet 檢查並具備 root 權限
如何刷回原廠韌體或手動 OTA 韌體版本
- 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
- 輸入 flash-all 後自動開始將原廠韌體刷回手機並自動於完成後重新開機
- 下載回來的官方韌體所解壓縮路徑,請確認和 fastboot 在同一個資料夾下方
- 如果刷回原廠韌體時,又想要保留 Internal Storage 內的資料的話,可以在 flash-all.bat 批次檔中找到 fastboot -w update 字串,將 -w 移除後存檔再執行 flash-all
- 由於 OTA 機制在解鎖後會失效,若要手動更新版本同時保留使用者設定/安裝軟體,亦可透過上述移除 -w 的方式來對手機進行升級