adb安卓調試橋測試應用(adb shell + crash(崩潰)日志)


一、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的組成主要有三部分:

  1. 客戶端client:運行在你的電腦上,你可以通過shell來調用起一個客戶端。其他Android工具,例如:ADT插針、DDMS都可以創建出一個客戶端。【adb在mac或者linux上都可以使用;需要搭建環境變量才能使用】
  2. 服務器server:運行在你電腦的后台,負責管理client和daemon進行通信。
  3. 守護進程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次“版本號”,然后在設置—>系統中出現開發者選項,開啟即可。

image

image

 

 

 

 

 

 

 

 

 

 

 

在開發者選項頁面,同時開啟“USB調試”。

有的Android系統版本手機在開啟USB調試時,有彈窗提示是否允許USB調試,一定要選擇“確定”。還有的Android系統版本手機在開啟USB調試時,詢問您是否接受允許通過此計算機進行調試的 RSA 密鑰,也需要選擇同意。

image

 

 

 

 

 

 

 

 

 

 

最后一步,在開發者選項頁面,點擊“選擇USB配置”然后選擇“MTP(多媒體傳輸)”。

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3、驗證連接

PC端通過cmd命令提示符頁面,輸入adb devices然后回車,看到如下圖結果,表示adb連接Android設備成功。

image

 

 

 

 

 

 

 

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連接。

image

 

 

 

 

 

 

 

 

 

查找手機的IP地址,在設置—>WLAN—>點擊所連接的WiFi,可以找到設備的IP,如下圖:

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

拔掉USB數據線。

###注意,拔掉USB數據線后要確保開發者選項和USB調試是開啟狀態;且“選擇USB配置”是勾選“MTP(多媒體傳輸)”狀態。

PC端在cmd命令提示符頁面輸入:adb connect <手機IP> 出現下圖所示結果,即表示連接成功。

image

 

 

 

 

 

 

 

 

1.3、驗證連接

PC端通過cmd命令提示符頁面,輸入:adb devices然后回車,看到如下圖結果,表示adb連接Android設備成功。

image

 

 

 

 

 

 

 

 

 

 

 

1.4、斷開連接

Wifi遠程連接成功后,想要關閉連接,PC端通過cmd命令提示符頁面,輸入:adb disconnect <手機IP> 即可關閉adb連接。

image

 

 

 

 

 

 

 

四、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命令窗口。

image

 

 

 

 

 

 

可以使用cd命令進行目錄切換。

輸入cd sdcard可進入手機內部存儲空間,再輸入ls可獲取當前的所有目錄內容。

image

 

 

 

 

 

 

 

 

 

 

 

 

 

通過adb shell 進入的shell命令窗口,常使用的Linux命令還有:

  • cd:切換路徑/目錄;
  • pwd:顯示當前路徑;
  • ps: 顯示當前系統正在運行進程;
  • kill:殺死某一個進程;語句: kill -9 <進程號> (-9表示強制殺死)

要退出shell操作,需要輸入exit。如下圖:

image

 

 

 

 

 

 

 

 

1.2、從Android設備提取文件至PC端

使用adb pull可以將手機中的文件拉取到PC端,命令格式如下:

adb pull <文件路徑> <本機路徑>    注意,路徑之間的空格

實際操作中一般在adb shell 進入的shell命令窗口中找到需要拉取的文件和路徑,然后exit退出shell命令窗口,執行adb pull命令。

例:adb pull /sdcard/server.log F:\test

image

 

 

 

 

 

 

 

 

 

1.3、將PC端的文件推送至Android設備

使用adb push 可以將PC端的文件推送至Android手機,命令格式如下:

adb push <文件路徑> <手機路徑>      注意,路徑之間的空格

例:adb push F:\test\server.log /sdcard/

推送成功后,通過cd切入sdcard目錄,然后輸入ls可查看server.log文件

image

 

 

 

 

 

 

 

 

 

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與/中間的一串是該應用的包名,如下圖:

image

 

 

 

 

 

 

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窗口,即可自動填充絕對路徑。

image

 

 

 

 

 

 

 

 

命令輸入正確后,回車即安裝,提示:success表示安裝成功。

image

 

 

 

 

 

 

 

 

 

 

1.6、通過adb刪除Android設備的App

adb uninstall <應用包名> 該命令在PC端通過adb刪除Android設備的App。

輸入命令后回車,提示:success表示應用刪除成功。

image

 

 

 

 

 

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的人員。

例如:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM