1、查看最上层成activity名字:
1 2 |
adb shell dumpsys activity | findstr "mFocusedActivity" 或者 adb shell dumpsys window w | findstr \/ | findstr name= |
2、查看Activity的任务栈:
1 |
adb shell dumpsys activity activities |
3、显示所有的activities的信息,包括任务栈等:
1 |
adb shell dumpsys activity |
1、获取安装包信息
1 |
adb shell dumpsys package packagename |
2、列出目标设备上安装的所有app的包名
1 |
adb shell pm list packages |
|
adb shell pm list packages -f // |
还能显示出路径 |
3、覆盖安装(保留数据和缓存文件,重新安装apk)
1 |
adb install -r |
4、安装apk到sd卡
1 |
adb install -s |
5、卸载app但保留数据和缓存文件
1 |
adb uninstall -k <package> |
6、查看Android应用包名package和入口activity名称 :
1 |
aapt dump badging E:\apk\es3.apk |
1、显示CPU信息 :
1 |
adb shell dumpsys cpuinfo |
2、查看CPU使用信息
1 |
adb shell top -n 1 -d 0.5 | findstr proc_ id |
3、内存信息(meminfo package_name or pid 使用程序的包名或者进程id显示内存信息)
1 |
adb shell dumpsys meminfo |
得到com.teleca.robin.test进程使用的内存的信息 adb shell dumpsys meminfo com.teleca.robin.test
4、电量信息及CPU 使用时长
1 |
adb shell dumpsys batteryinfo $package_name |
5、关于系统service的内容都在这个里面
1 |
adb shell dumpsys |
6、显示内存信息
1 |
adb shell dumpsys meminfo system |
7、查看内存信息
1 |
adb shell cat proc/meminfo |
8、指定进程内存地址映射
1 |
adb shell cat proc/pid/maps |
9、指定进程内存详细使用信息
1 |
adb shell cat proc/pid/smaps |
10、VSS. RSS. PSS. USS 信息
1 |
adb shell procrank |
11、指定进程VSS. RSS. PSS. USS 详细信息
1 |
adb shell procmem pid |
12、每个应用的启动次数和时间
1 |
adb shell dumpsys usagestats |
13、磁盘相关信息
1 |
adb shell dumpsys diskstats |
14、电池相关信息
1 |
adb shell dumpsys battery |
15、统计系统耗电量
1 |
adb shell dumpsys batterystats |
16、设置线程的优先级
1 |
adb shell dumpsys activity|grep oom_adj |
17、查看报名中包含mobileqq的进程
1 |
adb shell ps | findstr mobileqq |
18、远程进程ID
1 |
adb jdwp |
1 |
adb shell dumpstate |
20、查看设备cpu和内存占用情况
1 |
adb shell top |
21、查看占用内存前6的app
1 |
adb shell top -m 6 |
22、刷新一次内存信息,然后返回
1 |
adb shell top -n 1 |
23、查询各进程内存使用情况
1 |
adb shell procrank |
24、查看指定进程状态
1 |
adb shell ps -x [PID] |
25、查看后台services信息
1 |
adb shell service list |
26、查看当前内存占用(该方式只能得出系统整个内存的大概使用情况) 车
如果你想查看所有进程的内存使用情况
1 |
adb shell procrank |
27、查看IO内存分区
1 |
adb shell cat /proc/iomem |
28、存储信息
1 |
adb shell df |
adb shell df /data //内部存储信息 |
//例如:1460是要查看的进程的PID
1 |
cat /proc/1460/maps //查看进程的文件结构 |
cat /proc/1460/status //查看进程的状态 |
1、显示键盘,窗口和它们的关系
1 |
adb shell dumpsys window |
2、当我们需要知道设备的分辨率时
1 |
adb shell dumpsys window displays |
3、查看UI绘制的各个层级信息
1 |
adb shell dumpsys SurfaceFlinger |
4、查看手机分辨率
1 |
adb shell wm size |
1、显示wifi信息
1 |
adb shell dumpsys wifi |
2、tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓
1 |
adb shell tcpdump -s 10000 -w /sdcard/capture.pcap |
3、获取机器MAC地址:
1 |
adb shell cat /sys/class/net/wlan0/address |
4、查看wifi密码
1 |
adb shell cat /data/misc/wifi/*.conf |
5、连接设备
1 |
adb connect + [设备ip] 10.0.0.4:5555 |
1、显示状态栏相关的信息
1 |
adb shell dumpsys statusbar |
1、查看可输入的设备
1 |
adb shell getevent -p |
2、获得特定设备的输入信息
1 |
adb shell getevent /dev/input/event0 |
3、点击
1 |
adb shell input tap x y |
4、发送按键
1 |
adb shell input keyevent 82(keycode) |
5、输入文本
1 |
adb shell input text XXXX |
1、重启到bootloader,即刷机模式
1 |
adb reboot bootloader |
2、重启到recovery,即恢复模式
1 |
adb reboot recovery |
1、获取序列号
1 |
adb get-serialno |
adb shell getprop ro.serialno |
2、获取CPU序列号
1 |
adb shell cat /proc/cpuinfo |
3、查看设备信息
1 |
adb shell cat /system/build.prop |
4、设置、获取属性信息
1 2 3 |
adb shell getprop [key]
adb shell setprop [key] [value] |
5、监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
1 |
adb shell watchprops |
Android log相关
1、adb logcat 每一条日志消息都有一个标记和优先级与其关联。
(1)标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来源于显示系统)。优先级是下面的字符,顺序是从低到高:
V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
(2)查看过滤日志
1 |
adb logcat ActivityManager:I *:S |
*:S 用于设置所有标记的日志优先级为S,可以确保输出符合指定的过滤器设置的一种推荐的方式,
这样过滤器就成为了日志输出的“白名单”
显示所有优先级大于等于“warning”的日志
1 |
adb logcat *:W |
(3)日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果, -v 选项加上下面列出的内容可以控制输出字段:
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
使用 thread 输出格式
1 |
adb logcat -v thread |
(4)Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b 选项,以下是可以指定的缓冲区:
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)
查看radio缓冲区
1 |
adb logcat -b radio |
2、打印应用程序的log
1 |
adb logcat -b main -v time>app.log |
3、打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了
1 |
adb logcat -b radio -v time> radio.log |
4、打印系统事件的日志,比如触屏事件
1 |
adb logcat -b events -v time |
5、状态信息,里面包含有dmesg,dumpstate和dumpsys
1 |
adb bugreport>bugreport.log |
6、kernel的log凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等吧)
1 |
adb shell dmesg > ldmesg_kernel.log |
7、跑monkey
1 |
adb shell monkey -v -p your.package.name 500 |
8、清除log缓存
1 |
adb logcat -c |
9、截屏命令:
1 2 3 4 5 |
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png |
录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s:
1 |
adb shell screenrecord |
限制视频录制时间为10s,如果不限制,默认180s:
1 |
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4 |
指定视频分辨率大小:
1 |
adb shell screenrecord --size 1280*720 /sdcard/demo.mp4 |
指定视频的比特率:
1 |
adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
在命令行显示log:
1 |
adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4 |
10、强制关闭一个应用程序;
1 |
adb shell am force-stop |
1、显示Alarm信息
1 |
adb shell dumpsys alarm |
2、显示accounts信息:
1 |
adb shell dumpsys account |
3、列出设备上输入法
1 |
adb shell ime list -s |