Android調試橋

Android調試橋(英語:Android Debug Bridge,簡稱:ADB),是一種擁有眾多功能的、用於調試Android設備的命令行工具。使用戶可以與Android設備進行通信。ADB可以執行各種設備操作(例如安裝和調試應用,傳輸文件)[1],並提供對Unix shell(用於在設備上運行各種命令)的訪問權限。它是一種客戶端 - 伺服器程序,包括客戶端、守護進程(adbd)、伺服器三個組件。[2]

工作原理

當某個ADB客戶端啟動時,客戶端會檢查是否有ADB伺服器進程正在運行。如果沒有,它將啟動伺服器進程。伺服器在啟動後會與本地TCP端口 5037綁定,監聽ADB客戶端發出的命令(所有ADB客戶端均通過端口5037與ADB伺服器通信),並嘗試與所有正在運行的設備建立連接。它通過掃描5555到5585之間(該範圍供前16個模擬器使用)的奇數號端口查找模擬器。伺服器一旦發現ADB守護進程,便會與相應的端口建立連接。每個模擬器都使用一對按順序排列的端口,用於控制台連接的偶數號端口和用於ADB連接的奇數號端口,如下所示:

模拟器 1,控制台:5554

模拟器 1,adb:5555

模拟器 2,控制台:5556

模拟器 2,adb:5557,依此類推……

如上所示,在端口5555處與ADB連接的模擬器與控制台監聽端口5554的模擬器是同一個。

伺服器與所有設備均建立連接後,便可以使用ADB命令訪問這些設備。由於伺服器管理與設備的連接,並處理來自多個ADB客戶端的命令,因此可以從任意客戶端(或從某個腳本)控制任意設備。[3]

啟用調試橋

要通過USB連接的設備上使用ADB,必須在設備的系統設置中啟用USB調試(位於開發者選項下)。

在搭載Android 4.2及更高版本的設備上,「開發者選項」選項默認處於隱藏狀態。如需將其顯示出來,需要依次轉到 設置 > 關於手機,連續點按版本號五次。返回上一屏幕,在底部可以找到開發者選項。(在不同的系統上,「開發者選項」選項所在的位置或名字可能有所不同)。

顯示出「開發者選項」後,轉至 開發者選項 > USB調試,將其選項改為開啟後,便可通過USB連接設備。(當嘗試連接搭載Android 4.2.2或更高版本的設備時,Android系統會顯示一個對話框,詢問您是否接受允許通過此計算機進行調試的RSA密鑰。)Android 11以上的系統可使用無線調試,輸入配對碼連接。

若需驗證設備是否連接,可以在ADB伺服器中執行adb devices。如果設備已連接,您將看到設備名稱以「設備」形式列出。[4][3]

Shizuku可以讓Android 11以上的手機在連接無線網絡時連接自身的ADB,該程式可在Google Play商店免費取得。[5]

參考資料

  1. ^ Things You Can Do with Android's adb Command. dummies. [2019-09-18]. (原始內容存檔於2018-05-15) (英語). 
  2. ^ Android Debug Bridge (adb). Android Developers. [2019-09-17]. (原始內容存檔於2019-09-14) (英語). 
  3. ^ 3.0 3.1 Android Debug Bridge (adb). Android Developers. [2019-09-18]. (原始內容存檔於2019-09-14) (英語). 
  4. ^ Published. How to enable USB debugging mode on Android. Punch Newspapers. [2019-09-18]. (原始內容存檔於2019-09-17) (美國英語). 
  5. ^ User manual | Shizuku. shizuku.rikka.app. [2024-07-18].