給女王大人刷機,第一次刷機,很遺憾,遇到了三星的“鎖三鍵”問題,沒有搞成。記錄一下這個過程所涉獵的一些刷機基本知識,不妨當作一次學習過程。
1 刷機過程
Step1 查看手機基本信息
step1.1 手機: 設置>關於手機
品牌: Samsung Galaxy A6s
手機型號: SM-G6200
序列號(SN): xxxxxx
IMEI(卡槽1): yyyyyy1
IMEI(卡槽2): yyyyyy2
硬件版本: REV0.5
軟件信息:
Android版本: 8.1.0
基帶版本: G6200ZCU0ARK1
內核版本: 4.4.78-perf+ (gcc version 4.9.x 20150123(prerelease)(GCC)) cibuild@cibuild #1 Mon Nov 5 23:15:15 CST 2018
編譯編號: OPM1.171019.026.G6200ZCU0ARK1
Android安全補丁級別: 2018年10月1日
Step2 下載刷機包,安裝刷機所需軟件
Step3 刷機
Step3.1 手機進入開發者模式
,並開啟USB調試
功能
- 進入
開發者模式
手機: 設置>關於手機>軟件信息>(手指 連續點擊多次,即可開啟【開發者模式】)內部版本號

- 開啟
USB調試
功能
通過設置界面進入開發者選項界面
手機: 設置>開發者選項>(勾選)USB調試


2 刷機知識科普
2.1 工具篇
2.1.1 ADB
- 定義
Android Debug Bridge(安卓調試橋) tools.
它就是一個命令行窗口,用於通過電腦端與模擬器或者是設備之間的交互。
ADB是一個C/S架構的應用程序,由3部分組成:
+ 運行在pc端的【adb client】
命令行程序”adb”用於從shell或腳本中運行adb命令。
首先,“adb”程序嘗試定位主機上的ADB服務器。
如果找不到ADB服務器,“adb”程序自動啟動一個ADB服務器。
接下來,當設備的adbd和pc端的adb server建立連接后,adb client就可以向ADB servcer發送服務請求;
+ 運行在pc端的【adb server】
ADB Server是運行在主機上的一個后台進程。
它的作用在於檢測USB端口感知設備的連接和拔除,以及模擬器實例的啟動或停止。
ADB Server還需要將adb client的請求通過usb或者tcp的方式發送到對應的adbd上;
+ 運行在設備端的常駐進程【adb demon (adbd)】:
程序“adbd”作為一個后台進程在Android設備或模擬器系統中運行。
它的作用是連接ADB服務器,並且為運行在主機上的客戶端提供一些服務。
- 如何通過 adb進入 手機設備的 Recovery模式、刷機模式、安裝/卸載APK、...?
step1 開啟【開發者模式】,啟用【USB調試】
step2 【手機】連接【數據線】,數據線連接 【ADB工具】所在的【PC電腦】
step3 ADB 操作
例如: cmd: adb devices 查看手機設備是否成功連接到ADB?

- 安裝ADB
方法1: 最簡單的方法,只下載adb壓縮包去解壓即可.
鏈接:https://pan.baidu.com/s/1SKu24yyShwg16lyIupO5VA 提取碼:ih0i
方法2: 安裝 Android Studio IDE
其內自帶`ADB`工具。Studio的 SDK 管理器(File>Project Structure>SDK Location>Android SDK Location)會將其安裝在 android_sdk/platform-tools/

- 常用的ADB CMD 命令
更多命令,參見: adb下載安裝及使用 - CSDN
更多命令,參見: Android adb - CSDN
adb install + 包名
adb安裝apk (覆蓋安裝是使用 -r 選項)
adb uninstall + 包名
adb卸載apk
adb connect + 設備IP
網絡連接Android設備
adb reboot
重啟Android設備
adb reboot download
adb devices
獲取連接的設備列表及設備狀態
adb devices -l
獲取連接的設備列表詳細信息
adb get-state
獲取設備的狀態 (設備的狀態有 3 種,device:設備正常連接 , offline:連接出現異常,設備無響應 , unknown:沒有連接設備)
adb shell ps | findstr adbd
查看運行在 Android 設備上的 adb 后台進程

