常用的adb命令

在平時的工作中印衔,會經(jīng)常用到adb命令紊选,在這里稍微整理了一下啼止。

一.概要

1.什么是adb道逗?

adb全稱為Android Debug Bridge,就是起到調(diào)試橋的作用献烦。顧名思義滓窍,adb就是一個debug工具。

2.adb工作原理

不是很理解巩那?那就來看看它的工作原理吧吏夯。

上圖是一個簡單的adb工作原理圖。adb客戶端服務(wù)器端程序即横,由上圖可以看出它主要三個組件組成:Client噪生,Server,Daemon东囚。

(1)當你啟動一個adb Client(客戶端)跺嗽,Client首先會選確認是否已有一個adb

Server(服務(wù)器)進程在運行,如果沒有舔庶,則會啟動Server進程抛蚁。此時,adb Server就會綁定本地的TCP端口5037惕橙,并監(jiān)聽adb

Client發(fā)來的命令瞧甩。

(2)接著,Server將會掃描所有5555到5585范圍內(nèi)的奇數(shù)端口來定位所有的模擬器或設(shè)備弥鹦,并與之建立連接肚逸。一旦Server找到

了adb

daemon(守護程序),它將建立一個到該端口的連接彬坏,這樣朦促,我們就可以使用adb命令控制和訪問模擬器或設(shè)備了。在這里栓始,需注意的是任何模擬器或設(shè)備實例會取得兩個連續(xù)的端口:一個偶數(shù)端口用來相應(yīng)控制臺的連接务冕,和一個奇數(shù)端口用來響應(yīng)adb連接。

3.adb的作用

借助adb工具幻赚,我們可以管理設(shè)備或手機模擬器的狀態(tài)禀忆,還可以進行很多手機操作,如安裝軟件落恼、系統(tǒng)升級箩退、運行shell命令等等。簡而言之佳谦,adb就是連接Android手機和PC端的橋梁戴涝,可以讓用戶在電腦上對手機進行全面的操作。

二.常用命令

這個部分主要介紹adb的使用方法和一些常用的命令。

設(shè)置adb環(huán)境:將android sdk工作目錄添加到系統(tǒng)環(huán)境變量中啥刻,則可使用adb命令了奸鸯。

1. adb devices

查看當前連接的設(shè)備(連接計算機的Android設(shè)備或者模擬器)。


2.adb install

adb install <apk文件路徑>郑什,將指定的apk安裝到設(shè)備上府喳,安裝的apk包會放在/data/app目錄下。

幾個參數(shù):

-r 強制安裝

-d(真機蘑拯,多個設(shè)備中只有一個真機時適用)

-e(模擬器,多個設(shè)備中只有一個模擬器時適用)

-s(指定設(shè)備兜粘,后接序列號)

adb –s 44a188f9 install –r test.apk(其中44a188f9即序列號申窘,通過adb devices可獲取)


3.adb uninstall

adb uninstall <apk包名>

adb uninstall –k <apk包名>

-k參數(shù)為卸載軟件時保留配置和緩存文件


4.adb reboot

重啟android設(shè)備


5.adb shell

通過adb shell 命令孔轴,就可以進入設(shè)備或者模擬器的shell環(huán)境了剃法,在這個Linux shell中,我們就可以執(zhí)行各種Linux命令了路鹰。

如果只想執(zhí)行一條shell命令贷洲,就可以采用:adb shell [shell_command]

在實際使用中,經(jīng)常與grep或findstr一起使用晋柱,起到過濾作用优构,查看自己需要的關(guān)鍵信息。


6.adb shell su

前提手機已經(jīng)root雁竞。獲取adb shell的root權(quán)限钦椭。

使用su提權(quán),用戶命令提示符有$變成#碑诉,如果手機沒有root彪腔,會提示su:permission denied。


7.adb shell ps/top

查看當前終端中的進程信息进栽,如pid等德挣。


8.adb shell am/pm

am全稱為activity manager,可使用am命令模擬各種系統(tǒng)的行為快毛,如去啟動一個activity格嗅,強制停止進程,發(fā)送廣播進程祸泪,修改設(shè)備屏幕屬性等吗浩。

如:adb shell am start <apk包名>/<activityName>:啟動一個activity。

pm全稱為package manager没隘,利用pm命令可模擬android行為或查詢設(shè)備上的應(yīng)用等懂扼。

如:adb shell pm list packages

列出當前設(shè)備所有已安裝的程序的包名。

說明:

管道符“|”:可以把標準的輸入流與標準的輸出流進行合并,或者把某個命令的標準輸出流作為另一個命令的標準輸入流阀湿。

exit退出shell赶熟。

由于grep為linux命令,運行單條adb shell 時并沒有進入linux

shell環(huán)境陷嘴,并不能用grep等其他linux命令映砖,只能用window cmd的命令。在這里可以用findstr來代替grep灾挨,使用方法為

findstr/grep [keyword]

更詳細的內(nèi)容可查看參考文獻3參考文獻4邑退。

對于常用的linux命令和常用的windows 控制臺命令,以后再作總結(jié)劳澄。


9.adb pull 和 adb push

adb pull <設(shè)備中的文件路徑> <本地路徑>:從模擬器或設(shè)備中復(fù)制文件到本地地技。

adb push <本地文件路徑> <設(shè)備中的路徑>:將本地文件或目錄復(fù)制到模擬器或設(shè)備。

這里還涉及到一個權(quán)限的問題秒拔,在后續(xù)的博文中再作介紹莫矗。


10.adb shell dumpsys

