了解adb的基本原理

2022-06-15 19:06:09 字數 1112 閱讀 5343

adb就是android除錯橋的意思,很形象。但不知道是windows本身的原因還是windows亂七八糟軟體太多,用usb除錯手機時,經常連不上adb,或者就出現offline,導致費時費力,焦頭爛額。索性去把adb直接搞清楚。

adb分為三個部分:pc上的adb client,adb server和手機(也可能是pc上的模擬器)上的adb daemon。

這是乙個多多連線的設計。即一台pc可以連線多個手機,一台手機也可以連線多個pc。

adb client:注意這裡的client和daemon不是一一對應的,client比如eclipse ddms,windows終端命令列,豌豆莢等。client本質上就是shell,用來傳送命令給server。傳送命令時,首先檢測pc上有沒有啟動server,如果沒有server,則自動啟動乙個server,然後將命令傳送到server,並不關心命令傳送過去以後會怎樣。

adb server:執行在pc上的後台程式,目的是檢測usb介面何時連線或者移除裝置。adb server維護著乙個「已連線的裝置的鍊錶」,並且為每乙個裝置標記了乙個狀態:offline,bootloader,recovery或者online;server一直在做一些迴圈和等待,以協調client和server還有daemon之間的通訊。offline說明server發現了乙個裝置,但是不能成功連線到daemon----這樣最好重啟一下手機。

adb daemon:執行在手機上的乙個程序,作用是連線到adb server(通過usb或tcp-ip),並且為client提供一些服務,

client和server之間還是要通過tcp/ip通訊的,server偵聽本機的5037埠,client試圖去連線這個埠。

我們看到,在沒有client的時候,server程序孤獨的偵聽著5037口

在有client的時候,client和server建立了連線。

盜網圖一用,一張圖勝過千言萬語:

adb的**放在android的system\core\adb中

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

Flutter學習 簡單了解基本原理

flutter是谷歌的移動ui框架,可以快速在ios和android上構建高質量的原生使用者介面。與react native不同,flutter重寫了一套跨平台ui框架,開發語言使用dart,渲染引擎採用谷歌的skia跨平台圖形庫實現,在最大程度上保持不同平台的一致性體驗,使用dart語言執行效率也...

了解重灌系統的基本原理

重灌電腦咱們首先需要準備幾樣東西 4g以上的u盤,一台能操作的電腦,pe系統和windows映象 因為要重灌系統,所以需要把原來的老系統給刪除了,才能裝新的系統,老的作業系統刪除了,我們就無法操作了,這怎麼辦呢,這就需要pe系統了,簡單說,pe就是簡化版的作業系統,並且可以儲存在儲存裝置上的,它的功...