- 四大组件相关
只查看当前Activity的包名(可能有多个)
adb shell dumpsys activity top | grep ACTIVITY
查看Activity详细信息
adb shell dumpsys activity top
也可以将输出重定向到文件中,下述命令会打印出所有应用的四大组件
adb shell dumpsys > info.txt
查看Activity任务栈
adb shell dumpsys activity activities
查看后台Service信息
adb shell service list
查看指定报名的数据库存储信息(包括存储的SQL语句,查看应用操作数据库信息)
adb shell dumpsys dbinfo 包名
- 操作相关
adb shell am force-stop 包名 # 强制关闭一个应用程序
adb shell input tap x y # 点击坐标点
adb shell input keyevent 82(keycode) # 发送按键
adb shell input text XXXX # 输入文本
截屏
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
录屏
adb shell screenrecord # 默认录制时间为180s
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4 # 限制时间为10s及输出路径
adb shell screenrecord --size 1280*720 /sdcard/demo.mp4 # 指定分辨率
adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 # 指定比特率
adb shell screenrecord --verbose /sdcard/demo.mp4 # 在命令显示日志
拉取设备中的文件到本地(如遇权限问题,用chmod改一下权限即可)
adb pull
推送文件到设备中
adb push
设备的端口转发(IDA中调试很常用)
adb forward 远程端协议:端口号 设备端协议:端口号
查看设备中可以被调试的应用的进程号
adb jdwp
=== 进adb shell才可以执行 ===
查看进程信息
ps | grep 过滤内容
ps -t 进程id
清空用户数据,安装,卸载
pm clear 包名
pm install apk文件
pm uninstall 包名
启动应用,服务,发送广播
am start -n 包名/包名.Activity名
am startservice -n 包名/包名.Service名
am broadcast -a 广播动作
查看设备ip地址
netcfg
查看设备端口号
netstat
运行Java代码
app_process 运行目录 运行主类
运行一个dex文件
dalvikvm -cp dex文件 运行主类
查看当前应用的CPU消耗信息
top
查看系统属性值
getprop 属性名称
- 刷机相关
adb reboot # 重启手机
adb reboot bootloader # 重启到bootloader(刷机模式)
adb reboot recovery # 重启到recovery(恢复模式)
- 安装包相关
adb shell dumpsys package 包名 # 获取安装包信息
aapt dump badging xxx.apk # 查看应用包名package和入口activity名
dexdump xxx.dex # 查看一个dex文件的详细信息
adb install -r <apkfile> # 覆盖安装(保留数据域缓存文件,重新安装apk)
adb install -s <apkfile> # 安装apk到sd卡
adb install -d <apkfile> # 无视版本号安装
adb uninstall -k <package> # 卸载app(保留数据与缓存文件)
adb shell pm list packages # 查看所有安装app的包名
- 设备信息
adb shell cat /system/build.prop # 设备信息
adb shell getprop [key] [value] # 设置/获取属性信息
adb shell dumpsys window displays # 设备分辨率
adb shell cat /sys/class/net/wlan0/address # MAC地址
adb shell dumpsys account # 账号信息
adb shell dumpsys cpuinfo # CPU信息
adb shell cat /proc/cpuinfo # CPU序列号
adb shell dumpsys wifi # Wifi信息
adb shell dumpsys SurfaceFlinger # UI绘制的各个层级信息
adb shell dumpsys window # 键盘,窗口和它们的关系
adb shell dumpsys usagestats # 每个应用的启动次数与时间
adb shell dumpsys statusbar # 状态栏相关的信息
adb shell dumpsys meminfo # 内存信息
adb shell dumpsys diskstats # 磁盘信息
adb shell dumpsys battery # 电池信息
adb shell dumpsys batterystats # 统计系统耗电量
adb shell dumpsys alarm # Alarm
- 日志相关
清除log缓存
adb logcat -c
查看过滤日志,每条日志都有一个标记和优先级与之关联
标记:简短字符串,标识原始信息来源
优先级:V-明细、D-调试、I-信息、W-警告、E-错误、F-严重错误
adb logcat ActivityManager:I *:S
其他元数据字段
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
adb logcat -v thread
指定循环缓冲区
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)
adb logcat -b radio
打印系统事件的日志,如触屏
adb logcat -b events -v time
导出ANR日志
adb pull data/anr/traces.txt # 老版本Android
adb bugreport # 高版本用(老版本导出出现 → adb: error: failed to stat remote object)
- 其他
adb shell cat /proc/iomem # 查看wifi密码(要root权限)
adb shell dumpsys activity|grep oom_adj # 设置线程的优先级
adb shell cat proc/pid/maps # 指定进程内存地址映射
adb shell cat proc/pid/smaps # 指定进程内存详细使用信息
adb shell procrank # VSS. RSS. PSS. USS 信息
adb shell procmem pid # 指定进程VSS. RSS. PSS. USS 详细信息
adb shell getevent -p # 查看可输入的设备
adb shell getevent /dev/input/event0 # 获得特定设备的输入信息
adb shell ps | findstr mobileqq # 查看报名中包含mobileqq的进程
adb get-serialno # 获取序列号
adb shell top # CPU和内存占用情况
adb shell top -m 6 # 占用内存前6的APP
adb shell top -n 1 # 刷新一次内存信息,然后返回
adb shell procrank # 各进程内存使用情况
adb shell ps -x [PID] # 指定进程状态
adb shell cat /proc/iomem # 查看IO内存分区
网友评论