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 控件绘制的长宽及位置 四个数据,分成两组,分别是 左上坐标和右下坐标