什么是adb?

-
adb(Android Debug Bridge)是android sdk的一個工具;
-
adb是用來連接安卓手機和PC端的橋梁,要有adb作為二者之間的維系,才能讓用戶在電腦上對手機進行全面的操作;
-
Android的初衷是用adb這樣的一個工具來協助開發人員在開發android應用的過程中更快更好的調試apk,因此adb具有安裝卸載apk、拷貝推送文件、查看設備硬件信息、查看應用程序占用資源、在設備執行shell命令等功能。
adb三大組件

-
客戶端
該組件發送命令,客戶端在開發計算機上運行,可以通過發出 adb 命令從命令行終端調用客戶端。 -
后台程序
該組件在設備上運行命令,后台程序在每個模擬器或設備實例上作為后台進程運行。 -
服務器
該組件管理客戶端和后台程序之間的通信,服務器在開發計算機上作為后台進程運行。
adb工具位於SDK目錄下的platform-tools目錄,有跟adb相關的三個文件:

之前我們在搭建自動化的環境的時候其實就已經將adb配置好了,直接在windows的dos環境中就可以使用(通過在運行輸入cmd即可進入),所以接下來我們就開始介紹adb使用方式。
adb連接Android設備
要去通過adb去控制/操作設備,必須要保證adb連接上設備
模擬器連接
模擬器的選擇有非常多,比如夜神、逍遙、海馬玩、網易mumu、Bluestacks、Genymotion等等,這里以夜神模擬器為例
-
step1:開啟夜神模擬器
-
step2:通過adb connect 127.0.0.1:62001去連接

其中,127.0.0.1為夜神模擬器的工作主機地址(因為是在本機上),62001為夜神模擬器官方指定的端口號
以下列表為主流模擬器以及對應的端口
模擬器 | 端口 |
---|---|
逍遙模擬器 | 21503 |
夜神模擬器 | 62001 |
海馬玩模擬器 | 26944 |
網易mumu | 7555 |
Bluestacks | 5555 |
雷電模擬器 | 5555 |
Genymotion | 5555 |
騰訊手游助手 | 5555 |
天天模擬器 | 6555 |
- step3:檢測設備是否連接上

如上顯示,就表示設備已經成功鏈接上。
Android真機連接
真機的連接步驟跟模擬器會有很大的差異,具體如下:
-
step1:通過USB線將真機連接到PC端
-
step2:打開開發者模式,操作步驟:打開設置->關於手機->連續點擊五次版本號

注意:不同的真機打開此模式的操作步驟會有些不同,以小米手機為例:打開設置->我的設備->全部參數->連續點擊"MIUI版本"

- step3:打開USB調試模式,操作步驟:進入到設置->開發者選項->調試->勾選USB調試,小米手機入口是在設置->更多設置->開發者選項

跳出來如下提示框,點擊確定

特別注意!!!
當上述窗口關閉了之后,會自動跳出來如下提示窗口,必須要保證這個提示窗口是出來的

勾選“一律允許使用這台計算機進行調試”->點擊確定
- step4:檢測設備是否鏈接上

adb常用命令
adb --help
查看幫助手冊
adb devices
查看連接到PC的android設備
adb shell
登錄設備shell(命令行的人機界面),在當前環境中就可以使用到很多linux相關命令了,如:cd、ls、cp等等,相當於在cmd窗口遠程執行linux命令。
adb pull <手機路徑> <電腦路徑>
從手機中拉取信息放到本地電腦上,手機路徑可以通過adb shell進入到shell環境中,通過cd、ls這些命令找到對應的文件,如將QQ這個apk安裝包拉取放到D盤下的test目錄:
adb push <本機路徑> <手機路徑>
從本地推送信息到手機上去,如:
adb install *.apk
為了獲取apk的安裝包所在地址,可以直接用鼠標把apk文件拖到cmd窗口獲取,返回success就說明安裝成功了。
adb install -r *.apk
保留數據和緩存文件,重新安裝apk
adb shell dumpsys activity | find "mFocusedActivity"
查看前台應用包名和類名(包名:android系統給到應用的標識,類名:一個頁面的標識)
adb uninstall <包名>
卸載某個應用,后面就需要加上對應的包名
adb uninstall -k <包名>
卸載應用但保留數據和緩存文件
adb kill-server
終止adb服務
adb start-server
啟動adb服務,通常在adb出現問題時,結合kill-server一起來重啟adb服務
adb shell pm list packages
列出當前系統里面所有的包名
-s 列出系統apk路徑及包名
-3 列出用戶apk及包名
adb logcat
抓取android日志,這個也是對我們非常有用的命令,通過logcat日志,在app發生異常時,如crash/無響應這種,都可以在logcat里面定位到相應的信息
adb connect/disconnect
對於模擬器,可以使用該命令進行連接/取消連接;
對於真機,可以使用該命令通過WiFi進行遠程調試,在進行設置之后我們就可以不需要通過USB線將手機連接到電腦了:
1、確保手機和電腦處於同一網絡中(連接的同一個路由器);
2、將手機通過usb線連接到電腦;
3、輸入adb tcpip 5555來確定手機與電腦遠程通訊的端口號;
4、拔掉usb線;
5、再通過adb connect 加上你自己手機的ip地址來進行連接,如果想要取消連接,直接使用adb disconnect命令即可。