一、adb簡介
二、adb環境搭建
三、adb連接Android設備步驟
1、USB數據線連接
2、WIFI遠程連接
四、adb shell命令
1、簡介
2、常用adb shell命令
3、crash(崩潰)
一、adb簡介
Android 調試橋 (ADB,Android Debug Bridge) 是Android SDK里的一個工具。可看成一個客戶端-服務器程序,其中客戶端是用來操作的電腦,服務器端是android設備。
通過ADB服務,可以直接在PC端操作管理android模擬器或者真實的android設備,說白了ADB就是安卓的debug工具。
ADB的主要功能有:
- 運行設備的shell(命令行)
- 管理模擬器或設備的端口映射
- 計算機和設備之間上傳/下載文件
- 將本地apk軟件安裝至模擬器或android設備
ADB的組成主要有三部分:
- 客戶端client:運行在你的電腦上,你可以通過shell來調用起一個客戶端。其他Android工具,例如:ADT插針、DDMS都可以創建出一個客戶端。【adb在mac或者linux上都可以使用;需要搭建環境變量才能使用】
- 服務器server:運行在你電腦的后台,負責管理client和daemon進行通信。
- 守護進程daemon:運行在模擬器或者Android設備的后台。
二、adb環境搭建
adb調試橋是Android SDK里的一個工具,Android SDK是安卓系統軟件的開發工具包。作為新手推薦使用安卓開發新手集成包:adt-bundle (谷歌給安卓開發打包的一個環境)。adt-bundle環境搭建相對於簡單,而且app自動化測試的環境也可用。
具體的環境搭建步驟可參考另外一篇說明《adt-bundle環境搭建》。
三、adb連接Android設備步驟
1、USB數據線連接
Android手機通過adb與PC端連接時,有幾個前提條件:
1.1、手機驅動
Android手機通過USB數據線連接PC端后,需要安裝驅動。一般會自動安裝,開啟開發者選項和USB調試后“我的電腦”里面能夠顯示連接的手機,並可查看其目錄就沒問題。
當PC端提示驅動安裝失敗時,需要在PC端安裝360手機助手等連接應用,通過連接應用安裝好手機驅動環境后,要將360手機助手等應用卸載,因為這些應用與adb會用同一端口。
1.2、手機設置
◆手機需要開啟開發者選項和USB調試。
開啟開發者選項的過程如下,設置—>關於手機—>連續點擊7次“版本號”,然后在設置—>系統中出現開發者選項,開啟即可。
在開發者選項頁面,同時開啟“USB調試”。
有的Android系統版本手機在開啟USB調試時,有彈窗提示是否允許USB調試,一定要選擇“確定”。還有的Android系統版本手機在開啟USB調試時,詢問您是否接受允許通過此計算機進行調試的 RSA 密鑰,也需要選擇同意。
◆最后一步,在開發者選項頁面,點擊“選擇USB配置”然后選擇“MTP(多媒體傳輸)”。
1.3、驗證連接
PC端通過cmd命令提示符頁面,輸入adb devices然后回車,看到如下圖結果,表示adb連接Android設備成功。
2、WIFI遠程連接
Android手機通過wifi連接電腦運行adb,可實現遠程調試。具體步驟如下:
1.1、連接准備
按照上面介紹的Android手機通過USB數據線連接的步驟完成配置,並連接成功。
1.2、通過IP連接設備
◆將Android手機連接的WIFI,與運行adb的PC端連接的網絡處於同一局域網。
◆Android手機通過USB數據線連接成功后,在cmd命令提示符頁面輸入:adb tcpip 5555 讓設備在5555端口監聽TCP/IP連接。
◆查找手機的IP地址,在設置—>WLAN—>點擊所連接的WiFi,可以找到設備的IP,如下圖:
◆拔掉USB數據線。
###注意,拔掉USB數據線后要確保開發者選項和USB調試是開啟狀態;且“選擇USB配置”是勾選“MTP(多媒體傳輸)”狀態。
◆PC端在cmd命令提示符頁面輸入:adb connect <手機IP> 出現下圖所示結果,即表示連接成功。
1.3、驗證連接
PC端通過cmd命令提示符頁面,輸入:adb devices然后回車,看到如下圖結果,表示adb連接Android設備成功。
1.4、斷開連接
Wifi遠程連接成功后,想要關閉連接,PC端通過cmd命令提示符頁面,輸入:adb disconnect <手機IP> 即可關閉adb連接。
四、adb shell命令
1、簡介
安卓系統是基於Linux系統開發,也就支持常見的Linux的命令,這些命令都保存在手機 “/system/bin” 的目錄下,我們連接手機就可以使用命令 adb shell 來執行這些命令。
使用adb shell命令的前提是,Android設備已經通過adb與PC端建立連接。
2、常用adb shell
1.1、進入adb shell命令窗口
◆在PC端通過cmd命令提示符頁面,輸入:adb shell 進入shell命令窗口。
◆可以使用cd命令進行目錄切換。
輸入cd sdcard可進入手機內部存儲空間,再輸入ls可獲取當前的所有目錄內容。
◆通過adb shell 進入的shell命令窗口,常使用的Linux命令還有:
- cd:切換路徑/目錄;
- pwd:顯示當前路徑;
- ps: 顯示當前系統正在運行進程;
- kill:殺死某一個進程;語句: kill -9 <進程號> (-9表示強制殺死)
◆要退出shell操作,需要輸入exit。如下圖:
1.2、從Android設備提取文件至PC端
◆使用adb pull可以將手機中的文件拉取到PC端,命令格式如下:
adb pull <文件路徑> <本機路徑> 注意,路徑之間的空格
實際操作中一般在adb shell 進入的shell命令窗口中找到需要拉取的文件和路徑,然后exit退出shell命令窗口,執行adb pull命令。
例:adb pull /sdcard/server.log F:\test
1.3、將PC端的文件推送至Android設備
使用adb push 可以將PC端的文件推送至Android手機,命令格式如下:
adb push <文件路徑> <手機路徑> 注意,路徑之間的空格
例:adb push F:\test\server.log /sdcard/
推送成功后,通過cd切入sdcard目錄,然后輸入ls可查看server.log文件
1.4、查詢App包名
在Android設備中打開某個App,然后在cmd命令提示符頁面輸入如下命令,即可查詢到包名:
1.4.1、Android 8.0系統以下用:
adb shell dumpsys activity | find "mFocusedActivity"
1.4.2、Android 8.0系統以上用:
adb shell dumpsys activity | find "mResumedActivity"
包名是應用軟件在Android系統中的一種標記。
在出現的查詢結果中,u0與/中間的一串是該應用的包名,如下圖:
1.5、將PC端的.apk包安裝至Android設備
adb install xxx.apk 將PC端存放的.apk裝入Android設備。
adb install -s xxx.apk 將PC端存放的.apk裝入Android設備的sdcard中。
注意:xxx.apk是該文件PC端所在的絕對路徑,在PC端拖動xxx.apk至cmd窗口,即可自動填充絕對路徑。
命令輸入正確后,回車即安裝,提示:success表示安裝成功。
1.6、通過adb刪除Android設備的App
adb uninstall <應用包名> 該命令在PC端通過adb刪除Android設備的App。
輸入命令后回車,提示:success表示應用刪除成功。
3、定位到crash(崩潰)異常信息
App在運行時偶遇崩潰,可以使用命令adb logcat從Android設備緩存區拉取日志,篩選出的日志有助於定位Bug。
要使用這個命令,必須有超級管理員權限,或者手機已經root。
命令格式:
adb logcat –v > d:\log.txt 將日志保存至D盤
adb logcat –v time > d:\log.txt 拉取的日志自帶時間
日志導出后,通過App的包名篩選出有用的日志。然后在導出的日志中搜索‘FATAL EXCEPTION’關鍵字就可以定位到關鍵日志信息。
需要提交的日志:FATAL EXCEPTION 到 Force finishing。
具體步驟:
1)在發現運行的App出現崩潰等情況時,進入cmd窗口輸入命令:
adb logcat –v time > F:\log.txt 如下圖:

2)日志導出過程中,等幾分鍾在執行Ctrl+C,終止日志導出。
3)在PC端打開導出的日志,通過App的包名篩選出有用的日志。
4)日志中搜索“FATAL EXCEPTION”關鍵字就可以定位到關鍵日志信息。
5)將關鍵字“FATAL EXCEPTION”到 “Force finishing”的日志信息篩選出來,提交給解決Bug的人員。
例如:




















