1、查看最上層成activity名字:
adb shell dumpsys activity | findstr "mFocusedActivity"
或者
adb shell dumpsys window w | findstr \/ | findstr name=
2、查看Activity的任務棧:
adb shell dumpsys activity activities
3、顯示所有的activities的信息,包括任務棧等:
adb shell dumpsys activity
adb shell dumpsys activity | grep -i run
4、查看Android應用包名package和入口activity名稱 :
aapt dump badging E:\apk\es3.apk
5、顯示accounts信息:
adb shell dumpsys account
顯示CPU信息 :
adb shell dumpsys cpuinfo
查看CPU使用信息
adb shell top -n 1 -d 0.5 | findstr proc_ id
6、顯示鍵盤,窗口和它們的關系
adb shell dumpsys window
當我們需要知道設備的分辨率時
adb shell dumpsys window displays
查看UI繪制的各個層級信息
adb shell dumpsys SurfaceFlinger
7、顯示wifi信息
adb shell dumpsys wifi
8、電量信息及CPU 使用時長
adb shell dumpsys batteryinfo $package_name
9、獲取安裝包信息
adb shell dumpsys package packagename
10、每個應用的啟動次數和時間
adb shell dumpsys usagestats
11、顯示狀態欄相關的信息
adb shell dumpsys statusbar
12、內存信息(meminfo package_name or pid 使用程序的包名或者進程id顯示內存信息)
adb shell dumpsys meminfo
得到com.teleca.robin.test進程使用的內存的信息 adb shell dumpsys meminfo com.teleca.robin.test
13、磁盤相關信息
adb shell dumpsys diskstats
14、電池相關信息
adb shell dumpsys battery
15、顯示Alarm信息
adb shell dumpsys alarm
統計系統耗電量
adb shell dumpsys batterystats
設置線程的優先級
adb shell dumpsys activity|grep oom_adj
16、強制關閉一個應用程序;
adb shell am force-stop <PACKAGE>
17、查看內存信息
adb shell cat proc/meminfo
指定進程內存地址映射
adb shell cat proc/pid/maps
指定進程內存詳細使用信息
adb shell cat proc/pid/smaps
VSS. RSS. PSS. USS 信息
adb shell procrank
指定進程VSS. RSS. PSS. USS 詳細信息
adb shell procmem pid
18、查看可輸入的設備
adb shell getevent -p
19、獲得特定設備的輸入信息
adb shell getevent /dev/input/event0
20、點擊
adb shell input tap x y
21、發送按鍵
adb shell input keyevent 82(keycode)
22、輸入文本
adb shell input text XXXX
23、查看報名中包含mobileqq的進程
adb shell ps | findstr mobileqq
24、遠程進程ID
adb jdwp
25、獲取序列號
adb get-serialno
26、重啟到bootloader,即刷機模式
adb reboot bootloader
27、重啟到recovery,即恢復模式
adb reboot recovery
28、獲取機器MAC地址:
adb shell cat /sys/class/net/wlan0/address
29、獲取CPU序列號
adb shell cat /proc/cpuinfo
30、覆蓋安裝(保留數據和緩存文件,重新安裝apk)
adb install -r <apkfile>
31、安裝apk到sd卡
adb install -s <apkfile>
32、卸載app但保留數據和緩存文件
adb uninstall -k <package>
33、查看設備cpu和內存占用情況
adb shell top
34、查看占用內存前6的app
adb shell top -m 6
35、刷新一次內存信息,然后返回
adb shell top -n 1
36、查詢各進程內存使用情況
adb shell procrank
37、查看指定進程狀態
adb shell ps -x [PID]
38、查看后臺services信息
adb shell service list
39、查看當前內存占用(該方式只能得出系統整個內存的大概使用情況) 車 如果你想查看所有進程的內存使用情況
adb shell procrank
40、查看IO內存分區
adb shell cat /proc/iomem
41、查看wifi密碼
adb shell cat /data/misc/wifi/*.conf
42、清除log緩存
adb logcat -c
43、查看設備信息
adb shell cat /system/build.prop
44、跑monkey
adb shell monkey -v -p your.package.name 500
45、列出目標設備上安裝的所有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
錄制手機屏幕,視頻格式為mp4,存放到手機sd卡里,默認錄制時間為180s:
adb shell screenrecord
限制視頻錄制時間為10s,如果不限制,默認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、設置、獲取屬性信息
adb shell getprop [key]
adb shell setprop [key] [value]
監聽系統屬性的變化,如果期間系統的屬性發生變化則把變化的值顯示出來
adb shell watchprops
48、adb logcat 每一條日志消息都有一個標記和優先級與其關聯。
(1)標記是一個簡短的字符串,用于標識原始消息的來源 (例如"View" 來源于顯示系統)。優先級是下面的字符,順序是從低到高:
- V — 明細 (最低優先級)
- D — 調試
- I — 信息
- W — 警告
- E — 錯誤
- F — 嚴重錯誤
- S — 無記載 (最高優先級,沒有什么會被記載)
(2)查看過濾日志
adb logcat ActivityManager:I *:S
*:S 用于設置所有標記的日志優先級為S,可以確保輸出符合指定的過濾器設置的一種推薦的方式,
這樣過濾器就成為了日志輸出的“白名單”
顯示所有優先級大于等于“warning”的日志
adb logcat *:W
(3)日志消息在標記和優先級之外還有很多元數據字段,這些字段可以通過修改輸出格式來控制輸出結果,-v
選項加上下面列出的內容可以控制輸出字段:
- brief — 顯示優先級/標記和原始進程的PID (默認格式)
- process — 僅顯示進程PID
- tag — 僅顯示優先級/標記
- thread — 僅顯示進程:線程和優先級/標記
- raw — 顯示原始的日志信息,沒有其他的元數據字段
- time — 顯示日期,調用時間,優先級/標記,PID
- long —顯示所有的元數據字段并且用空行分隔消息內容
使用 thread 輸出格式
adb logcat -v thread
(4)Android日志系統為日志消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,要想查看這些附加的緩沖區,可以使用-b
選項,以下是可以指定的緩沖區: - radio — 查看包含在無線/電話相關的緩沖區消息
- events — 查看事件相關的消息
- main — 查看主緩沖區 (默認緩沖區)
查看radio緩沖區
adb logcat -b radio
48、打印應用程序的log
adb logcat -b main -v time>app.log
更詳細的logcat命令用法
49、打印射頻相關的log,SIM STK也會在里面,modem相關的ATcommand等,當然跟QXDM差的很遠了
adb logcat -b radio -v time> radio.log
50、打印系統事件的日志,比如觸屏事件
adb logcat -b events -v time
51、tcpdump 是很有用的,對于TCP/IP協議相關的都可以使用這個來抓
adb shell tcpdump -s 10000 -w /sdcard/capture.pcap
52、狀態信息,里面包含有dmesg,dumpstate和dumpsys
adb bugreport>bugreport.log
53、kernel的log凡是跟kernel相關的,比如driver出了問題(相機,藍牙,usb,啟動,等等吧)
adb shell dmesg > ldmesg_kernel.log
54、dumpstate是系統狀態信息,里面比較全,包括手機當前的內存信息、cpu信息、logcat緩存,kernel緩存等等 。
adb shell dumpstate
55、關于系統service的內容都在這個里面
adb shell dumpsys
56、顯示內存信息
adb shell dumpsys meminfo system
本文轉自 簡書