adb logcat 命令格式 : adb logcat [選項(xiàng)] [過濾項(xiàng)], 其中 選項(xiàng) 和 過濾項(xiàng) 在 中括號(hào) [] 中, 說明這是可選的;
選項(xiàng)解析 :
-- "-s"選項(xiàng) : 設(shè)置輸出日志的標(biāo)簽, 只顯示該標(biāo)簽的日志;
--"-f"選項(xiàng) : 將日志輸出到文件, 默認(rèn)輸出到標(biāo)準(zhǔn)輸出流中, -f 參數(shù)執(zhí)行不成功;
--"-r"選項(xiàng) : 按照每千字節(jié)輸出日志, 需要 -f 參數(shù), 不過這個(gè)命令沒有執(zhí)行成功;
--"-n"選項(xiàng) : 設(shè)置日志輸出的最大數(shù)目, 需要 -r 參數(shù), 這個(gè)執(zhí)行 感覺 跟 adb logcat 效果一樣;
--"-v"選項(xiàng) : 設(shè)置日志的輸出格式, 注意只能設(shè)置一項(xiàng);
--"-c"選項(xiàng) : 清空所有的日志緩存信息;
--"-d"選項(xiàng) : 將緩存的日志輸出到屏幕上, 并且不會(huì)阻塞;
--"-t"選項(xiàng) : 輸出最近的幾行日志, 輸出完退出, 不阻塞;
--"-g"選項(xiàng) : 查看日志緩沖區(qū)信息;
--"-b"選項(xiàng) : 加載一個(gè)日志緩沖區(qū), 默認(rèn)是 main, 下面詳解;
--"-B"選項(xiàng) : 以二進(jìn)制形式輸出日志;
輸出指定標(biāo)簽內(nèi)容 :
-- "-s"選項(xiàng) : 設(shè)置默認(rèn)的過濾器, 如 我們想要輸出 "System.out" 標(biāo)簽的信息, 就可以使用adb logcat -s System.out 命令;
adb是什么?
adb的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用笔诵。通過adb我們可以在Eclipse中方面通過DDMS來調(diào)試Android程序辽狈,說白了就是debug工具瞻颂。adb的工作方式比較特殊酪刀,采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊眨猎,默認(rèn)情況下adb會(huì)daemon相關(guān)的網(wǎng)絡(luò)端口卜高,所以當(dāng)我們運(yùn)行Eclipse時(shí)adb進(jìn)程就會(huì)自動(dòng)運(yùn)行弥姻。
adb有什么用?
借助adb工具,我們可以管理設(shè)備或手機(jī)模擬器的狀態(tài)掺涛。還可以進(jìn)行很多手機(jī)操作庭敦,如安裝軟件、系統(tǒng)升級(jí)鸽照、運(yùn)行shell命令等等螺捐。其實(shí)簡而言說,adb就是連接Android手機(jī)與PC端的橋梁,可以讓用戶在電腦上對(duì)手機(jī)進(jìn)行全面的操作
啟動(dòng)/停止 Server
一般來說定血,下面兩個(gè)命令基本不會(huì)用到赔癌,因?yàn)橹灰O(shè)備連接正確,會(huì)自動(dòng)啟動(dòng) adb server 的澜沟,不過大家也需要知道這倆命令:
1.啟動(dòng) adb server :
adb start-server
2.停止 adb server :
adb kill-server
3. 安裝 adb install [-l][-r] [-s] <file>
('-l' means forward-lock the app) #鎖定該程序
('-r' means reinstall the app, keeping its data) #重新安裝該程序灾票,保存數(shù)據(jù)
('-s' means install on SD card instead of internal storage) #安裝在SD卡內(nèi),而不是設(shè)備內(nèi)部存儲(chǔ)
4.直接卸載:
adb uninstall <package>
// 如:adb uninstall com.stormzhang.demo
卸載 app 但保留數(shù)據(jù)和緩存文件:
adb uninstall -k com.stormzhang.demo
5.獲取 MAC 地址
$adb shell cat /sys/class/net/wlan0/address
bc:f5:ac:f9:f7:c8
6.重啟
adb reboot
7.獲取序列號(hào)
$adb get-serialno
02ae0c1021089daf
8.獲取 MAC 地址
$adb shell cat /sys/class/net/wlan0/address
bc:f5:ac:f9:f7:c8
9.查看設(shè)備型號(hào)
$adb shell getprop ro.product.model
Nexus 5
10.查看 Android 系統(tǒng)版本
$adb shell getprop ro.build.version.release
7.0.1
11.查看屏幕分辨率
$adb shell wm size
Physical size: 1080×1920
12.查看屏幕密度
$adb shell wm density
Physical density: 480
關(guān)于 ADB 的命令有太多茫虽,以上只列了一些我比較常用的命令刊苍,關(guān)于更多的命令可以見這里:
https://github.com/mzlogin/awesome-adb
13. 顯示系統(tǒng)中全部Android平臺(tái):
? android list targets
14. 顯示系統(tǒng)中全部AVD(模擬器):
? android list avd
15. 創(chuàng)建AVD(模擬器):
? android create avd --name 名稱 --target 平臺(tái)編號(hào)
16. 啟動(dòng)模擬器:
? emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
17. 刪除AVD(模擬器):
? android delete avd --name 名稱
18. 創(chuàng)建SDCard:
? mksdcard 1024M ~/名稱.img
19. AVD(模擬器)所在位置:
? Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator.android\avd)
20. 啟動(dòng)DDMS:
? ddms
21. 顯示當(dāng)前運(yùn)行的全部模擬器:
? adb devices
22. 對(duì)某一模擬器執(zhí)行命令:
? abd -s 模擬器編號(hào) 命令
23. 安裝應(yīng)用程序:
? adb install -r 應(yīng)用程序.apk
24. 獲取模擬器中的文件:
? adb pull <remote> <local>
25. 向模擬器中寫文件:
? adb push <local> <remote>
26. 進(jìn)入模擬器的shell模式:
? adb shell
27. 啟動(dòng)SDK,文檔濒析,實(shí)例下載管理器:
? android
28. 缷載apk包:
? adb shell
? cd data/app
? rm apk包
? exit
? adb uninstall apk包的主包名
? adb install -r apk包
29. 查看adb命令幫助信息:
? adb help
30. 在命令行中查看LOG信息:
? adb logcat -s 標(biāo)簽名
31. adb shell后面跟的命令主要來自:
? 源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄正什。
32. 刪除系統(tǒng)應(yīng)用:
? adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)号杏。
? adb shell
? cd system/app
? rm *.apk
33. 獲取管理員權(quán)限:
? adb root
34. 啟動(dòng)Activity:
? adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴(kuò)展數(shù)據(jù),等)婴氮。
35、發(fā)布端口:
? 你可以設(shè)置任意的端口號(hào)盾致,做為主機(jī)向模擬器或設(shè)備的請(qǐng)求端口主经。如:
adb forward tcp:5555 tcp:8000
36、復(fù)制文件:
? 你可向一個(gè)設(shè)備或從一個(gè)設(shè)備中復(fù)制文件庭惜,
? 復(fù)制一個(gè)文件或目錄到設(shè)備或模擬器上:
adb push <source> <destination></destination></source>
? 如:adb push test.txt /tmp/test.txt
? 從設(shè)備或模擬器上復(fù)制一個(gè)文件或目錄:
? adb pull <source> <destination></destination></source>
? 如:adb pull /addroid/lib/libwebcore.so .
37罩驻、搜索模擬器/設(shè)備的實(shí)例:
? 取得當(dāng)前運(yùn)行的模擬器/設(shè)備的實(shí)例的列表及每個(gè)實(shí)例的狀態(tài):
? adb devices
38、查看bug報(bào)告:
adb bugreport
39护赊、記錄無線通訊日志:
? 一般來說惠遏,無線通訊的日志非常多,在運(yùn)行時(shí)沒必要去記錄百揭,但我們還是可以通過命令爽哎,設(shè)置記錄:
? adb shell
? logcat -b radio
40、獲取設(shè)備的ID和序列號(hào):
? adb get-product
? adb get-serialno
41器一、訪問數(shù)據(jù)庫SQLite3
? adb shell
? sqlite3
【操作命令】
- 查看設(shè)備
adb devices
這個(gè)命令是查看當(dāng)前連接的設(shè)備, 連接到計(jì)算機(jī)的android設(shè)備或者模擬器將會(huì)列出顯示
!Android系列教程(六) adb操作命令詳解](http://cimg2.163.com/catchimg/20091105/9033955_2.png)
2.安裝軟件
adb install
adb install <apk文件路徑> :這個(gè)命令將指定的apk文件安裝到設(shè)備上
卸載軟件
adb uninstall <軟件名>
adb uninstall -k <軟件名>
如果加 -k 參數(shù),為卸載軟件但是保留配置和緩存文件.進(jìn)入設(shè)備或模擬器的shell:
adb shell
通過上面的命令课锌,就可以進(jìn)入設(shè)備或模擬器的shell環(huán)境中,在這個(gè)Linux Shell中祈秕,你可以執(zhí)行各種Linux的命令渺贤,另外如果只想執(zhí)行一條shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg會(huì)打印出內(nèi)核的調(diào)試信息请毛。
- 發(fā)布端口
可以設(shè)置任意的端口號(hào)志鞍,做為主機(jī)向模擬器或設(shè)備的請(qǐng)求端口。如:
adb forward tcp:5555 tcp:8000
從電腦上發(fā)送文件到設(shè)備
adb push <本地路徑> <遠(yuǎn)程路徑>
用push命令可以把本機(jī)電腦上的文件或者文件夾復(fù)制到設(shè)備(手機(jī))從設(shè)備上下載文件到電腦
adb pull <遠(yuǎn)程路徑> <本地路徑>
用pull命令可以把設(shè)備(手機(jī))上的文件或者文件夾復(fù)制到本機(jī)電腦
8方仿、查看bug報(bào)告
adb bugreport
9固棚、記錄無線通訊日志
一般來說统翩,無線通訊的日志非常多,在運(yùn)行時(shí)沒必要去記錄此洲,但我們還是可以通過命令厂汗,設(shè)置記錄:
adb shell
logcat -b radio
10、獲取設(shè)備的ID和序列號(hào)
adb get-product
adb get-serialno
adb shell
sqlite3