Android提供的dumpsys工具用于查看感興趣的系統(tǒng)服務(wù)信息與狀態(tài)。

參考下表:


11.adb shell monkey

跑monkey是android自動化測試的一種手段砂缩,所謂monkey測試就是模擬用戶的按鍵輸入作谚,觸摸屏輸入,手勢輸入等庵芭。當Monkey程序在模擬器或設(shè)備運行的時候妹懒,如果用戶比如點擊,觸摸喳挑,手勢或一些系統(tǒng)級別的事件的時候彬伦,它就會產(chǎn)生隨機脈沖,所以可以用Monkey的隨機重復(fù)的方法對apk作壓力測試伊诵,來測試android

app的穩(wěn)定性单绑。

如下為測試騰訊新聞apk的一個簡單實例:

說明:第一個-s指定設(shè)備,如果只連接了一臺設(shè)備曹宴,可不用該參數(shù)搂橙。

-p <apk包名>只允許系統(tǒng)啟動指定的app,如果不指定笛坦,將允許系統(tǒng)啟動設(shè)備中的所有app区转,也可指定多個包。

--throttle <毫秒數(shù)> 指定用戶操作(事件)間的時延版扩。

--ignore-crashes 指定當應(yīng)用程序崩潰時废离,Monkey依然發(fā)送事件,直到事件計數(shù)完成礁芦。

--ignore-timeouts 當應(yīng)用程序發(fā)生ANR錯誤時蜻韭,Monkey依然會發(fā)送事件悼尾,直到事件計數(shù)完成。

第2個-s肖方,用于指定偽隨機數(shù)生成器的seed值闺魏,如果seed相同,則兩次Monkey測試所產(chǎn)生的事件序列也相同的俯画。

-v 用于指定反饋信息級別析桥,總共分為level 0、level 1艰垂、level 2三個級別泡仗,級別越高,輸出的日志越詳細材泄。

最后的數(shù)字(這里是500):表示Monkey程序模擬500次隨機用戶操作事件沮焕。

>輸出測試結(jié)果到D:\monkeylog.txt

更詳細的參數(shù)可查看參考文獻5

部分測試結(jié)果如下:

對于測試結(jié)果的分析拉宗,通過搜索關(guān)鍵詞來定位錯誤,主要包括以下四個方面:

1)ANR(Application Not

Response):程序無響應(yīng)辣辫,一般主線程超過5秒沒處理就會出現(xiàn)ANR錯誤旦事。通過搜索ANR關(guān)鍵詞來定位關(guān)鍵的事件信息。除了導(dǎo)出日志外急灭,還可以將/data/anr/目錄下的trace.txt文件導(dǎo)出姐浮,用來定位分析問題。使用>adb

pull /data/anr/trace.txt d:\ 將trace.txt文件導(dǎo)出到d盤葬馋。

2)ForceClosed或其他異常退出信息:通過搜索Fatal關(guān)鍵詞來定位卖鲤。

3)崩潰問題:通過搜索Exception關(guān)鍵詞來定位。

4)發(fā)生異常后畴嘶,通過搜索Crash關(guān)鍵詞來定位到詳細的堆棧信息蛋逾。


?12.kill

kill用來中止一個進程。

比如我們在跑monkey的時候窗悯,怎么強制關(guān)閉monkey呢区匣,可以用kill <monkey進程PID>

說明:另開啟一個cmd,找到monkey的pid號蒋院,然后殺掉即可亏钩。

參考文獻:

1.Android調(diào)試橋:http://www.iteye.com/topic/260042

2.Android性能分析工具dumpsys的使用:http://www.open-open.com/lib/view/open1405061994872.html

3.adb shell 中的am pm命令:http://www.android100.org/html/201312/09/4957.html

4.adb shell 啟動應(yīng)用程序的方法:http://blog.chinaunix.net/uid-26997997-id-3350449.html

5.Monkey壓力測試詳解:http://blog.csdn.net/huangbiao86/article/details/8490743

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欺旧,隨后出現(xiàn)的幾起案子姑丑,更是在濱河造成了極大的恐慌,老刑警劉巖辞友,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栅哀,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機昌屉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門钙蒙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人间驮,你說我怎么就攤上這事躬厌。” “怎么了竞帽?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵扛施,是天一觀的道長。 經(jīng)常有香客問我屹篓,道長疙渣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任堆巧,我火速辦了婚禮妄荔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谍肤。我一直安慰自己啦租,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布荒揣。 她就那樣靜靜地躺著篷角,像睡著了一般。 火紅的嫁衣襯著肌膚如雪系任。 梳的紋絲不亂的頭發(fā)上恳蹲,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音俩滥,去河邊找鬼嘉蕾。 笑死,一個胖子當著我的面吹牛举农,可吹牛的內(nèi)容都是我干的荆针。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼颁糟,長吁一口氣:“原來是場噩夢啊……” “哼航背!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棱貌,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤玖媚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婚脱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體今魔,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡勺像,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了错森。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吟宦。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖涩维,靈堂內(nèi)的尸體忽然破棺而出殃姓,到底是詐尸還是另有隱情,我是刑警寧澤瓦阐,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布蜗侈,位于F島的核電站,受9級特大地震影響睡蟋,放射性物質(zhì)發(fā)生泄漏踏幻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一戳杀、第九天 我趴在偏房一處隱蔽的房頂上張望该面。 院中可真熱鬧,春花似錦信卡、人聲如沸吆倦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晌梨,卻和暖如春桥嗤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背仔蝌。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工泛领, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敛惊。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓渊鞋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瞧挤。 傳聞我的和親對象是個殘疾皇子锡宋,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容