通过adb 操作手机

一 、 环境准备

  • 用过数据线连接手机(选择仅充电)

  • 在电脑上安装手机驱动

  • 安装adb 工具

    • 设置adb 环境变量
  • 在手机中设置 USB调试

    • 打开USB 调试

    • 仅充电模式下运行ADB 调试

二 、 基本操作

adb 启动/停止

# 启动 
adb start-server
# 停止 
adb kill-server

# (一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)

测试是否连接手机

# 在次执行 ,手机中会提示授权,请点确认
λ adb devices

List of devices attached
5ENDU19929014769        device

**如果输出内容中 有 unauthorized ,设备未经授权 **

请删除 C:UsersAdministrator.android 下面的公钥私钥文件,重新插拔数据线

查看手机是否有确认授权提示

连接成功就可以连接python

import os
os.system('adb devices')

11

模拟按键--电源键

# adb 模拟按键语句 固定格式
adb shell input keyevent  <keycode> 
# 如 按电源键
adb  shell input keyevent 26 
keycode 含义
3 HOME 键
4 返回键
5 打开拨号应用
6 挂断电话
24 增加音量
25 降低音量
26 电源键
27 拍照(需要在相机应用里)
64 打开浏览器
82 菜单键
85 播放/暂停
86 停止播放
87 播放下一首
88 播放上一首
122 移动光标到行首或列表顶部
123 移动光标到行末或列表底部
126 恢复播放
127 暂停播放
164 静音
176 打开系统设置
187 切换应用
207 打开联系人
208 打开日历
209 打开音乐
210 打开计算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系统休眠
224 点亮屏幕
231 打开语音助手
276 如果没有 wakelock 则让系统休眠

模拟点击一个位置

# 点击一个位置 x, y 轴位置
adb shell input tap 50 250

模拟滑动

# 滑动 x1 起始位置, x2 结束位置 ,y1 起始 y2 结束, 可选参数时间
adb shell input swipe  x1  y1  x2  y2   [时间]

查看手机中安装的所有软件包名

adb shell pm list package

查看当前手机运行的软件包名

adb shell dumpsys window w |findstr / |findstr name= 

启动程序

命令行输入 adb shell am start +包名/.Activity (要启动的Activity)

adb shell am  start com.hegu.dnl.mg/com.hegu.dnl.MainActivity
# 包名,后面为包名后的activity

截取屏幕xml文件

#  截取手机中图片xml
adb shell uiautomator dump /data/local/tmp/uidump.xml

# 推送到电脑上
adb pull /data/local/tmp/uidump.xml  C:Users # 本地路径

截取屏幕图片

# 截图 (sdcard 手机存储空间跟目录)
adb shell screencap -p  /sdcard/01.jpg
# 推送到电脑上
adb pull  /sdcard/01.jpg  C:Users # (电脑路径)
原文地址:https://www.cnblogs.com/aaak/p/14921601.html