Android刷機的一般步驟


Android刷機的一般步驟

1. 事前准備


先想好為什么要刷機?想清楚了嗎?真的想清楚了嗎!好的,我們應該打開一堆網頁,一堆對應自己機型的刷機教程帖,還要做好重要數據備份,確保“不成功,也不能成仁”。那就開始吧:

確定設備解鎖狀態

  • Bootloader 界面:
$ fastboot oem get-bootinfo
	1. Bootloader Lock State : UNLOCKED => 表示已經解鎖,可以刷機
	2. Bootloader Lock State : LOCKED => 表示未解鎖,自行百度設備解鎖方法

一般需要在官網申請解鎖,並且需要等待 2~3 天的時間。

  • 在手機可用的情況下,進入開發者選項,查看如下:

數據備份

  • 建議使用 鈦備份:可對逐個應用以及系統數據(包括 WIFI 信息,系統設置,短信,聯系人,另外還有版本控制)進行備份,root 備份首選。
  • Adb 備份
  • TWRP 備份

配置電腦 Android 調試環境

打開一個終端,敲 adb 或者 fastboot,如果未顯示異常,則說明已經配置好。如下:

$ adb --version
Android Debug Bridge version 1.0.40
Version 9.0.0_r3
Installed as /usr/bin/adb

若沒有配置,安裝軟件包:pacman -S android-tools (Arch Linux ver.)
Windows 下載對應的工具包,解壓即可。不過需要配置一下路徑,或者直接把所有的文件都弄到解壓的文件夾下操作。

另說一下驅動,在 Linux 和 Mac OS 下,均不需要考慮驅動的問題。在 Windows 下,需要在網上找到相應設備的驅動,安裝好之后,才可以用 adb 進行刷機。這里一個顯式的標志是:

右鍵開始菜單 => 設備管理器 => ADB interface

如果有這個 ADB 設備,則說明設備驅動已經安裝好。

下載刷機包

這個就考驗個人搜索能力了。一般而言在各自機型的官方論壇上找:一加論壇,MIUI論壇都是不錯的選擇。

其次可以在 XDA 上找,這是個國外比較活躍的 Android 論壇,里面有很多大牛發各種第三方 Rom 包。一般熱門機型都可以在 XDA 上找到自己滿意的 Rom.

下載合適的 Recovery

推薦:TWRP. 專門做第三方 Rec 的團隊,首選!在這個網站上基本上可以下載到自己機型對應的 Rec.

2. 刷機


其實事前准備做得足夠好的話,刷機很簡單,而且風險非常低。

可以使用 MTP 協議事先將刷機包拷貝到手機存儲目錄 (一般是/storage/emulated/0/,在 Rec 下的目錄結構可能會發生改變/sdcard). 也可以在 Rec 下使用 adb 傳輸。但前提是你要有功能完備的 Rec. 一般官方的 Rec 非常簡陋,沒什么功能。所以我們首先得刷入第三方 Rec.

刷入第三方 Recovery

在確保手機與電腦正確(開啟USB調試)連接下,在命令行敲

$ adb devices
	xxxxxx device

會列出所有已連接的 Android 設備。在高版本的 Android 系統中應該會彈出一個對話框詢問是否允許電腦調試本機,點擊一律允許即可。

確保手機已經解鎖,開機狀態連接電腦。在命令行輸入

$ adb reboot bootloader

手機會重啟進入 bootloader,也就是 fastboot 模式。

確保執行目錄里面有之前下載的 twrp-xxx.img 文件,命令行輸入

$ fastboot flash recovery twrp-xxx.img

即完成第三方 Rec 的刷入。

Note: 此時也可以選擇 fastboot boot twrp-xxx.img 臨時從第三方 rec 啟動

進入第三方 Recovery

在命令行輸入

$ fastboot reboot

重啟手機,然后同時按住電源鍵 + 音量下鍵(有些手機不一樣,自行摸索) 進入 rec. 也可以等開機后輸入

$ adb reboot recovery

進入rec.

刷機

Twrp 的 rec 界面十分友好,可以設置語言時區等等。刷機之前先要清理(特別提醒:這里已經默認你做好備份了)。我們經常清理的有四個分區

system				    # 系統分區
data				    # 數據分區:應用數據(設置,帳號,習慣等)
cache/davik cache	            # 緩存分區:應用緩存,系統緩存
internal storage	            # 個人資料存儲:包含照片視頻音樂等所有個人資料

一般 internal storage 是不會動的,把其他三個分區清掉。

然后安裝刷機包,找到事先放好的刷機包位置,刷入,重啟!

Note: 或者事先沒有拷貝的話,確保命令執行目錄中有你的刷機包,使用
adb push aex-xxx-rom.zip /sdcard
即可將刷機包拷貝至手機存儲目錄。

+++++++++++++++++++++++++++++++++++++++++++++++++
再或者,使用 ADB sideload 功能邊傳文件邊刷。具體操作在 rec 中:高級 => ADB sideload
然后再命令行輸入
adb sideload aex-xxx-rom.zip
即可開始刷機

完了!一般重啟需要一些時間,請耐心等待一下。

補丁(root包, gapps包)

  • Root:推薦 Supersu 或者 Magisk
  • Gapps:推薦 Opengapps. Google 大法好,不帶 Google 框架的安卓不是 Android!
  • Custom kernel

Note: 注意刷包步驟:先 rom 包,后補丁包。不過還是建議刷完 rom 重啟一次,再進 rec 刷補丁包比較穩妥。

3. Troubleshooting


adbfastboot 報錯:insufficient permission / permission denied

請按照 https://developer.android.com/studio/run/device 提示操作,唯一需要注意的是USB供應商ID. 可以用 lsusb 來判斷。

連接手機之前:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp. 
Bus 001 Device 003: ID 04f3:0c1a Elan Microelectronics Corp. 
Bus 001 Device 002: ID 04f2:b5a3 Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

連接手機之后:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp. 
Bus 001 Device 003: ID 04f3:0c1a Elan Microelectronics Corp. 
Bus 001 Device 002: ID 04f2:b5a3 Chicony Electronics Co., Ltd 
Bus 001 Device 041: ID 2717:ff48  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

這樣就可以判斷該設備的供應商 ID 為 2717.

然后重啟 udev 服務: udevadm control --reload(Arch Linux ver.)

拔掉手機線重新插入,再用 adb devices 列舉一遍,就應該可以了。

Note: 另外可以嘗試使用 root 權限執行命令: sudo adbsudo fastboot

Reference


  1. 在硬件設備上運行應用
  2. fastboot and adb not working with sudo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM