ADB命令大全
基本語法
基本語法
adb [-d|-e|-s <serialNumber>] <command> # serialNumber表示設備序列號,也可以是ip地址 # 如果只有一個設備/模擬器連接時,可以省略掉 [-d|-e|-s <serialNumber>] 這一部分,直接使用 adb <command>。
為命令指定目標設備
上述三個參數(-d -s -e)用於指定設備,如果有多個設備/模擬器連接,需要為命令指定目標設備,否則鬼知道你要操作哪臺設備。
- -d:指定當前唯一通過 USB 連接的 Android 設備為命令目標
- -e:指定當前唯一運行的模擬器為命令目標
- -s <serialNumber>:指定相應 serialNumber 號的設備/模擬器為命令目標
在多個設備/模擬器連接的情況下較常用的是-s <serialNumber>參數,serialNumber為設備到序列號,設備連接上電腦後可以通過 adb devices 命令獲取
例如,我的設備為樂視1s,運行後可得到:
$ adb devices List of devices attached KFNJG68SQKAE7LQG device xxxxx device # 手工偽造的設備號yyyyy device # 手工偽造的設備號 # KFNJG68SQKAE7LQG 為樂視1s的設備號(serialNumber)
此時通過adb查看樂視1s的屏幕分辨率
adb -s KFNJG68SQKAE7LQG shell wm size
啟動/停止adb
adb start-server # 啟動(一般無需手動執行此命令,在運行 adb 命令時若發現 adb server 沒有啟動會自動調起。) adb kill-server # 停止 adb version # 查看adb版本號
以 root 權限運行 adbd
adb 的運行原理是 PC 端的 adb server 與手機端的守護進程 adbd 建立連接,然後 PC 端的 adb client 通過 adb server 轉發命令,adbd 接收命令後解析運行。
所以如果 adbd 以普通權限執行,有些需要 root 權限才能執行的命令無法直接用 adb xxx 執行。這時可以 adb xxx 然後 su 後執行命令,也可以讓 adbd 以 root 權限執行,這樣就能隨意執行高權限命令了。
命令:
adb root # 正常輸出:restarting adbd as root adb unroot # 取消root權限
現在再運行 adb shell ,命令行提示符變成 # 即為root權限
有些手機 root 後也無法通過 adb root 命令讓 adbd 以 root 權限執行,比如三星的部分機型,會提示 adbd cannot run as root in production builds,此時可以先安裝 adbd Insecure,然後 adb root 試試。
adbd Insecure下載地址:戳這裏,下載後打開應用將Enable insecure adbd 和 enable at boot 勾選上,設置好之後重進鍵入:adb root即可
指定 adb server 的網絡端口
adb -P <port> start-server # 默認端口為 5037。
ADB命令大全