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