ADB 操作命令详解及用法大全(五)

2024-04-18 16:10:07 浏览数 (2)

屏幕截图

截图保存到电脑:

代码语言: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=

0 人点赞