zoukankan      html  css  js  c++  java
  • 通过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 # (电脑路径)
    
  • 相关阅读:
    【php数组函数序列】之array_values()
    Mysql数据库编码问题3(修改数据库,表,字段编码为utf8)
    framework fckedit / KingEditor
    Linux + JDK/TOMCAT/Dia(Planner)/eclipse
    proxyServer squid / varnish / apache traffic server / ATS
    framework SiteMesh
    Linux + BusyBox
    对链表的插入操作
    链表原理
    链表的删除操作
  • 原文地址:https://www.cnblogs.com/aaak/p/14921601.html
Copyright © 2011-2022 走看看