ADB安裝與常用命令詳解
一、ADB意義
adb的全稱為Android Debug Bridge,就是起到調試橋的作用,也就是debug工具,通過它可以和android設備或模擬器通信。
二、ADB作用
借助adb工具,我們可以管理設備或手機模擬器的狀態。還可以進行很多手機操作,如安裝軟件、系統升級、運行shell命令等等。其實簡而言說,adb就是連接Android手機與PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。
三、詳解ADB安裝與使用
下面會為大家介紹一下adb工具如何操作,並介紹幾個常用命令以備日后測軟件抓取log和操作方便使用
【軟件需要】
1.下載adb工具包有如下兩種方式:
(adb工具包主要包含4個文件adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll,fastboot.exe)
- 下載Android SDK,adb文件位置如下
- 網上直接下載ADB工具包(推薦此方式)
2.Android相關手機驅動
注:為了方便已把adb工具包和驅動打包上傳至百度雲,點擊下載使用 http://pan.baidu.com/s/1bnz3gOv
【軟件安裝】
步驟1:安裝USB驅動
進入設置--開發者選項-USB調試,將第一個選項打鈎選中。然后通過USB線連接電腦,提示安裝驅動。
步驟2:軟件准備
(這里教程使用的是第二種直接下載adb工具包的安裝方式,如果使用第一種SDK安裝,配置環境變量也是需要把SDK的路徑下的platform-tools和tools的路徑都配置到path下)
1) 將提供的軟件工具包放置到任意盤中 如放到D盤目錄下:
2) 為了可以直接方便快捷的進入adb目錄下,可以配置下環境變量,步驟如下:
- 計算機點擊右鍵--屬性--高級系統設置--環境變量--找到變量名為path的--欄后點擊編輯添加adb的根目錄到path路徑下
- 添加adb到path路徑后,可到開始菜單中輸入cmd打開控制台輸入adb shell來驗證是否配置成功。
如果沒有配置成功,輸入adb shell后會提示 adb 不是內部命令(有時需要重啟電腦才可以檢查到已經安裝成功);
如果配置成功且連接上設備或者啟動已經模擬器后,輸入adb shell后會有如下圖 提示
【常用操作命令詳解】
1. 查看設備
adb devices
這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示,可以確認設備是否連接上,如下截圖是已經連接上的情況
實際連接狀態如下:
- Device--此實例正與adb服務器連接
- offline — 此實例沒有與adb相連接或者無法響應
- no device---當前沒有模擬器/設備運行
2.adb logcat命令行用法,可使用-help來查看adb可輸出的選項命令
常用選項解析:
- 輸出指定標簽內容 :
-- "-s"選項 : 設置默認的過濾器, 如 我們想要輸出 “ActivityManager" 標簽的信息, 就可以使用adb logcat -s ActivityManager命令;
(打印ActivityManager我們可以獲得系統里正在運行的activities(英文意思為活動,那么顧名思義就是在運行着的應用程序),包括進程(Process)等、應用程序/包、服務(Service)、任務(Task)信息,給研發提供這些日志輸入可供分析是什么應用在運行從而導致程序異常)
- 輸出日志信息到文件 :
-- "-f"選項 : 該選項后面跟着輸入日志的文件, 使用adb logcat -f /sdcard/log.txt & 命令(加入&表示后台運行,exit之后就可以拔掉數據線了,手機后台會一直運行這個logcat,並且該進程的ID為8278), 注意這個log文件是輸出到手機上,需要指定合適的路徑。
(采集的過程是不顯示的,Ctrl+c結束采集,其中下圖中 ps | grep logcat表示查詢過濾出在運行的logcat,當結束采集log時,一定要關閉掉這個PS,然后使用kill id 將其殺掉關閉)
- 指定 logcat 的日志輸出格式和輸出到什么位置 :
-- "-v"和”>”選項 : 使用adb logcat -v time > D:/test.log命令, 可以看日志的輸出時間和輸出到什么位置;
- 加載一個可使用的日志緩沖區供查看
--”-b”選項:使用adb logcat -b radio 查看日志緩沖區包含radio 和 telephony信息
3. 進入設備或模擬器的shell:
adb shell [command]
通過上面對adb logcat標簽的認識,那么就可以進入設備或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux的命令,一般在測試抓取log過程中都是執行一條shell命令,可通過以下常用命令來采集log:
- adb logcat -v time一般的常規log日志.(經常使用)
- adb shell dmesg會打印出開機的內核的調試信息(一般在手機自動重啟會使用)
- adb bugreport 查看bug報告,包含有內核信息(可用於5.0以上系統的內核日志抓取)
- adb logcat -b radio -v time 帶射頻信息的LOG(很少使用)
- adb logcat -b events -v time 帶事件信息的events log (很少使用)
- adb logcat -v threadtime 命令可以看日志的輸入時間和線程信息(一般手機自動重啟會使用)
- anr log (在 "data/anr"目錄下如果要進入到data目錄下是需要先root手機的,可查看下文第4點root手機)一般是出現死機重啟,或者奔潰性關不掉的crash現象如phone報錯無法關閉的bug.(出現crash現象一般需要使用此命令)
ANRlog一般會有traces文件,需使用命令導出
第一步:adb shell
第二步:cd /data/anr(如果有anr目錄繼續執行第三步,如果沒有會提示沒有此 目錄,那就不需要在去traces文件了)
第三步:ls(查看存在的traces 文件)
第四步:Ctrl+C退出,然后輸入adb pull /data/anr/traces文件名.txt E:\ 把文 件導入到E盤
- tombstone log (在/data/tombstones/"目錄下) 死機LOG(很少使用):
- adb logcat -c 清空日志緩存信息命令, 可以將之前的日志信息清空, 重新開始輸出日志信息;
4.root手機
一般有些用戶會卸載系統的一些應用,來減少手機內存的大小,那么我們使用命令來root手機后卸載應用,可以檢測手機的穩定性是否在可控范圍之內
1.adb reboot-bootloader(進入fastboot模式,打開OEM模式)
2.fastboot oem teston
3.fastboot reboot(重啟手機)
4.adb root(root手機)
5.adb remount (重新掛載系統分區,使系統分區重新可寫)
5.刪除系統應用(前提需root可和第4個結合使用)
1.adb remount
2.adb shell
3.cd system/app(進入到系統應用目錄下)
4.rm *.apk(刪除應用)
6.安裝軟件
adb install <apk文件路徑> :這個命令將指定的apk文件安裝到設備上
使用此命令可以方便快捷的把第三方APK安裝在設備上
adb install
7.卸載軟件
adb uninstall <軟件名>
8.從電腦上發送文件到設備
用push命令可以把本機電腦上的文件或者文件夾復制到設備(手機)
adb push <本地路徑> <遠程路徑>
9.從設備上下載文件到電腦
用pull命令可以把設備(手機)上的文件或者文件夾復制到本機電腦,在測試的時候方便快捷,以備在TP失效時,可以使用此方法把想要的文件復制到電腦上查看
adb pull <遠程路徑> <本地路徑>
10.刪除文件/文件夾(最好先root手機才可進入到系統)
一般在做自動化錄制腳本測試時,會在data目錄下新建文件,那么自動化完成后需要刪除文件或文件夾時,就可用如下命令執行
1.adb shell
2.cd /data //進入系統內指定文件夾
3.ls //列表顯示當前文件夾內容
4.rm -r xxx / /刪除名字為xxx的文件夾及其里面的所有文件
rm xxx //刪除文件xxx
rmdir xxx //刪除xxx的文件夾
【adb命令用於monkey測試】
當Monkey程序在模擬器或設備運行的時候,如果用戶出發了比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey用隨機重復的方法去負荷測試軟件.
最簡單的方法就是用下面的命令來使用Monkey,這個命令將會啟動軟件並且觸發500個事件(事件數可以設定)將其monkey的log日志打印在PC端的D盤內.
adb shell monkey -v -p your.package.name 500 >D:monkey.log
2015/08/10 By dq