- adb shell
adb 命令是 adb 這個程序自帶的一些命令,而
adb shell
則是調用的 Android 系統中的命令,這些 Android 特有的命令都放在了 Android 設備的system/bin
目錄下
更多命令,參見: adb下載安裝及使用 - CSDN
更多命令,參見: Android adb - CSDN
cmd: adb shell dumpsys > D:\bugreport.log
打印dumpsys、dumpstate、logcat的輸出,並重定向到一個文件
【pm:Package Manager】可以獲取到一些安裝在 Android 設備上的應用信息
cmd: adb shell pm list package
列出所有的應用的包名 (-s:列出系統應用 -3:列出第三方應用 -f:列出應用包名及對應的apk名及存放位置 -i:列出應用包名及其安裝來源)
cmd: adb shell pm path + 包名
列出對應包名.apk 位置
cmd: adb shell pm install + apk存放路徑
安裝應用(目標apk 存放於PC端,用 adb install 安裝;目標apk 存放於Android設備上,用 pm install 安裝)
cmd: adb shell pm clear com.google.android.inputmethod.pinyin
清除應用數據
【am: Activity Manager】
cmd: adb shell am start + 包名/.Activity (要啟動的Activity)
啟動一個 Activity (-s先停止目標應用,再啟動 -w 等待應用完成啟動 -a 啟動默認瀏覽器打開一個網頁例:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com)
cmd: adb shell am startservice
啟動一個服務
cmd: adb shell am force-stop 包名
后跟對應的包名,結束應用
【input】
cmd: adb shell input text + 具體內容
發送文本內容,不能發送中文
cmd: adb shell input keyevent + 按鍵事件
發送按鍵事件
adb shell input keyevent KEYCODE_HOME
模擬按下Home鍵
cmd: adb shell input swipe 滑動事件
例如:從右往左滑動屏幕: adb shell input swipe 800 600 100 600
2.1.2 QPST: 高通(線刷)刷機工具
QPST
:= 高通QPST(線刷)刷機工具
:= Qualcomm Product Support Tool
:= 高通產品支工具
:= 一個針對高通芯片開發的傳輸軟件
2.1.3 Odin : 三星官方(線刷)刷機工具

