1.5.1 常用工具之ADB介紹與快速入門

一、什么是ADB

ADB是Android-Sdk里的一個客戶端-服務(wù)器端程序意敛,其中客戶端是我們操作的電腦, 服務(wù)器端是Android設(shè)備膛虫,它的全稱為Android Debug Bridge稍刀,就是起到調(diào)試橋的作用。通過這個橋我們可以管理設(shè)備或手機(jī)模擬器的狀態(tài)账月,還可以進(jìn)行很多手機(jī)操作,如安裝軟件剧劝、系統(tǒng)升級抓歼、運(yùn)行shell命令等等。

簡而言之萄喳,ADB就是連接Android手機(jī)與PC端的橋梁蹋半,可以讓用戶在電腦上對手機(jī)進(jìn)行全面的操作。

二染突、安裝方法

電腦上需要安裝客戶端,客戶端包含在sdk里觉痛,而服務(wù)端設(shè)備上不需要安裝薪棒,只需要在手機(jī)上打開開發(fā)者選項(xiàng)并啟用USB調(diào)試功能即可。

對于Linux用戶有一個最簡單的安裝方法:在terminal下鍵入sudo apt-get install adb然后回車輸入密碼再回車俐芯,稍等片刻即可使用吧史。

不過這樣我們就沒法知道adb具體的安裝位置了,雖然這也沒什么贸营。對于好奇心爆棚的同學(xué)可以采用這樣的方法安裝:
1钞脂、將下載好的sdk解壓后放在“~目錄”或者其它任意目錄,然后修改~/.bash_profile文件冰啃,設(shè)置運(yùn)行環(huán)境指向sdk的tools目錄。
2焚刚、具體是打開~/.bash_profile文件(如果沒有此文件也可以自行添加)扇调,然后在里面加入一行 export PATH=${PATH}:<你的sdk目錄>/tools,然后就可以使用adb命令了痴腌。

三燃领、ADB常用命令

  • adb devices

這個命令是查看當(dāng)前連接的設(shè)備, 連接到計算機(jī)的Android設(shè)備或者模擬器將會被顯示出來剥悟。

  • adb install

用來安裝軟件,將指定的apk文件安裝到設(shè)備上略板。

  • adb uninstall

用來卸載軟件慈缔,將指定包名的apk文件從設(shè)備上卸載。

  • adb shell

通過上面的命令瓤檐,就可以進(jìn)入設(shè)備或模擬器的shell環(huán)境中娱节,在這個Linux Shell中,你可以執(zhí)行各種Linux的命令谴古,另外如果只想執(zhí)行一條shell命令稠歉,可以采用這種方式:adb shell [command],如:adb shell dmesg會打印出內(nèi)核的調(diào)試信息恩敌。

  • adb push 本地路徑 遠(yuǎn)程路徑

用push命令可以把本機(jī)電腦上的文件或者文件夾復(fù)制到設(shè)備(手機(jī))横媚。

  • adb pull 遠(yuǎn)程路徑 本地路徑

用pull命令可以把設(shè)備(手機(jī))上的文件或者文件夾復(fù)制到本機(jī)電腦月趟。

  • adb get-product

獲取設(shè)備的ID號

  • adb get-serialno

獲取設(shè)備的序列號

  • adb help

顯示幫助信息(包括各種命令用法與含義)

四、push 和 Install 的不同

adb push和adb install是apk包安裝的兩種方法穷躁,用法如下:

1.adb push XXX.apk /你想推送的路徑
2.adb install XXX.apk

顯而易見因妇,兩者的區(qū)別是:

adb push可以自定義推送路徑,adb install 只能安裝在/data/app文件下狡忙。
其次址芯,adb push 是將apk包復(fù)制到路徑下面窜觉,重啟后/system/app和/data/app下的apk包都會自動安裝北专。
adb install是將apk安裝到手機(jī)里拓颓,流程是:復(fù)制APK安裝包到data/app目錄下,解壓并掃描安裝包驶睦,把dex文件(Dalvik字節(jié)碼)保存到dalvik-cache目錄啥繁,并data/data目錄下創(chuàng)建對應(yīng)的應(yīng)用數(shù)據(jù)目錄(so文件也在./包名/lib下,或者/data/app-lib/包名)酬核。
另外适室,install復(fù)制APK安裝包到data/app目錄下的過程中,會將apk名改為包名-1.apk捣辆,數(shù)字為android接收到的版本號汽畴。
其中對于/system文件夾比較容易碰到的問題是報read only file的錯誤,哪怕/system已經(jīng)被你改成了777的權(quán)限鲁猩,解決的方法是:1.adb shell 2.su 3.mount -o remount rw /system重新掛載一下/system文件系統(tǒng)

五罢坝、常用的抓取日志命令

捕獲Logcat輸出:

adb logcat -c && adb logcat -v time | tee logcat.txt | grep -i 7837
adb logcat -c && adb logcat -v time | tee logcat.txt | grep -E 'showImgWithUrl'

抓取崩潰日志:

logcat -s AndroidRuntime DEBUG

adb命令向設(shè)備復(fù)制導(dǎo)入、導(dǎo)出隙券、刪除文件等

