Android中ADB命令用法大結(jié)局
前言
說(shuō)到 ADB 大家應(yīng)該都不陌生,即 Android Debug Bridge,Android調(diào)試橋,身為 Android 開(kāi)發(fā)的我們,熟練使用 ADB 命令將會(huì)大大提升我們的開(kāi)發(fā)效率。
查看版本
ADB 的安裝這里就不多說(shuō)了,輸入以下命令有如下提示就證明你環(huán)境ok,否則自行網(wǎng)上搜索解決下。
$ adb version Android Debug Bridge version 1.0.36 Revision 8f855a3d9b35-android
ADB 的命令有很多,今天就來(lái)總結(jié)下我在開(kāi)發(fā)常用到的一些 ADB 命令。
ADB命令
1、查看最上層成activity名字:
adb shell dumpsys activity | findstr "mFocusedActivity" 或者 adb shell dumpsys window w | findstr \/ | findstr name=
2、查看Activity的任務(wù)棧:
adb shell dumpsys activity activities
3、顯示所有的activities的信息,包括任務(wù)棧等:
adb shell dumpsys activity
4、查看Android應(yīng)用包名package和入口activity名稱 :
aapt dump badging E:\apk\es3.apk
5、顯示accounts信息:
adb shell dumpsys account
5、顯示CPU信息 :
adb shell dumpsys cpuinfo
查看CPU使用信息
adb shell top -n 1 -d 0.5 | findstr proc_ id
6、顯示鍵盤(pán),窗口和它們的關(guān)系
adb shell dumpsys window
當(dāng)我們需要知道設(shè)備的分辨率時(shí)
adb shell dumpsys window displays
查看UI繪制的各個(gè)層級(jí)信息
adb shell dumpsys SurfaceFlinger
7、顯示wifi信息
adb shell dumpsys wifi
8、電量信息及CPU 使用時(shí)長(zhǎng)
adb shell dumpsys batteryinfo $package_name
9、獲取安裝包信息
adb shell dumpsys package packagename
10、每個(gè)應(yīng)用的啟動(dòng)次數(shù)和時(shí)間
adb shell dumpsys usagestats
11、顯示狀態(tài)欄相關(guān)的信息
adb shell dumpsys statusbar
12、內(nèi)存信息(meminfo package_name or pid 使用程序的包名或者進(jìn)程id顯示內(nèi)存信息)
adb shell dumpsys meminfo
得到com.teleca.robin.test進(jìn)程使用的內(nèi)存的信息 adb shell dumpsys meminfo com.teleca.robin.test
13、磁盤(pán)相關(guān)信息
adb shell dumpsys diskstats
14、電池相關(guān)信息
adb shell dumpsys battery
15、顯示Alarm信息
adb shell dumpsys alarm
統(tǒng)計(jì)系統(tǒng)耗電量
adb shell dumpsys batterystats
設(shè)置線程的優(yōu)先級(jí)
adb shell dumpsys activity|grep oom_adj
16、強(qiáng)制關(guān)閉一個(gè)應(yīng)用程序;
adb shell am force-stop <PACKAGE>
17、查看內(nèi)存信息
adb shell cat proc/meminfo
指定進(jìn)程內(nèi)存地址映射
adb shell cat proc/pid/maps
指定進(jìn)程內(nèi)存詳細(xì)使用信息
adb shell cat proc/pid/smaps
VSS. RSS. PSS. USS 信息
adb shell procrank
指定進(jìn)程VSS. RSS. PSS. USS 詳細(xì)信息
adb shell procmem pid
18、查看可輸入的設(shè)備
adb shell getevent -p
19、獲得特定設(shè)備的輸入信息
adb shell getevent /dev/input/event0
20、點(diǎn)擊
adb shell input tap x y
21、發(fā)送按鍵
adb shell input keyevent 82(keycode)
22、輸入文本
adb shell input text XXXX
23、查看報(bào)名中包含mobileqq的進(jìn)程
adb shell ps | findstr mobileqq
24、遠(yuǎn)程進(jìn)程ID
adb jdwp
25、獲取序列號(hào)
adb get-serialno
26、重啟到bootloader,即刷機(jī)模式
adb reboot bootloader
27、重啟到recovery,即恢復(fù)模式
adb reboot recovery
28、獲取機(jī)器MAC地址:
adb shell cat /sys/class/net/wlan0/address
29、獲取CPU序列號(hào)
adb shell cat /proc/cpuinfo
30、覆蓋安裝(保留數(shù)據(jù)和緩存文件,重新安裝apk)
adb install -r <apkfile>
31、安裝apk到sd卡
adb install -s <apkfile>
32、卸載app但保留數(shù)據(jù)和緩存文件
adb uninstall -k <package>
33、查看設(shè)備cpu和內(nèi)存占用情況
adb shell top
34、查看占用內(nèi)存前6的app
adb shell top -m 6
35、刷新一次內(nèi)存信息,然后返回
adb shell top -n 1
36、查詢各進(jìn)程內(nèi)存使用情況
adb shell procrank
37、查看指定進(jìn)程狀態(tài)
adb shell ps -x [PID]
38、查看后臺(tái)services信息
adb shell service list
39、查看當(dāng)前內(nèi)存占用(該方式只能得出系統(tǒng)整個(gè)內(nèi)存的大概使用情況) 車
如果你想查看所有進(jìn)程的內(nèi)存使用情況
adb shell procrank
40、查看IO內(nèi)存分區(qū)
adb shell cat /proc/iomem
41、查看wifi密碼
adb shell cat /data/misc/wifi/*.conf
42、清除log緩存
adb logcat -c
43、查看設(shè)備信息
adb shell cat /system/build.prop
44、跑monkey
adb shell monkey -v -p your.package.name 500
45、列出目標(biāo)設(shè)備上安裝的所有app的包名
adb shell pm list packages
46、截屏命令:
adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png adb shell rm /sdcard/screen.png
錄制手機(jī)屏幕,視頻格式為mp4,存放到手機(jī)sd卡里,默認(rèn)錄制時(shí)間為180s:
adb shell screenrecord
限制視頻錄制時(shí)間為10s,如果不限制,默認(rèn)180s:
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
指定視頻分辨率大小:
adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
指定視頻的比特率:
adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
在命令行顯示log:
adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
47、設(shè)置、獲取屬性信息
adb shell getprop [key] adb shell setprop [key] [value]
監(jiān)聽(tīng)系統(tǒng)屬性的變化,如果期間系統(tǒng)的屬性發(fā)生變化則把變化的值顯示出來(lái)
adb shell watchprops
48、adb logcat 每一條日志消息都有一個(gè)標(biāo)記和優(yōu)先級(jí)與其關(guān)聯(lián)。
(1)標(biāo)記是一個(gè)簡(jiǎn)短的字符串,用于標(biāo)識(shí)原始消息的來(lái)源 (例如"View" 來(lái)源于顯示系統(tǒng))。優(yōu)先級(jí)是下面的字符,順序是從低到高:
V — 明細(xì) (最低優(yōu)先級(jí))
D — 調(diào)試
I — 信息
W — 警告
E — 錯(cuò)誤
F — 嚴(yán)重錯(cuò)誤
S — 無(wú)記載 (最高優(yōu)先級(jí),沒(méi)有什么會(huì)被記載)
(2)查看過(guò)濾日志
adb logcat ActivityManager:I *:S
*:S 用于設(shè)置所有標(biāo)記的日志優(yōu)先級(jí)為S,可以確保輸出符合指定的過(guò)濾器設(shè)置的一種推薦的方式,
這樣過(guò)濾器就成為了日志輸出的“白名單”
顯示所有優(yōu)先級(jí)大于等于“warning”的日志
adb logcat *:W
(3)日志消息在標(biāo)記和優(yōu)先級(jí)之外還有很多元數(shù)據(jù)字段,這些字段可以通過(guò)修改輸出格式來(lái)控制輸出結(jié)果, -v 選項(xiàng)加上下面列出的內(nèi)容可以控制輸出字段:
brief — 顯示優(yōu)先級(jí)/標(biāo)記和原始進(jìn)程的PID (默認(rèn)格式)
process — 僅顯示進(jìn)程PID
tag — 僅顯示優(yōu)先級(jí)/標(biāo)記
thread — 僅顯示進(jìn)程:線程和優(yōu)先級(jí)/標(biāo)記
raw — 顯示原始的日志信息,沒(méi)有其他的元數(shù)據(jù)字段
time — 顯示日期,調(diào)用時(shí)間,優(yōu)先級(jí)/標(biāo)記,PID
long —顯示所有的元數(shù)據(jù)字段并且用空行分隔消息內(nèi)容
使用 thread 輸出格式
adb logcat -v thread
(4)Android日志系統(tǒng)為日志消息保持了多個(gè)循環(huán)緩沖區(qū),而且不是所有的消息都被發(fā)送到默認(rèn)緩沖區(qū),要想查看這些附加的緩沖區(qū),可以使用-b 選項(xiàng),以下是可以指定的緩沖區(qū):
radio — 查看包含在無(wú)線/電話相關(guān)的緩沖區(qū)消息
events — 查看事件相關(guān)的消息
main — 查看主緩沖區(qū) (默認(rèn)緩沖區(qū))
查看radio緩沖區(qū)
adb logcat -b radio
48、打印應(yīng)用程序的log
adb logcat -b main -v time>app.log
49、打印射頻相關(guān)的log,SIM STK也會(huì)在里面,modem相關(guān)的ATcommand等,當(dāng)然跟QXDM差的很遠(yuǎn)了
adb logcat -b radio -v time> radio.log
50、打印系統(tǒng)事件的日志,比如觸屏事件
adb logcat -b events -v time
51、tcpdump 是很有用的,對(duì)于TCP/IP協(xié)議相關(guān)的都可以使用這個(gè)來(lái)抓
adb shell tcpdump -s 10000 -w /sdcard/capture.pcap
52、狀態(tài)信息,里面包含有dmesg,dumpstate和dumpsys
adb bugreport>bugreport.log
53、kernel的log凡是跟kernel相關(guān)的,比如driver出了問(wèn)題(相機(jī),藍(lán)牙,usb,啟動(dòng),等等吧)
adb shell dmesg > ldmesg_kernel.log
54、dumpstate是系統(tǒng)狀態(tài)信息,里面比較全,包括手機(jī)當(dāng)前的內(nèi)存信息、cpu信息、logcat緩存,kernel緩存等等 。
adb shell dumpstate
55、關(guān)于系統(tǒng)service的內(nèi)容都在這個(gè)里面
adb shell dumpsys
56、顯示內(nèi)存信息
adb shell dumpsys meminfo system
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Android設(shè)備adb連接后顯示device unauthorized解決方案
- 基于adbkit的android設(shè)備管理(精簡(jiǎn)版stf)
- android中的adb命令學(xué)習(xí)
- 超詳細(xì)的Android開(kāi)發(fā)調(diào)試工具ADB命令及安裝介紹
- android中adb命令最全總結(jié)
- 詳解android adb常見(jiàn)用法
- adb通過(guò)wifi連接android設(shè)備流程解析
- Android adb命令中pm工具的作用及用法說(shuō)明
- Android adb安裝apk時(shí)提示Invalid APK file的問(wèn)題
- Android user版通過(guò)adb_enable開(kāi)啟adb 調(diào)試 不提示對(duì)話框的流程分析
- Android PC端用ADB抓取指定應(yīng)用日志實(shí)現(xiàn)步驟
- Android 實(shí)現(xiàn)永久性開(kāi)啟adb 的root權(quán)限
- 關(guān)于ADB的Android Debug Bridge(安卓調(diào)試橋)那些事
- Android客制化adb shell進(jìn)去后顯示shell@xxx的標(biāo)識(shí)
- android設(shè)置adb自帶screenrecord錄屏命令
- Android 修改adb端口的方法
- Android開(kāi)啟ADB網(wǎng)絡(luò)調(diào)試方法
- Android ADB簡(jiǎn)介、安裝及使用詳解
相關(guān)文章
Android ScrollView實(shí)現(xiàn)下拉彈回動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了Android ScrollView實(shí)現(xiàn)下拉彈回動(dòng)畫(huà)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
淺析Android App的相對(duì)布局RelativeLayout
這篇文章主要介紹了Android App的相對(duì)布局RelativeLayout,文中舉了一個(gè)登錄界面的XML布局例子,非常直觀,需要的朋友可以參考下2016-04-04
Android動(dòng)態(tài)添加view的方法示例
本篇文章主要介紹了Android動(dòng)態(tài)添加view的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
Android實(shí)現(xiàn)測(cè)試環(huán)境噪音分貝
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)測(cè)試環(huán)境噪音分貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Android kotlin+協(xié)程+Room數(shù)據(jù)庫(kù)的簡(jiǎn)單使用
這篇文章主要介紹了Android kotlin+協(xié)程+Room數(shù)據(jù)庫(kù)的簡(jiǎn)單使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Android權(quán)限機(jī)制帶來(lái)的一些安全問(wèn)題介紹
這篇文章主要介紹了Android權(quán)限機(jī)制帶來(lái)的一些安全問(wèn)題介紹,本文講解了權(quán)限機(jī)制的缺陷和不足、樹(shù)立權(quán)限意識(shí)、越過(guò)權(quán)限機(jī)制等內(nèi)容,需要的朋友可以參考下2015-04-04
Android自定義Gallery控件實(shí)現(xiàn)3D圖片瀏覽器
這篇文章主要介紹了Android自定義Gallery控件實(shí)現(xiàn)3D圖片瀏覽器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04

