ADB启动关闭服务
启动adb服务
adb start-server
关闭adb服务
adb kill-server
设备连接状态 (device# 正常 offline # 异常,无响应 unauthorized # 未授权)
adb devices
显示adb版本
adb version
关机重启
第一种关机
adb shell reboot -p
第二种关机
adb shell su -c "reboot -p"
重启到系统
adb reboot
重启到Recovery模式
adb reboot recovery
重启到Fastboot模式
adb reboot bootloader
设备连接
连接设备(连接模拟器也一样)
adb connect IP:端口号
断开设备
adb disconnect IP:端口号
无线调试(Android 11 以下版本,需借助 USB)
指定连接的端口号(需要手机连接到电脑)
adb tcpip 端口号
指定多个设备连接的端口号
adb -s 序列号 tcpip 端口号
无线调试(Android 11 及更高版本,无需借助 USB)
1.手机和电脑需连接在同一WiFi下;
2.保证adb为30.0.0版本或最新版本;
3.手机打开开发者选项和无线调试模式;
4.允许无线调试后,选择使用配对码配对。记下配对码、IP地址和端口号;
5.在电脑端运行adb pair ip:端口号(使用配对码中的IP地址和端口号);
6.根据提示,输入配对码,设备会成功配对;
7.之后使用adb connect ip:端口号连接
开机或联网时自动开启无线调试(WIFI调试)
1.adb shell 进安卓的shell,修改 /system/build.prop文件
adb shell
# su
# mount -o rw,remount /
# vi /system/build.prop
2.添加一条Service.adb.tcp.port=6666
3.退出保存
4.重启手机生效
查看网络信息
adb shell ip -f inet addr # 查看设备的ip地址
adb shell netstat
adb shell ping IP地址 # 查看网络联通状态
ROOT权限使用
adb shell # 登录到设备-shell(内核)
su # 切换到root
ps # 1.USER 所属用户 2.PID 进程ID 3.PPID 父进程ID 4.NAME 进程名
date -s 20160823.131500 # 设置系统日期和时间
svc wifi enable # 打开wifi(需要root权限)
svc wifi disable # 关闭wifi(需要root权限)
cat /data/misc/wifi/*.comf # 查看连结果的wifi密码
APK操作
应用安装和卸载
adb install apk包的路径 # 应用安装
adb install -r apk路径 · # 覆盖/替换安装
adb install -r -d 旧版本apk安装包 # 降级保留数据安装
adb uninstall apk包名 # 应用卸载(不保存缓存数据)
adb uninstall -k apk包名 # 应用卸载(保存缓存数据)
包名获取
adb shell "dumpsys window | grep mCurrentFocus" # 获取页面信息(获取应用包名)
adb shell am monitor # 输入命令后打开手机上需要获取包名的应用(ctrl + C 退出该模式)
logcat ActivityManager:I | findstr "cmp" # 实时获取页面信息
查看包名信息
adb shell pm path apk包名 # 查看应用安装路径
adb shell pm list packages # 显示所有包名(打开和未打开)
adb shell pm list packages -s # 显示所有系统应用包名
adb shell pm list packages -3 # 显示第三方应用包名
adb shell pm list packages -f # 列出应用包名及对应的apk名及存放位置
adb shell pm list packages -i # 列出应用包名及其安装来源
adb shell pm list packages -s -d # 将系统已停用的应用列出
打开应用
adb shell am start -n 包名/avticity名 # 打开应用启动页面
adb shell monkey -p 包名 -v -v -v 1 | findstr "cmp=" # 直接打开应用
文件传输
将电脑文件件(或目录)拷贝到手机Download目录下下
adb push 电脑目录路径 /sdcard/Download/
将手机文件(或目录)拷贝到电脑指定目录下
adb pull 手机目录路径 电脑目录路径
日志操作指令
输出实时日志并保存在本地文件,通过Ctrl+C来停止.(抓取日志的步骤:先输入命令启动日志,然后操作App,复现bug)
adb logcat -v time >D:\logs\logcat.log
输入指令后开始抓取Log不需要,按Ctrl+C来停止,会自动化停止Log打印,并将日志文件保存在本地.(抓取日志的步骤:主要抓取执行命令时往前10分钟左右的日志信息,所以在出现bug后立即采用此方法才有效,问题出现时间太长不建议使用此方法)
adb bugreport >D:\logs\bugreport.log
系统操作命令
adb shell getprop ro.product.model # 获取设备型号
adb shell getprop ro.build.version.release # 获取设备android系统版本
adb get-serialno # 获取设备的序列号(设备号)
adb shell wm size # 获取屏幕的分辨率
adb shell dumpsys activity |find "mResumedActivity" # 查看前台应用包名,适用于 Android 8.0 以上,必须先启动 app
adb shell settings put global adb_enabled 0 # 关闭usb调试功能
截图和录屏
adb exec-out screencap -p > D:/文件名.png # 截图保存到电脑(adb版本较老,无法使用 exec-out 命令)
adb shell screencap -p /sdcard/文件名.png # 屏幕截图(保存到设备中 -p 指定文件后缀名)
adb shell screenrecord /sdcard/filename.mp4 # 录制屏幕(保存到设备中)停止按ctrl+c
打开开发者 指针位置 配合使用
adb shell input tap x坐标 y坐标 # 屏幕点击
adb shell input text 文本信息 # 文本信息输入功能
adb shell input swipe x起点坐标 y起点坐标 x终点坐标 y终点坐标 速度 # 模仿屏幕滑动(最后的数字越大滑动越快)
adb shell input keyevent # 模拟按键和功能
3 # 回桌面
4 # 返回键
6 # 挂断电话
19 # 导航键 向上键
20 # 导航键 向下键
21 # 导航键 向左键
22 # 导航键 向右键
23 # 导航键 确定键
24 # 增加音量
25 # 降低音量
26 # 电源键
27 # 拍照(需要在相机应用里)
adb shell am start -a android.media.action.STILL_IMAGE_CAMERA # 打开相机
64 # 打开浏览器
66 # 回车键
82 # 菜单键
84 # 打开搜索
85 # 播放/暂停
86 # 停止播放
87 # 播放下一首
88 # 播放上一首
111 # ESC键
122 # 移动光标到行首或列表顶部
123 # 移动光标到行末或列表底部
126 # 恢复播放
127 # 暂停播放
164 # 静音
176 # 打开系统设置
187 # 切换应用
207 # 打开联系人
208 # 打开日历
209 # 打开音乐
210 # 打开计算器
220 # 降低屏幕亮度
221 # 提高屏幕亮度
223 # 系统休眠
224 # 点亮屏幕
231 # 打开语音助手
276 # 如果没有 wakelock 则让系统休眠
更多详细按键说明点击这里
ADB中文输入
先安装ADBKeyBoardApp 然后设置成默认
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '内容'
手机Scrcpy投屏
Scrcpy下载
scrcpy官网
Linux下载方式
Debian/Ubuntu:
apt install scrcpy
scrcpy使用
Windos下启动
scrcpy.exe
Linux下启动
scrcpy
调整比特率和分辨率
scrcpy --bit-rate 2M --max-size 800
# 简写为
scrcpy -b 2M -m 800
位置和尺寸
scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600
顶层显示
scrcpy --always-on-top
全屏
scrcpy --fullscreen
scrcpy -f # short version
只看不控制
scrcpy --no-control
scrcpy -n
灭屏浏览and控制
scrcpy --turn-screen-off
scrcpy -S
轨迹球
scrcpy --show-touches
scrcpy -t
常用快捷键(重要)
| 快捷键描述 | 快捷键 |
|---|---|
| 切换全屏模式 | alt+f |
| 点击手机电源 | alt+p |
| 返回 | alt+b |
| 返回到HOME | alt+h |
| 多任务 | alt+s |
| 更多操作 | 长按鼠标左键 |
| 显示最佳窗口 | alt+g |
| 调节音量 | alt+上下键 |
| 关闭设备屏幕(保持镜像) | alt+o |
| 将设备剪贴板复制到计算机 | alt+c |
| 将计算机剪贴板粘贴到设备 | alt+v |
手机电池操作
获取手机电池信息
adb shell dumpsys battery
得到信息如下:
adb shell dumpsys battery
Current Battery Service state:
AC powered: false //false表示没使用AC电源
USB powered: true //true表示使用USB电源
Wireless powered: false //false表示没使用无线电源
status: 2 //2表示电池正在充电,其他数字表示没充电
health: 2 //2表示电池状态优秀
present: true //true表示已安装电池
level: 63 //电池百分比
scale: 100 //满电量时电池百分比为100%(不确定是否正确)
voltage: 3781 //电池电压3.781V
current now: -335232 //电流值,负数表示正在充电
temperature: 250 //电池温度为25摄氏度
technology: Li-ion //电池类型为锂电池
改变手机电池状态
切换手机电池为非充电状态
adb shell dumpsys battery set status 1
改变手机电量
让手机电量显示1到100如果显示0则关机
adb shell dumpsys battery set level 1-100
模拟断开充电 实际上是充进电
注意:必须在andorid 6.0以上的版本
模拟断开
adb shell dumpsys battery unplug
恢复状态
adb shell dumpsys battery reset
更多ADB操作命令详解及用法











