adb 架構


adb是什么? adb就是Android調試橋,很形象啊。 先來看adb原理的邏輯圖:

ADB架構
adb由兩個物理文件組成:
adb/adb.exe
運行於PC端,包括Linux、Windows、Mac OS等系統之中,通常是x86架構上(下文中,ADB指整個模塊,而adb單獨指這一部分);
adbd
運行於Android設備的底層Linux之中,ARMv5架構上。

構建不同文件,通過傳入Android.mk的$(BUILD_SIMULATOR)變量是否為真。源碼中由ADB_HOST宏用來區分本地主機(adb)和目標機(adbd)。
區分不同OS,通過傳入Android.mk的$(HOST_OS)。它的有效取值包括linux、darwin、freebsd和windows。不同平台的主要差異是USB的控制方法和文件路徑。

 

ADB各模塊定義:

adb server: 計算機上的一個服務進程,進程名為adb
adbd (adb daemon) : Android 手機上的一個服務進程,進程名為adbd
adb client:你可以認為是計算機上的一個終端窗口,進程名也為adb
DDMS:Dalvik Debug Monitor Service
Jdwp: Java Debug Wire Protocol

 

adbd (ADB daemon):

運行於device/emulator的守護進程(Local service)。其作用如下:
1,用來連接device/emulator和adb server,device通過USB連接,emulator通過TCP連接。
2,為device/emulator提供服務--> adb service(adb服務,注意與adb服務端的區別)的概念,指adbd提供的功能。
在emulator/device端,adbd也創建local socket和remote socket,前者與通過jdwp與dalvik VM進層通信,后者通過TCP/USB與adb server通信。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM