Android除錯橋

![]() |
Android除錯橋(英語:Android Debug Bridge,簡稱:ADB),是一種擁有眾多功能的、用於除錯Android裝置的命令列工具。開發者可以通過它與Android裝置進行通訊。ADB可以執行各種裝置操作(例如安裝和除錯應用,傳輸檔案)[1],並提供對Unix shell(用於在裝置上執行各種命令)的存取權限。它是一種客戶端—伺服器程式,包括客戶端(adb)、守護行程(adbd)、伺服器三個組件。[2]
![]() | |
![]() 在 GNOME Terminal啟動ADB伺服器, which then enumerates the devices. After that, a shell is opened on the device being debugged to run the uname command. | |
原作者 | |
---|---|
目前版本 | 34.0.1 (March 2023) |
原始碼庫 | |
程式語言 | C++ |
作業系統 | Windows, Linux, macOS |
許可協定 | |
網站 | developer![]() |
實用命令
[編輯]命令 | 備註 |
---|---|
adb pair ip:port | Wi-Fi 連接前配對裝置 |
adb connect ip:port | 通過 Wi-Fi 連接裝置 |
adb shell pm disable-user <包名> | 停用應用 |
adb uninstall [-k] <包名> | 解除安裝應用,可選項-k 表示解除安裝時保留資料
|
adb pull <裝置里的檔案路徑> [電腦上的目錄] | 複製裝置里的檔案到電腦 |
adb push <電腦上的檔案路徑> <裝置里的目錄> | 複製電腦里的檔案到裝置 |
工作原理
[編輯]當某個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客戶端的命令,因此可以從任意客戶端(或從某個指令碼)控制任意裝置。[4]
啟用除錯橋
[編輯]要通過USB連接的裝置上使用ADB,必須在裝置的系統設定中啟用USB除錯(位於開發者選項下)。
在搭載Android 4.2及更高版本的裝置上,「開發者選項」選項預設處於隱藏狀態。如需將其顯示出來,需要依次轉到設定→關於手機,連續點按版本號若干次。返回上一螢幕,在底部可以找到開發者選項。(在不同的系統上,「開發者選項」選項所在的位置或名字可能有所不同)。
顯示出「開發者選項」後,轉至開發者選項→USB除錯,將其選項改為開啟後,便可通過USB連接裝置。(當嘗試連接搭載Android 4.2.2或更高版本的裝置時,Android系統會顯示一個對話方塊,詢問您是否接受允許通過此電腦進行除錯的RSA金鑰。)若需驗證裝置是否連接,可以在ADB伺服器中執行adb devices
。如果裝置已連接,您將看到裝置名稱以「裝置」形式列出。[4][5]
Android 11以上的系統可使用無線除錯,輸入配對碼連接。Shizuku可以方便地讓Android 11以上的手機在連接無線網路時連接自身的ADB,並為需要adb許可權的程式提供方便的API,該程式可在Google Play商店或Github免費取得。[6][7]
參考資料
[編輯]- ^ 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) (英語).
- ^ Ma, Zhuang, mzlogin/awesome-adb, 2025-01-14 [2025-01-14], (原始內容存檔於2025-01-14)
- ^ 4.0 4.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]. (原始內容存檔於2025-01-30).
- ^ RikkaApps/Shizuku, RikkaApps, 2025-01-14 [2025-01-14], (原始內容存檔於2025-01-24)