ADB命令使用手冊

概述

Adb作為PC和Android設(shè)備交互與通信的工具

Android調(diào)試橋接,Android DebugBridge,它是一個(gè)CS架構(gòu)的命令行工具,作用就是PC通過adb來操作手機(jī)

Adb的組成

客戶端(client):所有命令都是PC發(fā)起,可以對Android應(yīng)用進(jìn)行安裝,卸載和調(diào)試(可以有多個(gè)窗口或程序發(fā)送命令)

服務(wù)端(server):管理客戶端到Android設(shè)備上adb后臺進(jìn)程的連接(不同客戶端發(fā)來的命令都由服務(wù)器負(fù)責(zé)和Android設(shè)備通信,他們之間的通信都是通過5037端口連接)

守護(hù)進(jìn)程:Android后臺運(yùn)行的進(jìn)程,負(fù)責(zé)接收命令(ADB服務(wù)器和守護(hù)進(jìn)程的通信是通過相鄰的兩個(gè)端口實(shí)現(xiàn)的,偶數(shù)端口(比如5554)負(fù)責(zé)處理命令行的通信,奇數(shù)端口(比如5555)是用來保持連接的,我們可以看到,adb服務(wù)器可以和多臺設(shè)備連接,每連接一個(gè),會分配兩個(gè)相鄰的端口出來,第一對是5554/5555,第二對就是5556/5557,相對應(yīng)的,我們adb連接多臺設(shè)備的時(shí)候,需要指定端口號或者設(shè)備名稱,服務(wù)器會找到對應(yīng)的設(shè)備,進(jìn)行通信)

adb原理圖

Adb環(huán)境配置

下載SDK-------將tools和platform-tools兩個(gè)目錄配置到系統(tǒng)環(huán)境變量PATH中-----這樣就可以直接在命令行中使用adb命令進(jìn)行驗(yàn)證了

ADB命令

ADB基本命令格式

adb [-e | -d | -s<設(shè)備序列號>]<子命令>


adb命令基本格式

文件傳輸和安裝命令

文件傳輸和安裝命令

獲取信息命令

獲取信息命令

Log與重啟相關(guān)命令

Log與重啟相關(guān)命令

Adb備份與恢復(fù)命令

Adb備份與恢復(fù)命令

這兩個(gè)命令可以實(shí)現(xiàn)數(shù)據(jù)的備份以及兩臺手機(jī)間的數(shù)據(jù)恢復(fù)等場景

如下圖的操作步驟可以將手機(jī)完全備份,備份的過程中可以進(jìn)行加密,這樣恢復(fù)的時(shí)候也需要密碼

備份與恢復(fù)

Adb重定向端口命令

端口映射模型

將開發(fā)PC上的端口(1314)重定向到設(shè)備的端口(5200)上,這樣所有發(fā)往PC端口1314的數(shù)據(jù)都會被轉(zhuǎn)發(fā)到設(shè)備端口5200。

這個(gè)機(jī)制可以實(shí)現(xiàn)遠(yuǎn)程控制Android設(shè)備應(yīng)用。

如下圖

Adb重定向原理

具體命令如下表格,具體應(yīng)用后續(xù)如果使用到再進(jìn)行補(bǔ)充

Adb重定向端口命令

Adb無線連接與文件同步

Adb無線連接可以不使用USB來直接調(diào)試Android設(shè)備,這樣就是通過TCP/IP連接來操作設(shè)備,其實(shí)和操作模擬器的原理是一致的

Adb無線連接與文件同步

同步文件的使用場景多為有多個(gè)so文件等需要同步,如果一個(gè)個(gè)刪除再push的話會耗費(fèi)很大的工作量,這時(shí)候使用同步命令

無線連接和同步的具體操作后續(xù)完善補(bǔ)充

Adb連接問題

Adb list of devices attached

Windows:

首先安裝驅(qū)動(dòng)程序,看設(shè)備管理器驅(qū)動(dòng)是否安裝成功,不能安裝驅(qū)動(dòng)可以借助隨便一個(gè)手機(jī)助手解決

然后打開手機(jī)開發(fā)者選項(xiàng)中的usb調(diào)試,并允許電腦始終對手機(jī)usb調(diào)試

連不了的時(shí)候首先用adb kill-server和adb start-server進(jìn)行重啟adb,或者用命令查看是哪個(gè)進(jìn)程占用了5037端口,然后進(jìn)行釋放

參考:http://blog.csdn.net/johnnycode/article/details/7678083

這時(shí)候如果這些準(zhǔn)備好的話應(yīng)該是可以正常連接的,我們的手機(jī)序號應(yīng)該已經(jīng)寫入了Windows下的.android隱藏目錄下的adb_usb.ini文件,但還是同樣的adb list of devices attached,這時(shí)候我們要考慮自動(dòng)連接寫入的adb設(shè)備號是否和我們終端使用的adb為同一個(gè)路徑,在合適的位置寫入正確的設(shè)備號即可,親測有效,記得加0x

參考:http://blog.csdn.net/join_12/article/details/45970717

Ubuntu:和Windows下的基本思路是一致的,具體的操作方法參考如下帖子:

http://blog.csdn.net/mr_driver/article/details/8449642

Adb devices offline

端口搶占,可以參考上述方法解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,724評論 25 709
  • 經(jīng)線和緯度不謀而合 六點(diǎn)和七點(diǎn)不謀而合 萬物先于我而醒來 窗子注視我,書架注視我 天花板注視我 而此時(shí)此刻 我變成...
    野渡ing閱讀 253評論 0 1
  • I have no idea about today"s topic,actually this feeling ...
    可以可以11閱讀 363評論 10 3
  • 這次有幾個(gè)朋友來晚了,其中有位朋友給我們講述了在來的路上的兩起車禍的見聞!感嘆人生無常!我們6個(gè)人用了很短的時(shí)間做...
    劉益辰閱讀 203評論 0 0
  • DylanBowie閱讀 142評論 0 0

友情鏈接更多精彩內(nèi)容