2.1.3 KingRoot(獲取Root權限的工具)
2.2 方法篇
刷機的實現方式,總的分為:卡刷和線刷。
2.2.1 卡刷法 : zip安裝包(rom包)
- 定義
卡刷法
在SD card 中進行。
一般是在recovery模式里進行的。
- 卡刷法用的卡刷包是什么?
刷機包就兩種:不是卡刷包,就是線刷包。
卡刷包
即 rom 包,一般是一個 zip 壓縮文件,里面有 system 文件夾和其他一兩個文件夾。
卡刷包一般是指代ota格式的更新包,它需要擁有差分更新的能力(在某些場合,卡刷包只包含新舊文件的差別以節省空間。如果不使用這個特性,ota格式的包也可以接近成為完整的刷機包)。
因此,需要一個能操作單個文件的平台上才能執行,這個平台就是recovery。
刷機包的格式:卡刷包肯定是*.zip壓縮格式。
卡刷包:
卡刷包只有一個格式,那就是.zip,有些卡刷包的命名更加簡單粗暴,就叫做:update.zip;
線刷包:
而線刷包的格式有很多種,比如.tgz、.pac、.tar、.qsb等等(線刷寶可以解析以上種種格式)。
所以,如果您的刷機包不是.zip的格式,那么肯定是線刷包;
不過.zip的不一定是卡刷包,有些線刷包也會壓縮成這個格式。
刷機包的目錄:
卡刷包:
打開卡刷包后里面肯定會有 system 和 META-INF 文件夾
一般來說,卡刷包體積較小,解壓縮之后,里面的文件也較少,而且主要文件都在system的文件夾中。
線刷包:
而線刷包解壓縮后,文件較多,而且有很多的img文件
注意: 真正刷機的時候不需要解壓縮。卡刷法:直接將.zip的文件放到內存卡,線刷直接使用刷機工具解析即可!
2.2.2 線刷法 : 非zip安裝包(系統底包)
- 定義
線刷法
依賴於: 數據線、PC電腦、線刷的PC端刷機工具(Odin、QPST、MiFlash等)
線刷是指使用USB線連接個人計算機,並在個人計算機上使用刷機軟件進行刷機的行為;
而卡刷則是把固件或者升級包拷貝到手機SD卡中進行刷機升級操作;
一般在刷機模式下進行
線刷更徹底,一般重大的版本還是線刷更好一點。
線刷包一般包含各個分區文件,相當於從底層把整個手機刷機,卡刷包一般只包含system和boot(當然也有特例,像oppo)。
有些線刷包也可以做成卡刷,像htc的ruu可以提取做成卡刷包,用fastboot刷機。
並不是說線刷包就能救磚,這句話太絕對,太籠統了,有些機器線刷包也不一定能救,真正的黑磚,htc的,官方線刷包不一定能救活。
- 卡刷法與線刷法的區別
可靠性/是否需要與電腦交互/失敗率:
通常認為卡刷更加可靠,因為它不會和電腦交互。
失敗的幾率比線刷低。因為線刷的時候,電腦,連接線出問題都可能影響到結果。
而卡刷只要手機和存儲卡不出問題,通常都不會出現失敗的情況。當然仁者見仁智者見智,大家最終的目的還是為了手機刷機成功達到理想的體驗效果!
刷機的徹底性:
線刷更勝一籌。
- 卡刷包與線刷包 能相互轉換/替換着使用嗎?
這個問題我的回答是不行,雖然也有聽說過有某些可以轉換着用,但一般不建議。
一是麻煩,二是容易出現錯誤。
一般建議直接使用對應類型的刷機包進行操作,這樣可以避免不必要的錯誤。
- 線刷法的線刷包是什么?
線刷包
即 系統底包,一般是 tg 壓縮文件,里面是一大堆 img 文件,某些底包里也有文件夾。
線刷包一般是分區鏡像,一般需要在下載模式,直接訪問閃存。這個狀態下閃存上的內容都可以改動,甚至包括軟件層的bootloader,比方說android的通用下載模式fastboot。
1)高通QPST(9008模式)線刷法
理論上,高通處理器都可以用這個方法
- 前提條件
- 能找到要被刷手機型號的QPST專用刷機包
(如果找不到,就沒法)- 確認手機能進9008端口
- 使用的工具
QPST
QFIL


- 原理
高通QPST線刷法,其實就是利用高通芯片自帶的9008端口,將手機系統內的所有分區的鏡像文件,直接刷寫手機。
這個刷機方式比REC卡刷、fastboot線刷,更底層、高效、強大。
這種方式,不需要進入手機的任何分區,就可以直接刷寫手機固件。
與其它方法比較:
REC卡刷法: 必須要手機能進入recovery模式,並且要是第三方rec才能隨意刷zip卡刷包。
Fastboot線刷法:要求手機能夠進入fastboot模式,而且沒有鎖定bootloader;否則,也無法刷入各種刷機包和分區鏡像文件。
而高通線刷可以刷寫包括fastboot所在的bootloader分區、boot啟動分區、recovery恢復分區在內的所有分區。
甚至,可以改寫手機分區表。就算手機開不了機了,一樣可以刷入,只要9008端口能連接就可以刷。
這就是高通線刷既可以刷入系統,又可以救磚的原理。
從理論上講,高通平台的手機在硬件不出問題的情況下是刷不死的(手動滑稽)。
- 刷機教程
參見此文: 高通9008刷機 - CSDN
2.3 補充篇
2.3.1 三星刷機模式 := 挖煤模式 != Recovery模式

