一、什麼是 adb?
adb 全稱 android debug bridge,中文名叫做 android 除錯橋,是一種功能多樣的命令列工具,可以對裝置進行操作。
adb 命令可用於執行各種裝置操作(如安裝和除錯應用),並提供一些訪問許可權(清除應用資料等)。
它是一種客戶端-服務端的程式,包括三個元件:
客戶端:用於傳送命令。客戶端在計算機上執行,可以通過 adb 命令從命令列終端呼叫客戶端
守護程式(adbd):用於在裝置上執行命令。守護程式在每個裝置上作為後台程序執行。
伺服器:用於管理客戶端和守護程式之間的通訊。伺服器在開發機器上作為後台程序執行。
二、 adb 工作原理
啟動 adb 客戶端時(不需要人為啟動),該客戶端會先檢查是否有 adb 伺服器程序正在執行
如果沒有,客戶端會啟動乙個服務程序,該伺服器在啟動後會於本地 tcp 埠 5037 繫結,並監聽 adb 客戶端發出的命令(所有 adb 客戶端均通過埠 5037 與 adb 伺服器通訊)
伺服器會與所有正在執行的裝置進行連線。它通過掃瞄 5555 到 5585 之間(該範圍供前16個模擬器使用)的奇數號埠來查詢模擬器。伺服器一旦發現 adb 守護程式(adbd),便會與相應的埠建立連線。注意:每個模擬器都使用一對按順序排列的埠(用於控制台連線的偶數號埠和用於 adb 連線的奇數號埠)
模擬器 1,控制台:5554
模擬器 1,adb:5555
模擬器 2,控制台:5556
模擬器 2,adb:5557
依此類推
如上所示,在埠 5555 處與 adb 連線的模擬器與控制台監聽埠為 5554 的模擬器是同乙個。
伺服器與所有裝置均建立連線後,便可以使用 adb 命令訪問這些裝置。由於伺服器管理與裝置的連線,並處理來自多個 adb 客戶端的命令,因此可以從任意客戶端(或從某個指令碼)控制任意裝置。
三、常見 adb 命令
顯示系統中全部裝置:adb devices
列出系統應用的所有包名:adb shell pm list packages -s
列出除了系統應用的第三方應用包名: adb shell pm list packages -3
清除應用資料與快取:adb shell pm clear (apk包名)(以愛奇藝為例)
獲取正在執行的activity:adb shell dumpsys activity activities(獲取到activity可在開啟應用時使用)
啟動應用:adb shell am start -n com.qiyi.video/.welcomeactivity(以第6步驟中獲取的愛奇藝activity為例)
四、總結
更多 adb 命令請查閱 android 官網,adb 是我們做 android 測試必備的技能,不光是結合 uiautomator 使用,其次還在效能方法檢視記憶體,cpu,流量等的變化。
adb命令使用簡介
今天無意看到這篇文章,想來當時不知操作sqlite的時候只能用模擬器和adb命令,用手機的時候就不行了,今天忙於作業系統,暫且收藏,改日再試 adb的全稱是android debug bridge,起到連線橋的作用,就是將你的電腦和手機連線起來,讓你可以在電腦上執行linux命令來管理手機,同時也能...
adb 命令是使用簡介
adb的全稱是android debug bridge,起到連線橋的作用,就是將你的電腦和手機連線起來,讓你可以在電腦上執行linux命令來管理手機,同時也能安裝解除安裝軟體。首先直接使用 adb 命令需要在 系統環境變數的path裡設定 d android sdk windows platform...
ADB 簡介及其使用
在自動化測試的過程中,需要電腦控制機器進行操作,這就需要用到adb連線。adb 是什麼?adb是 android sdk 裡的乙個工具,adb的全稱為 androiddebug bridge 就是起到除錯橋的作用。通過 adb我們可以在 eclipse 中方面通過 ddms 來除錯android 程...