ADB高级应用
时间:2022-03-14 01:44
ADB高级应用
一、利用无线来查看adb shell
> adb tcpip 5555连接: > adb connect IP:5555
见后文《调试注意事项》
二、模拟按键
> adb shell input keyevent "value"部分常见按键对应值: Key | Constant Value Back 4 Power 26 Menu 82 Home 3 Search 84
方向键: 上 19 下 20 左 21 右 22 确认(类似单击):23
三、adb shell下查看系统盘符
> adb shell df四、adb shell下挂载系统
> adb shell > busybox mount -o remount,rw /system五、adb shell 下移除USB设备
> adb shell > vdc unshare /mnt/sdcard ums六、adb shell 下查看内核信息
> cat /proc/kmsg &七、查看build配置的值(以heap为例)
> adb shell getprop | grep heap八、通过sendevent 模拟按键以及鼠标
直接用input实现: > adb shell input keyevent 3 > adb shell input tap 250 250 > adb shell input swipe 250 250 300 300
九、查看屏幕显示的fps
开启系统属性:debug.sf.fps=1然后直接logcat -s SurfaceFlinger -v time
(看SurfaceFlinger里面打印出来时多少)
十、查看当前运行程序栈
> dumpsys window windows | busybox grep "Window #"
十一、查看当前设备DDR运行频率
> cat /proc/clocks | busybox grep "ddr"十二:ADB logcat过滤
adb logcat -s TAG_NAMEadb logcat -s TAG_NAME_1 TAG_NAME_2 adb logcat “*:PRIORITY” adb logcat -s TAG_NAME:PRIORITY
adb logcat -s TAG_NAME_1:PRIORITY_1 TAG_NAME_2:PRIORITY
优先级(PRIORITY)分为以下几种:
V – Verbose
D – Debug
I – Info
W – Warning
E – Error
F – Fatal
S – Silent
范例: > adb logcat *:E 查看异常信息 > adb logcat -s "TAG" 过滤TAG
十三:查看设备是否拥有su权限(4.2及之前版本)
> adb shell
> ps
# 会列出系统进程
# 选一个u开头的 表示普通程序
> su u0_a8
#切换到u0_a8下 #号变 >
> su
#如果可以执行,>号为#号,则表示有su权限,如果提示权限问题,就没有su权限
十四:查看应用引用
adb 查看Android应用所有引用 > adb shell > ps (查看PID号) > cd /proc/PID号/fd > busybox ls -l 也将文件拷贝出来 > cat xxx > /sdcard/xxx十五:获取运行内存/CPU信息
> adb shell > cat /proc/meminfo > cat /proc/cpuinfo十六:抓取Logcat信息及kmsg信息
# cat proc/kmsg >/data/kmsg.txt &# logcat -v time >/data/logcat.txt &
十七:查看Android(手机\平板\开发板等)设备信息
> adb shell dumpsys package > package.xml
(此命令可显示手机(平板)可供应用查询到的library和feature)
十八、输出所有已经安装的应用
> adb shell pm list packages -f
十九、查看预安apk
二十:清除logcat缓冲区
(用这个命令来清除一些重复出现的过时的日志)> adb logcat -c