Android Debug Bridge
搞了几天的ADB命令,记录一下,都是一些比较基础的命令。
环境:MacOs
安装
1 | brew install android-platform-tools |
服务
1 | # 启动adb服务 |
指定端口服务:adb -P port start-server,这个port与设备tcpip开放的端口对应。
连接
1 | # 连接(one)-数据线 |
设备状态
1 | adb get-state |
- device:设备正常连接
- offline:连接出现异常,设备无响应
- unknown:没有连接设备
重启设备
1 | adb -s 设备名称 reboot |
重启到recovery/bootloader模式:adb reboot recovery/bootloader。
APP包
查看设备包
1 | adb shell pm list packages |
- 不加参数,默认:所有应用
- -f:显示应用关联的 apk 文件
- -d:只显示 disabled 的应用
- -e:只显示 enabled 的应用
- -s:只显示系统应用
- -3:只显示第三方应用
- -i:显示应用的installer
- -u:包含已卸载应用
获取当前窗口APP包名
1 | # 第一种 |
启动包
1 | adb shell monkey -p com.ss.android.ugc.aweme -v 1 |
- 1: 代表事件次数
- -v: 日志级别,-v/-v -v/-v -v -v
包名:ADB设备包列表。
安装/卸载应用程序
1 | # 安装 |
安装:
-r:允许覆盖安装
-s:将应用安装到 sdcard
-d:允许降级覆盖安装
卸载: -k:参数可选,表示卸载应用但保留数据和缓存目录
查看应用详细信息
1 | adb shell dumpsys package <packagename> |
输出中包含很多信息,包括 Activity Resolver Table、Registered ContentProviders、包名、userId、安装后的文件资源代码等路径、版本信息、权限信息和授予状态、签名版本信息等。
查看应用安装路径
1 | adb shell pm path <PACKAGE> |
清除应用数据与缓存
1 | adb shell pm clear 包名 |
强制停止应用
1 | adb shell am force-stop 包名(com.ss.android.ugc.aweme) |
查看设备信息
型号
1 | adb shell getprop ro.product.model |
电池状况
1 | adb shell dumpsys battery |
屏幕分辨率
1 | adb shell wm size |
屏幕密度
1 | adb shell wm density |
屏幕参数
1 | adb shell dumpsys window displays |
android_id
1 | adb shell settings get secure android_id |
CPU
1 | adb shell cat /proc/cpuinfo |
与Linux查看实施cpu一致。
内存
1 | adb shell cat /proc/meminfo |
同上。
设备shell
1 | adb shell |
ls, cd, rm, mkdir, touch, pwd, cp, mv, ifconfig, netstat, ping, ps, top等,进入adb shell即可执行,与linux相似。
日志
1 | # 查看日志 |
操作
点击
1 | adb shell input tap 300 1000 |
x坐标 y坐标。
滑动
1 | adb shell input swipe 540 1300 540 500 100 |
起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标。
输入文本
1 adb shell input text hello
焦点处于某文本框。
输入系统keycode
1 | adb shell input keyevent XXXX |
keycode具参考:ADB模拟按键代码。
复制文件
1 | # 复制设备里的文件到电脑 |
关闭USB调试模式
1 | adb shell settings put global adb_enabled 0 |
实用工具
截图
1 | # 新 |
录制屏幕
1 | adb shell screenrecord /sdcard/filename.mp4 adb pull /sdcard/filename.mp4 |
其他
Connection refused
无线连接失败,执行一下命令:1
adb tcpip 5555
Windows过滤关键字
findstr
持续更新中。。。。。。1