- 定義
三星手機刷機時需要進入獨有的【挖煤模式】,通過 三星的官方刷機工具
Odin
進行刷機;
【挖煤模式】
就是三星的系統升級模式、刷機模式。
名稱的來源:
以前三星老的安卓刷機界面上是個安卓機器人在挖煤(也有說是挖墳),所以才叫【挖煤模式】
早期三星手機Galaxy S(I9000)時代,刷機模式進入后會看到一個黃色三角形,內部有一個Android機器人挖煤的圖標,該模式下能夠連接電腦,使用ODIN工具進行刷機,我們叫該模式為【刷機模式】。
如今,三星已經將刷機模式的圖標改變成綠色Android機器人,但是還是有以往的老用戶一直稱之為【挖煤模式】。
線刷的前提: 進入挖煤模式
用三星官方刷機工具Odin工具進行【線刷】時,必須進入此模式才能刷機。
卡刷:可不需進入挖煤模式
卡刷的前提是需要刷入第三方recovery,而刷recovery又必須用Odin工具線刷
但有些手機出廠時被【鎖三鍵】、有些手機實體鍵損壞,無法同時按住三鍵進入“挖煤”模式。
【解決方法(不用按鍵也可進入“挖煤”?)】通過 ADB 工具 進入 挖煤模式
fastboot模式 、挖煤模式:
都是刷機模式,也就是通過電腦線刷,如SONY、聯想刷機用fastboot,而MOTO和三星都有專門的刷機軟件。
挖煤模式是特指三星的刷機模式。
因為:三星手機進入刷機模式后有一個機器人在挖煤,所以三星的刷機模式又叫挖煤模式。
進入方式也因品牌不同而不同,三星在關機狀態下同時按住音量下+HOME+電源鍵進入。
- 如何進入 挖煤模式?
[方法1: by 按鍵法]
音量下鍵 + Home鍵 + 電源鍵
[方式2: by adb 工具]
step1 打開手機USB調試,並用USB數據線連接電腦
step2 打開adb工具
step3 cmd: adb devices
回車,查看手機是否成功連接
step4 cmd: adb reboot download

回車后就手機就重啟進入“挖煤”模式了,圖上界面是較新的“挖煤”界面了,以前老的界面上是個機器人在挖煤(也有說是挖墳),所以才叫“挖煤”模式
2.3.2 Recovery模式

- 定義
Recovery模式:
恢復模式,可進行卡刷、清除數據等功能;
進入方式各個品牌的手機不同。
三星品牌Recovery模式下刷機:在關機狀態下,同時按住音量上+HOME+電源鍵進入,有的手機沒有Recovery模式,如SONY
- 界面選項說明
reboot system now 立即重啟系統
wipe data/factory reset 清空data分區所有數據並恢復出廠設置
wipe cache partition 清空cache分區所有緩存
apply update from ADB 從ADB進行更新。
ADB: ADB驅動是Android設備(如手機)連接PC時所需的應用程序。
apply update from cache指從手機內存中的升級包升級
apply update from internal storage 從內部閃內存更新(手機內存卡 上還原,你可將原備份好的系統鏡像放在內存卡上)
apply update from internal sdcard 從外置SD卡更新(手機外置SD卡上還原,你可將原備份好的系統鏡像放在SD卡上)
apply updata from sdcard 刷機包來自內存卡
apply update from external storage 從外部的存儲應用中進行更新
apply update from external sdcard 從外部SD卡應用更新
install zip from sdcard 從SDcard選擇文件更新系統
apply sdcard:update.zip 使用SD卡根目錄的update.zip更新系統
choose zip from sdcard 從SD卡選擇zip格式升級包
apply update from otg udisk 適用於從OTG U盤更新
toggle signature verification 切換簽名驗證
toggle script asserts 切換升級腳本檢查
backup user data:備份用戶數據
restore user data:恢復用戶數
--Backup 備份
--Restore 恢復
--Advanced Restore 高級恢復
--mounts and storage 掛載和存儲
--mount /system 掛載/system分區(系統分區)
--mount /data 掛載/data分區(數據分區)
--mount /cache 掛載/cache分區(緩存分區)
--mount /sd-ext 掛載/sd-ext分區(A2SD分區)
--format boot 格式化內核分區
--format system 格式化系統分區
--format data 格式化數據分區
--format cache 格式化緩存分區
--format sdcard 格式化存儲卡
--format sd-ext 格式化內存卡SD
--mount USB storage 掛載SD卡為U盤模式
--advanced 高級
--Reboot Recovery 重啟Recovery
--Wipe Dalvik Cache 清空Dalvik緩存
--Wipe Battery Stats 清空電池狀態
--Report Error 報告錯誤
--Key Test 鍵位測試
--Partition SD Card 對SD卡分區
--Fix Permissions 修復權限
手機即進入 Recovery 模式后,一般都是先進行雙wipe,然后選擇上述合適的選項進行刷機。
- 如何進入 Recovery 模式?
[方法1: 按鍵法]
Samsung Galaxy A6s (SM-G6200):
手機關機;
音量+鍵、電源鍵,二鍵齊按
[方法2: by adb 工具]
step1 打開手機USB調試,並用USB數據線連接電腦
step2 打開adb工具
step3 cmd: adb devices
回車,查看手機是否成功連接
step4 cmd: adb reboot recovery

