ANDROID_HOME D:\adt-bundle-mac-x86_64-20140702\sdk
PATH %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
(3)檢查是否安裝成功
- adb 回車(chē)(或者 adb shell )
二,adb常用命令
2.1 adb 與設(shè)備交互
(1)連接模擬器 (mumu 為例)
- windows:
- adb connect 127.0.0.1:7555
- adb devices
- mac:
- adb kill-server
- adb devices
(2)連接真機(jī)(android 手機(jī))設(shè)備
- 手機(jī)端:讓手機(jī)處于一個(gè)調(diào)試模式
- 電腦端安裝手機(jī)驅(qū)動(dòng)
(3)查看手機(jī)設(shè)備狀態(tài)
- 命令:
- 設(shè)備狀態(tài)種類
- device 正常
- offline 連接出現(xiàn)異常,設(shè)備無(wú)響應(yīng)
- unauthorized 未授權(quán)
2.2 adb 安裝卸載命令
(1) adb 命令格式
- 格式 :adb [-d|-e|-s <serialNumber>]<command>
- -d 指定當(dāng)前唯一通過(guò) Usb 連接的 android 設(shè)備為命令目標(biāo)(了解)
- -e 指定當(dāng)前唯一運(yùn)行的模擬器為命令目標(biāo)(了解)
- -s 指定相應(yīng)的設(shè)備為命令目標(biāo)(重點(diǎn))
(2) 安裝
- 普通安裝 adb install <apk路徑>
- 覆蓋安裝/替代安裝 adb install -r <apk路徑>
(3) 卸載
- 卸載應(yīng)用:adb uninstall 包名
- 卸載應(yīng)用(不刪除配置文件,保存數(shù)據(jù)緩存信息):adb uninstall -k 包名
2.3 adb命令啟動(dòng)頁(yè)面
(1) 包和 Activity(活動(dòng)頁(yè))的概念
- package 包:是 Android 應(yīng)用的唯一標(biāo)志
- Activity 活動(dòng)頁(yè): Android 應(yīng)用頁(yè)面,一個(gè)頁(yè)面就是一個(gè) Activity
(2) 獲取當(dāng)前的頁(yè)面名
- 打開(kāi)手機(jī) app 應(yīng)用的某個(gè)頁(yè)面
- 打開(kāi)命令行工具
- 執(zhí)行命令:adb shell "dumpsys window | grep mCurrentFocus" 獲取當(dāng)前的頁(yè)面名
(3) 獲取啟動(dòng)頁(yè)面的 activity
- 執(zhí)行命令:
- mac:adb logcat ActivityManager:I | grep "cmp"
- win:adb logcat ActivityManager:I | findstr "cmp"
(4) 啟動(dòng)頁(yè)面
- 執(zhí)行命令:adb shell am start -n <包名>/<avticity名>
2.3 adb清緩存命令
(1) adb shell 應(yīng)用
- 查看目錄結(jié)構(gòu):adb shell ls
- 查看系統(tǒng)當(dāng)前日期:adb shell date
- 查看系統(tǒng) CPU 使用情況:adb shell cat /proc/cpuinfo
- 查看系統(tǒng)內(nèi)存使用情況:adb shell cat /proc/meminfo
(2) 查看應(yīng)用列表
- 顯示所有應(yīng)用:adb shell pm list packages
- 顯示系統(tǒng)自帶應(yīng)用:adb shell pm list packages -s
- 顯示第 3 方應(yīng)用:adb shell pm list packages -3
(3)清除應(yīng)用數(shù)據(jù)及緩存
2.4 adb文件傳輸
- adb push 電腦路徑 設(shè)備路徑
- adb pull 設(shè)備路徑 電腦路徑
2.5 adb日志操作
(1)日志級(jí)別
- V — 明細(xì) verbose(最低優(yōu)先級(jí))
- D — 調(diào)試 debug
- I — 信息 info
- W — 警告 warn
- E — 錯(cuò)誤 error
- F — 嚴(yán)重錯(cuò)誤 fatal
- S — 無(wú)記載 silent(最高優(yōu)先級(jí),絕不會(huì)輸出任何內(nèi)容)
(2)查看日志
(3)查看日志常用的參數(shù)
- adb logcat --help
- adb logcat [TAG:LEVEL ] [TAG:LEVEL ] …
- adb logcat 打印默認(rèn)日志數(shù)據(jù)
- adb logcat -v time 打印時(shí)間
- adb logcat -v color 使用不同的顏色來(lái)顯示每個(gè)優(yōu)先級(jí)
- adb logcat -f <filename> 將日志輸出到手機(jī)文件,filename為手機(jī)文件的路徑地址
- adb logcat > log.log 保存日志到PC上
- adb logcat -c 清理已存在的日志
三,App壓力與性能測(cè)試
3.1 adb 模擬手機(jī)按鍵操作
- 1、打開(kāi)【指針位置】設(shè)置
- 2、執(zhí)行 adb shell input 命令,查看可以執(zhí)行的相關(guān)命令
(1)模擬點(diǎn)擊事件(打開(kāi)app)
- 執(zhí)行命令: adb shell input tap x坐標(biāo) y坐標(biāo) (x,y坐標(biāo)為app對(duì)應(yīng)的坐標(biāo))
(2) 模擬輸入事件
- 打開(kāi)app頁(yè)面,將鼠標(biāo)放到對(duì)應(yīng)的輸入框處
- 執(zhí)行命令: adb shell input text <輸入內(nèi)容>
(3) 模擬滑動(dòng)事件
- adb shell input swipe <起點(diǎn)x> <起點(diǎn)y> <終點(diǎn)x> <終點(diǎn)y> <滑動(dòng)時(shí)長(zhǎng)>
(4) 模擬手機(jī)按鍵
- 返回鍵:adb shell input keyevent 4
- Home 鍵:adb shell input keyevent 3(置應(yīng)用于后臺(tái)運(yùn)行)
- 音量放大:adb shell input keyevent 24
- 音量縮小:adb shell input keyevent 25
3.2 adb性能分析
(1) CPU 和內(nèi)存使用情況
- 查看當(dāng)前系統(tǒng) CPU 使用情況:adb shell dumpsys cpuinfo(查看某一時(shí)段內(nèi)的均值)
- 查看當(dāng)前系統(tǒng)的內(nèi)存:adb shell dumpsys meminfo
- 查看某個(gè)應(yīng)用的內(nèi)存:adb shell dumpsys meminfo <應(yīng)用名>
(2)top 命令
- adb shell top
- adb shell top |grep "包名" 查看某個(gè)包的一些性能指標(biāo)
- adb shell top -d 1 |grep "包名"
(3)電池電量
- 命令:adb shell dumpsys battery
3.3 adb壓力測(cè)試
(1)Monkey 介紹
- Monkey 是 Google 提供的一個(gè)用于穩(wěn)定性與壓力測(cè)試的命令行工具
- 可以運(yùn)行在模擬器或者實(shí)際設(shè)備中
- 它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件對(duì)軟件進(jìn)行穩(wěn)定性與壓力測(cè)試
(2) Monkey 基本用法
- 在命令提示符中輸入 adb devices 查看有無(wú)連接的設(shè)備
- 確認(rèn)有設(shè)備連接
- 獲取 app 的包名
- adb shell monkey [參數(shù)] {隨機(jī)發(fā)送事件數(shù)}
- 最簡(jiǎn)單的 monkey 命令:adb shell monkey 100
(3) Monkey 常用選項(xiàng)
- -v :用于指定反饋信息級(jí)別,總共分 3 個(gè)級(jí)別
- adb shell monkey -v -v -v 10
- -s <seednumber>:用于指定偽隨機(jī)數(shù)生成器的 seed(種子)值
- adb shell monkey -s 123 10
- --throttle <milliseconds>:每個(gè)事件結(jié)束后的間隔時(shí)間
- adb shell monkey --throttle 300 10
- -p: 用于約束限制,用此參數(shù)指定一個(gè)或多個(gè)包
- adb shell monkey -p com.android.browser 10
- --ignore-crashes:忽略崩潰
- --ignore-timeouts:忽略超時(shí)
- --ignore-security-exceptions:忽略安全異常
- --ignore-native-crashes:忽略本地代碼導(dǎo)致的崩潰異常
- --monitor-native-crashes:跟蹤本地方法的崩潰問(wèn)題
(4)Monkey 事件選項(xiàng)
- --pct-touch:觸摸事件
- --pct-motion:滑動(dòng)事件
- --pct-appswitch:activity 之間的切換
- --pct-pinchzoom:縮放事件
- --pct-rotation:屏幕旋轉(zhuǎn)事件
- --pct-flip:鍵盤(pán)事件
- --pct-anyevent:任意事件
- 注意:所有類型屬性比例加起來(lái)不能超過(guò) 100
(5) Monkey 日志分析
- 程序無(wú)響應(yīng),ANR 問(wèn)題:在日志中搜索 “ANR”
- 崩潰問(wèn)題:在日志中搜索 “CRASH”
- 其他問(wèn)題:在日志中搜索 “Exception”
軟件測(cè)試開(kāi)發(fā)免費(fèi)視頻教程分享 - 公眾號(hào) - 測(cè)試人社區(qū)
ndroid系統(tǒng)存在很多高級(jí)調(diào)試工具,比如冰箱、黑域、小黑屋、Xposed框架等等。這些工具雖然無(wú)需ROOT,但卻需要在PC端使用Adb工具激活,操作起來(lái)還是有一定難度的。特別是很多童鞋下載了Adb工具,卻始終無(wú)法連接到手機(jī),或是無(wú)法執(zhí)行相關(guān)的代碼。今天,咱們就來(lái)簡(jiǎn)單介紹一下Adb工具的正確用法。
很多高級(jí)調(diào)試工具都需要通過(guò)Adb指令激活才能使用
手機(jī)端的操作
使用Adb工具之前,我們需要先激活手機(jī)的開(kāi)發(fā)者模式。具體方法是在“設(shè)置→關(guān)于手機(jī)”界面連續(xù)點(diǎn)擊系統(tǒng)版本后激活開(kāi)發(fā)者模式,然后打開(kāi)其中的“USB調(diào)試模式”,使用數(shù)據(jù)線與PC相連,連接模式選擇“僅充電”(如果無(wú)效再嘗試其他連接模式),在彈出是否允許使用這臺(tái)計(jì)算機(jī)進(jìn)行USB調(diào)試的提示窗口中點(diǎn)擊確定。
至此,手機(jī)端的操作告一段落,接下來(lái)就需要使用PC進(jìn)行下一步的操作了。
PC端進(jìn)行Adb激活
網(wǎng)上可以下載的Adb工具包有很多版本,但絕大多數(shù)Adb工具在下載并解壓縮后你會(huì)看到至少4個(gè)文件,其中adb.exe就是我們此次需要運(yùn)行的程序。
有些工具包功能更多,對(duì)應(yīng)的文件數(shù)量也更多
但是,如果我們直接雙擊運(yùn)行會(huì)發(fā)現(xiàn)命令提示框一閃而過(guò),系統(tǒng)就再?zèng)]反應(yīng)了。
實(shí)際上,Adb工具包的正確使用方法,是返回這4個(gè)文件的上一級(jí)文件夾,鼠標(biāo)指針對(duì)著這個(gè)文件夾同時(shí)按“Shift+鼠標(biāo)右鍵”,在彈出的右鍵菜單中選擇“在此處打開(kāi)Powershell窗口”,此時(shí)你就能看到一個(gè)類似命令提示框的窗口了。
很多朋友剛看到這個(gè)界面就直接輸入Adb指令,但結(jié)果卻是彈出一大堆紅色的錯(cuò)誤提示信息。
正確的操作流程,應(yīng)該是先輸入“cmd”再按回車(chē),切換到命令提示符模式,然后建議輸入“adb devices”回車(chē),如果能看到一組數(shù)字和字母結(jié)合的代碼就代表連接成功。
在命令提示符窗口中輸入之前復(fù)制的小黑屋激活A(yù)db指令代碼回車(chē),如果返回的是這樣一大段代碼就代表激活成功,接下來(lái)就能拔下數(shù)據(jù)線,返回手機(jī)端正常使用那些高級(jí)調(diào)試工具了。
絡(luò)機(jī)頂盒(Network Set-Top Box)簡(jiǎn)稱STB技術(shù)是信息家電中至關(guān)重要的技術(shù)設(shè)備。機(jī)頂盒的功能已從一個(gè)多頻率的調(diào)諧器和解碼器躍升為大量電影、多媒體事件、新聞等聯(lián)機(jī)數(shù)據(jù)庫(kù)的一個(gè)控制終端。
一、ADB調(diào)試是什么意思?
ADB是Android Debug Bridge的縮寫(xiě),意為Android系統(tǒng)的調(diào)試橋。通過(guò)ADB我們可以在Eclipse中通過(guò)DDMS來(lái)調(diào)試Android程序,其實(shí)這就是用于谷歌Android系統(tǒng)的debug調(diào)試工具。
ADB是Android SDK里的一個(gè)工具, 用這個(gè)工具可以直接操作管理Android模擬器或者真實(shí)的Android設(shè)備。
二、ADB調(diào)試有什么用?
ADB模式可以運(yùn)行設(shè)備的shell(命令行),管理模擬器或設(shè)備的端口映射,計(jì)算機(jī)和設(shè)備之間上傳/下載文件,將本地APK軟件安裝至模擬器或Android設(shè)備。
ADB模式是電視與外界設(shè)備的數(shù)據(jù)傳送通道,即客戶端電腦給服務(wù)器端的電視設(shè)備傳送數(shù)據(jù)、安裝第三方軟件的一個(gè)功能。并且ADB模式目前只運(yùn)用于智能電視,其它電視機(jī)是沒(méi)有的
三、安卓設(shè)備ADB調(diào)試開(kāi)啟方法
一般情況下的進(jìn)入方法:設(shè)置-開(kāi)發(fā)者選項(xiàng)-網(wǎng)絡(luò)ADB調(diào)試-開(kāi)啟。當(dāng)然不同型號(hào)的盒子或者智能電視產(chǎn)品方法肯定不同,名稱不同,操作步驟也不一樣,但是總體思路還是進(jìn)入系統(tǒng)設(shè)置尋找到開(kāi)發(fā)者選項(xiàng),再進(jìn)入進(jìn)行ADB調(diào)試的開(kāi)啟,如果找不到開(kāi)發(fā)者模式,可以嘗試設(shè)置-版本信息-快速按確認(rèn)鍵4-7次,直到開(kāi)發(fā)者模式出現(xiàn),這是與安卓手機(jī)打開(kāi)開(kāi)發(fā)者模式同樣的方法!對(duì)于閹割版的機(jī)頂盒可以嘗試按返回鍵五秒以上然后快速按下左鍵以打開(kāi)開(kāi)發(fā)者模式