ADB 工作原理

一博敬、ADB 即 Android Debug Birdge (Android調(diào)試橋)

ADB 分為三部分:PC上的adb client 和 adb server 以及Android設(shè)備上的adb daemon(adbd)

PC 和 Android 設(shè)別是一個(gè)多對(duì)多的關(guān)系:一個(gè)PC 可以連接多個(gè)Android設(shè)備;一個(gè)Android設(shè)備也可以連接多個(gè)PC独旷。

image

二、基本概念:adb client困后、adb server、adbd (Daemon)進(jìn)程

ADB client:Client本質(zhì)上就是Shell,用來發(fā)送命令給Server絮缅。發(fā)送命令時(shí)怎燥,首先檢測PC上有沒有啟動(dòng)Server,如果沒有Server堤魁,則自動(dòng)啟動(dòng)一個(gè)Server喂链,然后將命令發(fā)送到Server,并不關(guān)心命令發(fā)送過去以后會(huì)怎樣妥泉。

ADB server:運(yùn)行在PC上的后臺(tái)程序椭微,目的是檢測USB接口何時(shí)連接或者移除設(shè)備。
ADB Server維護(hù)著一個(gè)“已連接的設(shè)備的鏈表”盲链,并且為每一個(gè)設(shè)備標(biāo)記了一個(gè)狀態(tài):offline蝇率,bootloader,recovery或者online刽沾。
Server一直在做一些循環(huán)和等待本慕,以協(xié)調(diào)client和Server還有daemon之間的通信。offline說明Server發(fā)現(xiàn)了一個(gè)設(shè)備侧漓,但是不能成功連接到Daemon锅尘。

ADB Daemon:運(yùn)行在Android 設(shè)備上的一個(gè)進(jìn)程,作用是連接到adb server(通過usb或tcp-ip)火架。并且為client提供一些服務(wù)鉴象。

image

三者之間的通信涉及到兩條通訊通道:
Client<-->Server<--->Daemon
Client發(fā)送的指令也分為三種:

  • 不需要經(jīng)過Server處理就能成功的,如adb version,adb help何鸡。
  • 需要和Server通訊纺弊,但不需要和Demon通訊的指令,如adb devices.
  • 需要Daemon進(jìn)行處理的命令骡男。

ADB Server對(duì)本地的TCP5037端口進(jìn)行監(jiān)聽淆游,等待ADB Client的命令嘗試連接5037端口。
ADB Client每個(gè)命令都包含兩個(gè)部分,前一部分包含固定四個(gè)字節(jié)犹菱,以十六進(jìn)制的方式指明指令的長度拾稳;后一部分才是真正的指令內(nèi)容;發(fā)送命令的接口為writex腊脱,最終調(diào)用_fh_socket_write访得,通過send發(fā)送出去,因此這兩部分至少需要發(fā)送兩個(gè)tcp包陕凹。

image

三悍抑、無線連接Android設(shè)備

開啟Wifi連接adb 方式一:

adb shell 
setprop service.adb.tcp.port 5555 
stop adb 
start adb 
exit 
adb connect 192.168.0.181:5555

開啟Wifi連接adb 方式二:

adb tcpip 5555 
adb kill-server 
adb connect 192.168.0.148(手機(jī)的IP地址)

USB調(diào)試模式與WIFI調(diào)試模式切換

adb usb 切換到USB模式 
adb tcpip 5555 切換到WIFI無線調(diào)試

WIFI 無線調(diào)試下 連接與斷開連接的指令

adb connect 192.168.0.181 連接設(shè)備 
adb disconnect 192.168.0.181 斷開設(shè)備連接

四、參考鏈接:

https://blog.csdn.net/xing1716263268/article/details/8998192
https://blog.csdn.net/ffmpeg4976/article/details/47911817

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末杜耙,一起剝皮案震驚了整個(gè)濱河市搜骡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佑女,老刑警劉巖记靡,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異团驱,居然都是意外死亡摸吠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門嚎花,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜕便,“玉大人,你說我怎么就攤上這事贩幻〗蜗伲” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵丛楚,是天一觀的道長族壳。 經(jīng)常有香客問我,道長趣些,這世上最難降的妖魔是什么仿荆? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮坏平,結(jié)果婚禮上拢操,老公的妹妹穿的比我還像新娘。我一直安慰自己舶替,他們只是感情好令境,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顾瞪,像睡著了一般舔庶。 火紅的嫁衣襯著肌膚如雪抛蚁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天惕橙,我揣著相機(jī)與錄音瞧甩,去河邊找鬼。 笑死弥鹦,一個(gè)胖子當(dāng)著我的面吹牛肚逸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彬坏,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吼虎,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了苍鲜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤玷犹,失蹤者是張志新(化名)和其女友劉穎混滔,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歹颓,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坯屿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了巍扛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片领跛。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖撤奸,靈堂內(nèi)的尸體忽然破棺而出吠昭,到底是詐尸還是另有隱情,我是刑警寧澤胧瓜,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布矢棚,位于F島的核電站,受9級(jí)特大地震影響府喳,放射性物質(zhì)發(fā)生泄漏蒲肋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一钝满、第九天 我趴在偏房一處隱蔽的房頂上張望兜粘。 院中可真熱鬧,春花似錦弯蚜、人聲如沸孔轴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽距糖。三九已至玄窝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悍引,已是汗流浹背恩脂。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趣斤,地道東北人俩块。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像浓领,于是被迫代替她去往敵國和親玉凯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355