//導(dǎo)入文件復(fù)制文件
adb push 文件 目標(biāo)文件路徑
adb push lo.log storage/sdcard0
//導(dǎo)出文件 mac默認(rèn)是你的$home文件查看home文件方法 echo $HOME
adb pull storage/sdcard0/wifi_config.log

獲取序列號:

adb get-serialno

查看連接計算機(jī)的設(shè)備: adb devices
重啟機(jī)器: adb reboot
重啟到bootloader闹司,即刷機(jī)模式: adb reboot bootloader
重啟到recovery,即恢復(fù)模式: adb reboot recovery
查看log: adb logcat
終止adb服務(wù)進(jìn)程: adb kill-server
重啟adb服務(wù)進(jìn)程: adb start-server
獲取機(jī)器MAC地址: adb shell cat /sys/class/net/wlan0/address
獲取CPU序列號:adb shell cat /proc/cpuinfo
安裝APK:adb install <apkfile> //比如:adb install baidu.apk
保留數(shù)據(jù)和緩存文件拟枚,重新安裝apk:adb install -r <apkfile>
//比如:adb install -r baidu.apk
安裝apk到sd卡:adb install -s <apkfile>
// 比如:adb install -s baidu.apk
卸載APK:adb uninstall <package>
//比如:adb uninstall com.baidu.search
卸載app但保留數(shù)據(jù)和緩存文件:adb uninstall -k <package>
//比如:adb uninstall -k com.baidu.search
啟動應(yīng)用:adb shell am start -n <package_name>/.<activity_class_name>
查看設(shè)備cpu和內(nèi)存占用情況:adb shell top
查看占用內(nèi)存前6的app:adb shell top -m 6
刷新一次內(nèi)存信息恩溅,然后返回:adb shell top -n 1
查詢各進(jìn)程內(nèi)存使用情況:adb shell procrank
殺死一個進(jìn)程:adb shell kill [pid]
查看進(jìn)程列表:adb shell ps
查看指定進(jìn)程狀態(tài):adb shell ps -x [PID]
查看后臺services信息:adb shell service list
查看當(dāng)前內(nèi)存占用:adb shell cat /proc/meminfo
查看IO內(nèi)存分區(qū):adb shell cat /proc/iomem
將system分區(qū)重新掛載為可讀寫分區(qū):adb remount

從本地復(fù)制文件到設(shè)備:adb push <local> <remote>
從設(shè)備復(fù)制文件到本地:adb pull <remote> <local>

列出目錄下的文件和文件夾,等同于dos中的dir命令:adb shell ls
//進(jìn)入文件夾蜒滩,等同于dos中的cd 命令:

adb shell cd <folder>

重命名文件:adb shell rename path/oldfilename path/newfilename

刪除system/avi.apk:adb shell rm /system/avi.apk

刪除文件夾及其下面所有文件:adb shell rm -r <folder>

移動文件:adb shell mv path/file newpath/file

設(shè)置文件權(quán)限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夾:adb shell mkdir path/foldelname

查看文件內(nèi)容:adb shell cat <file>
查看wifi密碼:adb shell cat /data/misc/wifi/*.conf
清除log緩存:adb logcat -c
查看bug報告:adb bugreport
獲取設(shè)備名稱:adb shell cat /system/build.prop
查看ADB幫助:adb help
跑monkey:adb shell monkey -v -p your.package.name 500

更詳細(xì)的ADB命令指南

感謝優(yōu)秀的你跋山涉水看到了這里俯艰,不如關(guān)注下讓我們永遠(yuǎn)在一起锌订!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啦辐,隨后出現(xiàn)的幾起案子蜈项,更是在濱河造成了極大的恐慌,老刑警劉巖侥衬,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轴总,死亡現(xiàn)場離奇詭異博个,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坡倔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門罪塔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來养葵,“玉大人,你說我怎么就攤上這事佃蚜。” “怎么了熟尉?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵洲脂,是天一觀的道長恐锦。 經(jīng)常有香客問我,道長一铅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮福也,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘峦甩。我一直安慰自己现喳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布冰单。 她就那樣靜靜地躺著灸促,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荒叼。 梳的紋絲不亂的頭發(fā)上典鸡,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天萝玷,我揣著相機(jī)與錄音昆婿,去河邊找鬼蜓斧。 笑死,一個胖子當(dāng)著我的面吹牛多律,可吹牛的內(nèi)容都是我干的搂蜓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼相味,長吁一口氣:“原來是場噩夢啊……” “哼殉挽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起一死,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤傻唾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后伪煤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凛辣,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扁誓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了择克。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片前普。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拭卿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出峻厚,到底是詐尸還是另有隱情,我是刑警寧澤浦夷,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布劈狐,位于F島的核電站呐馆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏汹来。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一坟岔、第九天 我趴在偏房一處隱蔽的房頂上張望摔桦。 院中可真熱鬧,春花似錦酣溃、人聲如沸烛愧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熙兔。三九已至艾恼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舆声,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工媳握, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人娩脾。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓打毛,卻偏偏與公主長得像幻枉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子展辞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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