1、系统调试
#adb shell:进入设备的 shell 命令行界面,可以在此执行各种 Linux 命令和特定的 Android 命令。
#adb shell dumpsys:提供关于系统服务和其状态的详细信息。
#adb logcat:实时查看设备的日志信息。可以使用过滤条件来显示特定的日志信息。
#adb bugreport:生成 bug 报告,包含 dumpsys、dumpstate、logcat 的输出,用于错误分析
#adb connect : 远程连接设备
#adb disconnect : 断开设备连接
#adb shell df: 查看手机存储信息
#adb shell cat /sys/class/net/wlan0/address: 获取mac地址
2、列出安装在设备上的应用
adb shell pm list package -s 列出系统应用
adb shell pm list package -3 列出第三方的应用
adb shell pm list package -i 列出来源
adb shell pm list package -f 列出包名和路径
adb shell pm path packagename 列出应用apk的位置
adb shell pm dump packagename 列出应用相关的信息
3、清除应用的缓存数据
adb shell pm clear packagename 清除应用的缓存数据
4、安装卸载手机应用
外部安装:
#adb install test.apk
内部安装:
首先将test.apk文件push到手机目录中比如/data/local/tmp
adb shell pm install /data/local/tmp/test.apk 安装
adb shell pm install --r /data/local/tmp/test.apk 重新安装
adb shell pm uninstall -k packagename 卸载,加k保留缓存数据
adb shell pm install -d apk 允许降级安装
5、adb shell am 基本的命令
adb shell am start -n activityname 启动一个 Activity
adb shell am start -W activityname 等待页面启动完成
adb shell am start -S activityname 先停止应用再启动
adb shell am force-stop packagename 结束应用
6、adb shell dumpsys基本的命令
监控应用数据:
adb shell dumpsys cpuinfo cpu信息
adb shell dumpsys meminfo 内存信息
adb shell dumpsys power 电源信息
adb shell dumpsys battery 电池信息
adb shell dumpsys wifi wifi信息
adb shell dumpsys notification 通知信息
adb shell dumpsys activity 获取页面信息
adb shell dumpsys procstats --hours 12 最近12小时的资源情况
7、adb shell svc基本命令:
adb shell svc wifi enable | disable 打开或关闭wifi
adb shell svc data enable | disable 打开或关闭移动网络
8、adb shell input基本命令:
<可选参数>
#text 输入文本 -- adb shell input text "www.baidu.com",在编辑的文本框中输入编辑文字
#keyevent 输入事件 -- adb shell input keyevent 4 相当于返回键,返回上一页
常用键:3: HOME 键、4: 返回键、26: 电源键、82: 菜单键 66: 回车键
#tap 点击 -- adb shell input tap 760 500
#swipe 滑动<坐标><坐标为原地,则是长按> -- adb shell input swipe 760 500 600 320
9、关于获取当前页面的信息:
adb shell dumpsys activity | findstr "mFocus" windows获取当前页面的activity
adb shell dumpsys activity | grep "mFocus" mac/linux获取当前页面的activity
adb shell dumpsys activity top | findstr ACTIVITY windows查看前台应用界面的Activity
adb shell dumpsys activity top | grep ACTIVITY mac/linux查看前台应用界面的Activity
10、系统操作指令
adb shell getprop ro.product.model 获取设备型号
adb shell getprop ro.build.version.release 获取设备 Android 系统版本
adb shell getprop ro.build.version.sdk 获取设备api版本
adb get-serialno 获取设备的序列号(SN设备号)
adb shell wm size 获取设备屏幕分辨率
11、 打印页面的log信息:
adb logcat -s ActivityManager 打印页面的log信息
12、Android tcp抓包:
adb shell /data/local/tcpdump -C 10 -i any -s 0 -v -w /sdcard/capture.pcap
参数:
"-C 10": 指单个文件10MB
"-i any":指定tcpdump监听任何网络接口
"-v": 输出一个稍微详细的信息
"-s 0": 抓取长度,默认为65535字节
"-w xxx": 指定将监听到的数据包写入文件中保存
截获所有210.21.40.2 的主机收到和发出的所有数据包:
tcpdump host 210.21.40.2
adb shell tcpdump -X -n -s 0 port 80
参数:
"-X:" 分析和打印时,打印的每个数据包的报头,打印十六进制和ASCII的数据,每一个数据包(减去其链路层报头)
"-n": 不把网络地址转换成名字
"port 80":就是只监听80 端口的信息
tcpdump 下载 https://www.tcpdump.org/
13、截图命令:
adb shell screencap -p /sdcard/screen.png 截图并保存到指定位置
14、录制屏幕命令:
adb shell screenrecord /sdcard/demo.mp4 视频录制命令(录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s)
可选参数:
参数: --time-limit 限制录制时间
#adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
说明:限制视频录制时间为10s,如果不限制,默认180s
参数: --size 指定视频分辨率大小
#adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
说明:录制视频,分辨率为1280*720,如果不指定默认使用手机的分辨率,为获得最佳效果,请使用设备上的高级视频编码(AVC)支持的大小
参数: --bit-rate 指定视频的比特率
#adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
说明:指定视频的比特率为6Mbps,如果不指定,默认为4Mbps. 你可以增加比特率以提高视频质量或为了让文件更小而降低比特率
参数: --verbose 在命令行显示log
#adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
参数:--rotate 旋转90度
15、monkey测试
adb shell monkey -p 包名 --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v --s 1718955812918 100 monkey测试
当前时间戳:https://www.uutils.com/network/timestamp.htm
杀死monkey进程:
ps | grep monkey 查看monkey进程的pid
kill pid 杀死monkey进程
adb shell ls /system/bin 查看当前设备可以使用的所有命令
16、旋转屏幕
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
17、生成当前页面的xml文本:
adb shell uiautomator dump [file] 获取当前页面的xml信息,缺失[file]时,默认创建到手机中 /sdcard/window_dump.xml 通过pull 导出即可
text 控件中显示的文本内容
class 控件的类型
package 包名
content-desc 说明
checkable 是否允许check
checked check状态
clickable 是否允许click
enabled 控件状态
focusable 是否允许获取焦点
focused 是否获取到焦点
scrollable 是否允许滚动
long-clickable 是否允许长安
password 是否是密码控件
selected select状态
bounds 控件绘制的长宽及位置 四个数据,分成两组,分别是 左上坐标和右下坐标