一、為什麼要獲取Root許可權呢
目前手機一般都不開放Root(超級管理員)許可權,主要是基於安全等考慮,擔心一些非法手機App獲取Root許可權後,對手機肆意操作,損害使用者利益。Android手機是基於Linux系統的,獲取Root許可權,就是獲取Linux root使用者的許可權。那麼,一般哪些使用者會想要獲取Root許可權呢:
1.軟體開發者
軟體開發者在開發手機App過程中,會要求檢視或修改手機的一些關鍵資訊,如訪問“/dev”、“/system/bin”目錄等,這樣就要求獲取Root許可權,不過他們一般都有專用的開發手機,是自動有Root許可權的。
2.手機控
另有一些手機控,希望能對手機進行更好的控制,比如刪除一些手機系統自帶的應用、安裝的一些應用不定時啟動佔記憶體及耗電、更換系統字型/背景、更換啟動Logo、將手機刷一個更好用的ROM等,若想對安裝的應用進行控制,減少系統佔用,需要安裝“冰箱”等App(需要root許可權),將應用進行凍結,使用時可開啟,使用完成後就自動凍結,不會總彈出訊息或在後臺啟動。
注:獲取root許可權技術性還是比較強的,不建議一般使用者進行操作,若需要獲取root許可權,建議找專業人士解決哈。
二、流程
獲取解鎖碼(從手機官方申請解鎖碼或從淘寶花錢獲取,華為手機為16位數字)
↓
手機解鎖(透過fastboot命令或工具軟體,解鎖後root啟動區、recovery區、system系統區即可進行更新)
↓
刷入Root檔案(透過fastboot命令或工具軟體,使手機Linux支援root命令)
↓
手機安裝Root應用程式(Superuser.apk,使手機開放root許可權)
↓
安裝其它需要Root的應用(如“冰箱.apk”)
上述流程是適合專業人士操作,一般使用者不建議按上述操作,若要嘗試,建議手機下載一鍵Root應用(如:百度一鍵root/ROOT大師/KingRoot Pro/一鍵Root精靈),執行應用,直接一鍵獲取Root許可權,簡單可靠,若一個應用不行,可以多試幾個應用,若還無法獲取Root許可權,找專業人士解決哈。
三、常見概念解釋
手機檔案儲存結構
手機 電腦
+--------------------------------+
| bootloader引導區 | BIOS
+--------------------------------+---> fastboot線刷模式
| boot啟動區 | recovery恢復區 | MBR硬碟引導區
+-------------+------------------+---> recovery恢復介面
| system系統區 | 系統檔案(Windows, Program Files等目錄)
+--------------------------------+---> 手機介面(如EMUI) Windows介面
手機啟動過程
手機開機,bootloader引導區程式程式碼執行,對硬體進行必要的初始化和檢測錯誤,若啟動時沒有引數則正常啟動,載入boot啟動區程式程式碼執行,再載入system系統區程式程式碼執行,顯示手機圖形介面,即可正常使用(一般各個手機廠商有自己的定製介面,如小米MIUI、華為EMUI)。
若啟動時有相應的引數,則進入fastboot線刷模式或recovery恢復介面。
fastboot線刷模式,手機上一般沒有操作介面,手機連線電腦,透過電腦上fastboot命令或工具軟體為手機進行解鎖、更新系統檔案、更新系統檔案等。
recovery恢復介面,手機上有操作介面,可以直接在手機上操作更新系統檔案、更新系統檔案、清除資料等(要更新的檔案需要先複製到手機指定目錄)。一般對手機系統熟悉的,可以採用fastboot線刷模式用電腦進行操作,不太熟悉的,建議採用手機recovery介面進行操作。
手機與電腦USB線連線
1.手機開啟除錯模式
開啟手機,在首頁找到“設定”點選,點選“開發者選項”,勾選“usb除錯”,允許“usb除錯”確定。
如果沒有“開發者選項”選單,可點選“通用”,點選“關於手機”,找到“版本號”連續點選6次,這樣開發者選項就啟用可用了。
2.電腦安裝驅動程式
一般將手機與電腦透過USB連線連線後,會自動安裝驅動程式,也可透過華為手機助手等工具安裝驅動。
3.連線USB線
將手機與電腦USB透過USB線連線起來,最好用原裝USB線,有些充電USB不好用會造成無法連線。
4.手機端確診連線
連線後,手機端會彈出“是否允許訪問裝置資料?”對話方塊,點選“是”確定即可。另外手機端會提示是否XXX電腦訪問手機,點確定即可。
5.連通測試
5.1 命令列測試
開啟CMD命令視窗,進入ADB所在目錄,輸入命令adb devices,若顯示“List of devices attached”不為空,則為連線成功。
adb devices
- daemon not running. starting it now on port 5037 *
- daemon started successfully *
List of devices attached
GSLDU16B03001104 device
若連線不成功,可檢查前面幾項是否正確,再次執行“adb kill-server”、“adb devices”試試,再不行,將手重啟一下。
5.2 採用介面工具測試
可採用華為手機助手等工具測試,點選連線裝置,即可,連線成功後有提示,且能列出手機上的內容。
手機解鎖
1. 命令列方式
- 手機與電腦連線正常
- 透過手機官方獲取解決碼或透過淘寶收費獲取,假設解鎖碼為1234567812345678
- 執行命令
fastboot oem unlock 1234567812345678 // 解鎖
fastboot oem get-bootinfo // 檢視當前鎖狀態
2. 介面方式
採用榮耀工具箱的介面操作如下:
刷入Root檔案
該操作將手機linux的root命令刷入手機系統中。
1. 命令列方式
adb push D:EMUIopenrecoveryscript /cache/recovery/
將ROOT包複製到手機儲存中
adb push D:EMUIROOT.zip /cache/update.zip
執行以下命令將手機重啟到Recovery模式
adb reboot recovery
進入recovery模式後,系統會自動執行指令碼刷入ROOT包,靜靜的等待手機重啟
2. 介面方式
adb Android除錯橋(adb)
Android 除錯橋 (adb) 是一種功能多樣的命令列工具,可讓您與裝置進行通訊。adb 命令可用於執行各種裝置操作(例如安裝和除錯應用),並提供對 Unix shell(可用來在裝置上執行各種命令)的訪問許可權。
簡單的話,adb工具就是可能透過電腦與手機連線,並透過電腦傳送命令對手機進行存取或對手機進行修復。比如手機變磚了、白屏了,無法使用了,這時就可以透過adb工具,進入fastboot線刷模式,重新刷入系統就可以正常使用了。
adb常用命令
adb devices // 檢視連線的手機
adb shell // 登入手機Linux的shell
adb push <本地路徑> <遠端路徑> // 從電腦上傳送檔案到手機
adb pull <遠端路徑> <本地路徑> // 從裝置上下載檔案到電腦
啟 動和關閉
adb start-server // 在電腦啟動服務程式方便與手機通訊(一般不單獨用,執行其它adb命令會自動啟動,如adb devices)
adb kill-server // 在電腦結束服務程式(一般不單獨用)
adb reboot // 重啟手機
adb bootloader|recovery // 重啟手機進入線刷模式或恢復模式
fastboot常用命令
fastboot devices // 檢視連線的手機
fastboot update <檔名>// 更新手機系統檔案
fastboot flashall // 更新引導、系統、恢復區等
fastboot reboot // 重啟手機
fastboot reboot-bootloader // 重啟手機到線刷模式
fastboot oem unlock <解鎖碼> // 解鎖手機
fastboot oem relock <解鎖碼> // 重新加鎖手機
fastboot oem get-bootinfo // 檢視當前鎖狀態
adb shell常用命令
pwd // 檢視當前路徑
ls // 列出當前目錄下檔案
ls -l // 列出當前目錄下檔案的詳細資訊
whoami // 顯示當前登入使用者名稱(一般為shell)
pm list packages // 列出當前安裝包
pm list permission-groups
pm list libraries
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
pm uninstall [-k] PACKAGE
dumpsys activit
dumpsys window
dumpsys window windows
dumpsys window tokens
dumpsys window sessions
dumpsys window policy
dumpsys window input
dumpsys statusbar
dumpsys notification
dumpsys package [<PACKAGE> ]
dumpsys location
dumpsys alarm
dumpsys connectivity
dumpsys wifi
其它
- 可參考:android 常用adb 和 adb shell 命令 獲取root許可權
-
[檔案下載,連結:https://pan.baidu.com/s/1UT2A... 提取碼:ynss]
- adb驅動安裝工具 // adb驅動安裝,需要使用線刷及adb命令的要先安裝驅動
- adb&fastboot // adb執行及fastboot執行檔案,執行Windows進入命令視窗,再切換到該目錄,即可使用這二個命令
- 華為工具箱.exe // 圖形介面,連線手機、重啟到fastboot、重啟到Recovery、解鎖bootloader、刷寫recovery、驅動下載
- [華為手機助手]hisuite_4.0.4.300.exe // 圖形介面,連線手機、手機聯絡人/圖片/應用管理、資料備份、資料恢復、系統更新、系統修復、刷機
- Honor8_EMUI_ROOT // 適用於華為榮耀8的手機linux root命令及超級使用者安裝包
- WinHex.exe // 可顯示二進位制檔案內容,可用於顯示手機上檔案內容
- MoGuRomZS_10.1.1508.04_ // 蘑菇ROM助手,解壓、打包ROM的IMG檔案
- 榮耀工具箱V1.5 // 圖形介面,連線手機、重啟到fastboot、重啟到Recovery、解鎖bootloader、刷寫recovery等
可參考:Android 除錯橋 (adb)
可參考:什麼是adb工具?怎麼用?
華為手機的解鎖碼存於手機檔案中(/dev/block/platform/hi_mci.0/by-name/nvme),若能獲取到,則可用WinHex開啟檢視獲取。但一般沒有root手機,也無法檢視,採用adb shell連線時使用者為shell,沒有許可權檢視“/dev”等目錄檔案內容,也無法新增、刪除檔案。
手機檔案目錄:
ls
3rdmodem charger data mnt res sys
3rdmodemnvm config dev oem root system
3rdmodemnvmbkp cust etc patch sbin vendor
acct cust_comm fstab.hi3650 proc sdcard version
bugreports cust_spec hw_oem product splash2
cache d log property_contexts storagels system
app emui fake-libs64 lang media tts xbin
bin etc fonts lib priv-app usr
build.prop extras framework lib64 rfs vendor
cameraplugins fake-libs global lost+found system watermarkls system/app
BaiduInput_for_Huawei HwMultiScreenShot
BasicDreams HwOUC
Bluetooth HwParentControl
BluetoothMidiService HwPayService
Calculator HwPowerGenieEngine3
CaptivePortalLogin HwProjectMenu
CertInstaller HwPushService
CotaDecompressService HwResolver
CtsShimPrebuilt HwSecureIME
DownloadProviderUi HwSecurityMgrService
FindMyPhone HwSoundRecorder
GoogleExtShared HwSpeechService
GooglePrintRecommendationService HwThemeManager
HTMLViewer HwTrustAgent
HWCardManager HwTrustSpace
HiBoard HwUserExperience
HiLinkSvc HwVideoEditor
HwARService HwWiFiDirect
.....