三星鎖三鍵問題
鎖三鍵:
就是指不能通過"電源鍵+HOME鍵+音量鍵下"的三鍵組合進入刷機模式(挖煤模式);
是三星為了避免用戶自行刷非官方ROM而在某批次后取消這個功能的。
避免用戶自行刷機,導致刷錯版本,或者刷機失敗造成開不了機。
怎么解鎖三鍵
如何【辨別】購買的手機是否【鎖三鍵】呢?
關機狀態同時按音量下+主頁健+電源三個按鍵,如果無法進入刷機模式界面(即 三星 挖煤模式),那就是【鎖三鍵】的機器。
X 參考文獻
- 怎么永久刪除手機惡意app discoverbd? - Zhihu/陽光
- 安卓手機系統怎樣打開USB調試模式? - Baidu
- 挖煤模式是什么意思?三星手機挖煤模式介紹 - 下載之家
- 三星手機進入挖煤模式方法小結(變磚用) - CSDN
- recovery模式fastboot模式和挖煤模式各有什么不同怎么進 - 百度經驗
- 三星Galaxy A6s (SM-G6200)官方卡刷/線刷教程 - 三星刷機網 【推薦】
- 國行三星 Galaxy A6s G6200ZCU0ARK1 8.1.0 官方刷機包[Fastboot / 高通9008] - ROM中國 【推薦】
- 三星A6s系統升級刷機包(最新原廠線刷固件下載G6200ZCU0ARJ7_8.1.0) - 迷你手機網
- 三星SM-G6200高通9008線刷包下載:G6200ZCU0ARJ7 - VipRom
- 三星刷機基本操作 by Odin - Zhihu
- 三星刷機教程線刷教程(三星手機通用教程) by Odin - 百度經驗 【推薦】
- 安卓的卡刷包和線刷包有何區別?線刷包可以卡刷麽? - Zhihu
- 怎么判斷下載的刷機包是卡刷包還是線刷包? - 線刷包
- 三星A6s通過高通9008模式驅動成功刷機 - 百度貼吧 【推薦】
- 高通QPST(9008模式)線刷刷機大法,避坑指南,救磚前提 - CSDN
- 高通QPST(9008模式)線刷教程 - CSDN
- Win10電腦,QPST驅動安裝失敗的原因以及解決方法 - CSDN
- 三星手機如何獲取ROOT權限 - Baidu
- 三星手機如何root(By KingRoot) - Baidu
- 三星root權限獲取方法 - IT百科
- adb下載安裝及使用 - CSDN 【推薦】
- 開啟andriod手機的adbd,進行無線adb調試 - CSDN 【推薦】
- 解決:adb 提示adb server version(31) doesn't match this client(41) 解決辦法 - CSDN 【推薦】
- Android adb - CSDN
- Android studio安裝與配置 - 博客園
- Download Android Studio - Google
- 三星S5鎖三鍵的問題 - 卡飯網