一古掏、什么是adb
1、adb全程為Android debug bridge(安卓調(diào)試橋)酿箭,作用:遠(yuǎn)程訪問(wèn)Android設(shè)備(連接PC和Android)
二子寓、安裝及使用
1、Android platform-tools下載(參考):https://developer.android.com/studio/releases/platform-tools.html(如果打不開(kāi),可以直接百度上搜索adb下載即可)
2、解壓下載好的文件
3、環(huán)境變量設(shè)置:打開(kāi)“我的電腦”->“屬性”->“高級(jí)系統(tǒng)設(shè)置”->“環(huán)境變量”->“編輯path變量”兄猩,將Android platform-tools的路徑添加到系統(tǒng)環(huán)境變量里
4、驗(yàn)證:打開(kāi)cmd窗口鉴未,輸入adb即可查看
三枢冤、adb常用命令
1、查看設(shè)備:adb devices 查看所有連接到電腦上的Android設(shè)備
2铜秆、安裝軟件:adb install app包名? (adb install -r app包名? ? |? ?-r:覆蓋安裝)
? ? ?查看包名的方式:
? ? ?a淹真、adb shell pm list packages -f(對(duì)于手機(jī)內(nèi)應(yīng)用程序較多的不做推薦)
? ? ?b、直接找開(kāi)發(fā)要(推薦)
? ? ?c连茧、root過(guò)的手機(jī)核蘸,1、adb shell (先過(guò)橋)2啸驯、su(獲取超級(jí)用戶(hù)權(quán)限)3客扎、cd data/data 4、ls(查看包名目錄列表)
3罚斗、卸載軟件:adb uninstall app包名(在安裝軟件的時(shí)候徙鱼,可能會(huì)出現(xiàn)安裝失敗的情況,如果在之前沒(méi)有刪除干凈针姿,或安裝的時(shí)候會(huì)提示與安裝簽名不同等失敗提示袱吆,此時(shí)使用uninstall命令可以完全清除之前沒(méi)有卸載干凈的app)
4、查看日志:adb logcat > e:\rizhi201809281731.txt? (“>”是重定向的意思距淫,將查到的日志進(jìn)行輸出绞绒;“>”后面的為輸出的絕對(duì)路徑,絕對(duì)路徑命名規(guī)則:手機(jī)型號(hào)+年月日時(shí)分秒)
? ? ?a溉愁、抓日志的前提條件:發(fā)現(xiàn)了一個(gè)bug
? ? ?b处铛、日志級(jí)別:
? ? ? ? ? ?1饲趋、i:infor信息
? ? ? ? ? ?2拐揭、d:debug調(diào)試信息
? ? ? ? ? ?3、w:waring警告信息
? ? ? ? ? ?4奕塑、e:error報(bào)錯(cuò)信息
? ? ?c堂污、抓取日志的關(guān)注點(diǎn):
? ? ? ? ? ?5、crash:崩潰
? ? ? ? ? ?6龄砰、anr:application not response:應(yīng)用無(wú)響
? ? d讨衣、adb logcat *:w> e:\rizhi201809281731.txt (*:w:抓取w級(jí)別以上的所有信息)
? ? e、小技巧:測(cè)試之前可以提前將手機(jī)開(kāi)發(fā)者選項(xiàng)打開(kāi)反镇,找到“日志記錄器緩沖區(qū)大小”,每個(gè)日志緩沖區(qū)選擇“16M”歹茶;(次目的是在測(cè)試的過(guò)程中,如果出現(xiàn)了不可復(fù)現(xiàn)的crash你弦,可以通過(guò)抓取日志的方式惊豺,獲取到app之前記錄的緩存日志)
5、monkey測(cè)試:monkey測(cè)試也叫穩(wěn)定性測(cè)試? (穩(wěn)定性測(cè)試尸昧、壓力測(cè)試、隨機(jī)測(cè)試三種不同的叫法)---------Monkey的使用及日志解讀
? ? ?a烹俗、monkey:像猴子一樣亂點(diǎn)
? ? ?b、目的:測(cè)試軟件的穩(wěn)定性萍程,健壯性衷蜓,壓力
? ? ?c、monkey命令:adb shell monkey -p com.ganji.android.haoche_c(包名) -v -v -v -s 16 200000 > e:\monkeytest.txt
? ? ? ? ? 1尘喝、-v:顯示運(yùn)行時(shí)候的日志信息級(jí)別(-v -v -v顯示全部日志信息)
? ? ? ? ? 2磁浇、-s:種子數(shù)朽褪,隨機(jī)事件數(shù)(兩次命令的執(zhí)行軌跡一樣,就可以加上)
? ? d缔赠、查看日志中是否存在異常情況,如搜索crash戴质、anr等關(guān)鍵字? (正常結(jié)束的Monkey測(cè)試踢匣,日志的末尾處有finished關(guān)鍵字)
? ? e告匠、停止monkey的方式:1离唬、adb shell(登錄設(shè)備)? 2、top|grep "monkey" (實(shí)時(shí)查詢(xún)monkey的進(jìn)程號(hào)) 3输莺、kill -9 31819(-9:強(qiáng)制殺死進(jìn)程裸诽;31819為查詢(xún)出來(lái)的進(jìn)程號(hào))
6型凳、adb kill-server:關(guān)閉adb
7、adb start-server:打開(kāi)adb
四甘畅、adb使用過(guò)程中常遇問(wèn)題
1、端口號(hào)被占用:長(zhǎng)時(shí)間使用adb命令的時(shí)候粒梦,會(huì)出現(xiàn)端口號(hào)被占用的情況(adb默認(rèn)的端口號(hào)是5037)
? ? ? a荸实、解決方案:cmd窗口下輸入
? ? ? ? ? ?1匀们、netstat -aon|findstr "5037"(查看占用端口的進(jìn)程PID)
? ? ? ? ? ? ? ??如:TCP ? ?127.0.0.1:5037 ? ? ? ? 0.0.0.0:0 ? ? ? ? ? ? ?LISTENING ? ? ? 3676
? ? ? ? ? ?2准给、tasklist|findstr “3676” (查找被占用的進(jìn)程)
? ? ? ? ? ?3、taskkill /pid 3637 /f (殺死占用端口的進(jìn)程)
? ? ? ? ? ?4露氮、重啟cmd即可
?2祖灰、adb devices找不到設(shè)備:list of devices attached(可能出現(xiàn)這種問(wèn)題的原因:1、電腦沒(méi)有安裝手機(jī)驅(qū)動(dòng)(使用豌豆莢可自動(dòng)安裝手機(jī)驅(qū)動(dòng))局扶;2叁扫、沒(méi)有關(guān)閉殺毒軟件;3莫绣、adb版本過(guò)低;)
? ? ? ?a对室、問(wèn)題定位:
? ? ? ? ? ? 1、使用adb kill-server??adb start-server命令蔫骂,如果adb開(kāi)啟和關(guān)閉都沒(méi)有問(wèn)題锭亏,說(shuō)明不是adb本身的問(wèn)題;
? ? ? ? ? ? 2慧瘤、檢查電腦上有沒(méi)有手機(jī)驅(qū)動(dòng);查看步驟:右鍵“我的電腦”->“屬性”->左邊"設(shè)備管理器"糖儡,查看“便攜設(shè)備”(如果設(shè)備沒(méi)有安裝怔匣,會(huì)有一個(gè)黃色的感嘆號(hào))
? ? ? ?a1握联、解決問(wèn)題:
? ? ? ? ? ? 1每瞒、可以安裝豌豆莢,它會(huì)自動(dòng)安裝手機(jī)驅(qū)動(dòng)代芜;
? ? ? ? ? ? 2浓利、可以手動(dòng)下載手機(jī)驅(qū)動(dòng),進(jìn)行安裝贷掖;
? ? ? ? ? ? 3、安裝完畢后苹威,再使用adb devices命令就可以查看到設(shè)備了
?3、adb驅(qū)動(dòng)已經(jīng)安裝成功潮改,但是adb devices還是無(wú)法找到設(shè)備
? ? ? ?a腹暖、通用解決方案:
? ? ? ? ? ? 1、右鍵“我的電腦”->“屬性”→左邊“設(shè)備管理器”脏答,找到Android phone,雙擊打開(kāi)(或右鍵屬性打開(kāi))
? ? ? ? ? ? 2阿蝶、點(diǎn)擊詳細(xì)信息黄绩,屬性選“硬件Id”羡洁,將vid后的值記住
? ? ? ? ? ? 3爽丹、找到.Android文件辛蚊,一般在C盤(pán)(你的用戶(hù)名)下真仲,進(jìn)去找到adb_usb.ini文件,如果沒(méi)有虑凛,自己新建一個(gè)软啼,然后在里面寫(xiě)上:0xvid(vid為步驟2的值)
? ? ? ? ? ? 4桑谍、adb kill-server?
? ? ? ? ? ? 5祸挪、adb devices 即可看到連接的設(shè)備