一,什么是adb?
adb全稱為Android Debug Bridge,就是起到調試橋的作用。顧名思義,adb就是android sdk 的一個工具
借助adb工具,我們可以管理設備或手機模擬器的狀態,還可以進行很多手機操作,如安裝軟件、系統升級、運行shell命令等等。簡而言之,adb就是連接Android手機和PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作
二,adb的工作原理

上圖是一個簡單的adb工作原理圖。adb客戶端服務器端程序,由上圖可以看出它主要三個組件組成:Client,Server,Daemon。
(1)當你啟動一個adb Client(客戶端),Client首先會選確認是否已有一個adb Server(服務器)進程在運行,如果沒有,則會啟動Server進程。此時,adb Server就會綁定本地的TCP端口5037,並監聽adb Client發來的命令。
(2)接着,Server將會掃描所有5555到5585范圍內的奇數端口來定位所有的模擬器或設備,並與之建立連接。一旦Server找到 了adb daemon(守護程序),它將建立一個到該端口的連接,這樣,我們就可以使用adb命令控制和訪問模擬器或設備了。在這里,需注意的是任何模擬器或設備實例會取得兩個連續的端口:一個偶數端口用來相應控制台的連接,和一個奇數端口用來響應adb連接
三,adb的安裝
1,下載SDK工具包
鏈接:https://pan.baidu.com/s/1yJDynCiFMb_jwQP4hzZIlg
提取碼:6ak1
解壓后我們能看到如下目錄

2,目錄說明:
add-ons:里面保存着一些附加的庫,第三方公司為Android平台開發的附加功能系統。比如GoogleMaps(一開始此包為空)
build-tools:編譯工具目錄,包含了轉化為davlik虛擬機的編譯工具。當創建Android項目(構建項目)的時候會用到這個包。在創建項目的時候如果沒有此包會報錯。 (隨着SDK版本的迭代,編譯工具也會有相應新版本,建議使用最新的編譯工具)
docs:這里面是Android SDKAPI參考文檔,所有的API都可以在這里查到
extras:該文件下存放了Google提供的USB驅動,Intel提供的硬件加速附件工具包。(后期存放了Android Support兼容包,使用兼容包版本時最好與SDK版本保持一致)
platforms:里面是根據APILevel划分的SDK版本/平台,這個文件夾是SDK里面最重要的文件(每個平台的SDK真正的文件),這里就以Android6.0為例,進入后有一個android-23的文件夾,android-23進入后是Android6.0 SDK的主要文件
其中 data:保存着一些系統資源, skins:Android模擬器的皮膚, templates:是工程創建的默認模板, android.jar:是該版本的主要framework文件
platforms-tools:該文件夾下放了Android平台的相關開發和調試工具,比如adb.exe、sqlite3.exe等。platform-tools保存着一些通用工具,比如adb、和aapt、aidl、dx等文件
system-images:存放的是創建Android虛擬機時的鏡像文件(已經編譯好的鏡像文件,模擬器可以直接加載)。從android-14開始將模擬器鏡像文件整理在這里(原來放在platforms下)
temp:臨時目錄
tools: 這個文件夾下存放了大量Android開發、調試的工具。包括測試、調試、第三方工具。模擬器、數據管理工具等。比如ddms用於啟動Android調試工具,比如logcat、屏幕截圖和文件管理器,而draw9patch則是繪制android平台的可縮放png圖片的工具而monkeyrunner則是一個不錯的壓力測試應用,模擬用戶隨機按鍵,mksdcard則是模擬器SD映像的創建工具,emulator是Android SDK模擬器主程序,不過從android 1.5開始,需要輸入合適的參數才能啟動模擬器,traceview作為android平台上重要的調試工具
四,配置環境變量
1,打開環境變量:【此電腦】--右鍵--【屬性】---【高級系統設置】---【環境變量】---【系統變量】--【path】
在path中添加:platforms-tools和tools的絕對路徑

2,測試
打開cmd或者win+r 打開dos命令,輸入adb,若出現adb的說明就意味着成功了,如圖:

