屏幕截图
截图保存到电脑:
代码语言:javascript复制adb exec-out screencap -p > sc.png
如果 adb 版本较老,无法使用 exec-out 命令,这时候建议更新 adb 版本。无法更新的话可以使用以下麻烦点的办法:
先截图保存到设备里:
代码语言:javascript复制adb shell screencap -p /sdcard/sc.png
然后将 png 文件导出到电脑:
代码语言:javascript复制adb pull /sdcard/sc.png
可以使用 adb shell screencap -h
查看 screencap
命令的帮助信息,下面是两个有意义的参数及含义:
参数 | 含义 |
---|---|
-p | 指定保存文件为 png 格式 |
-d display-id | 指定截图的显示屏编号(有多显示屏的情况下) |
录制屏幕
录制屏幕以 mp4 格式保存到 /sdcard:
代码语言:javascript复制adb shell screenrecord /sdcard/filename.mp4
需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。
如果需要导出到电脑:
代码语言:javascript复制adb pull /sdcard/filename.mp4
可以使用 adb shell screenrecord --help 查看 screenrecord 命令的帮助信息,下面是常见参数及含义:
–size WIDTHxHEIGHT 视频的尺寸,比如 1280x720,默认是屏幕分辨率。
–bit-rate RATE 视频的比特率,默认是 4Mbps。
–time-limit TIME 录制时长,单位秒。
–verbose 输出更多信息。
查看连接过的 WiFi 密码
需要root权限
代码语言:javascript复制adb shell
su
cat /data/misc/wifi/*.conf
设置系统日期和时间
注:需要 root 权限。
代码语言:javascript复制adb shell
su
date -s 20240823.131500
表示将系统日期和时间更改为 2024 年 08 月 23 日 13 点 15 分 00 秒。
重启手机
代码语言:javascript复制adb reboot
检测设备是否已 root
代码语言:javascript复制adb shell
su
此时命令行提示符是 $
则表示没有 root 权限,是 #
则表示已 root。
使用 Monkey 进行压力测试
Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
简单用法:
代码语言:javascript复制adb shell monkey -p <packagename> -v 500
表示向 <packagename> 指定的应用程序发送 500 个伪随机事件。
开启/关闭 WiFi
开启 WiFi:
代码语言:javascript复制adb shell svc wifi enable
- 1
- 2
关闭 WiFi:
代码语言:javascript复制adb shell svc wifi disable
重启到 Recovery 模式
代码语言:javascript复制adb reboot recovery
从 Recovery 重启到 Android
代码语言:javascript复制adb reboot
重启到 Fastboot 模式
代码语言:javascript复制adb reboot bootloader
启用/禁用 SELinux
启用 SELinux
代码语言:javascript复制adb root
adb shell setenforce 1
- 1
- 2
禁用 SELinux
代码语言:javascript复制adb root
adb shell setenforce 0
启用/禁用 dm_verity
启用 dm_verity
代码语言:javascript复制adb root
adb enable-verity
- 1
- 2
禁用 dm_verity
代码语言:javascript复制adb root
adb disable-verity
查看进程状态
代码语言:javascript复制adb shell ps
输出信息各列含义:
列名 | 含义 |
---|---|
USER | 所属用户 |
PID | 进程 ID |
PPID | 父进程 ID |
NAME | 进程名 |
查看处理器实时状态
代码语言:javascript复制adb shell top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h]
adb shell top 后面可以跟一些可选参数进行过滤查看不同的列表,可用参数及含义如下:
参数 | 含义 |
---|---|
-m | 最多显示多少个进程 |
-n | 刷新多少次后退出 |
-d | 刷新时间间隔(单位秒,默认值5) |
-s | 按某列排序(可用col值:cpu, vss, rss, thr) |
-t | 显示线程信息 |
-h | 显示帮助文档 |
输出信息各列含义:
PID 进程 ID
PR 优先级
CPU% 当前瞬间占用 CPU 百分比
S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)#THR 线程数
VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND
UID 进程所有者的用户 ID
NAME 进程名
查看进程 UID
代码语言:javascript复制adb shell dumpsys package <packagename> | grep userId=