• adb通过wifi连接android设备


    题记:在用pc连接手机进行测试时,我一直都是用的usb有线连接,后来遇到一个尴尬的问题,那就是我手机要充电的呀!
              于是上网寻求了这个解决方案,通过wifi无线连接,而且无线连接调试比有线连接还有一些优点,通过下面这篇文章详细说明。
              文章来源:大白测试。

    adb通过wifi连接android设备

    问题背景:
    近期的项目测试中,需要将移动设备与厂商机器进行usb连接视频传输(投屏)。测试过程中需要定位问题,经常需要查看实时日志,
    移动设备已经和厂商机器usb连接投屏,无法用usb连接到PC,那么有什么办法可以解决上面的问题呢?(尴尬,usb连接视频传输了)。
    adb连接方式:
    adb支持usb连接模式和tcpip连接模式,我们可以用tcp/ip模式通过wifi无线连接adb。
    其他应用场景:
    usb线比较松的时候,adb连接经常断开;usb线连接,手机助手等程序会自动连接adb,经常导致adb断开;
    采用wifi连接adb可以减少上述问题发生,对测试人员来说也是非常有帮助的。
    具体连接步骤如下:
    1、确认本机PC没有任何adb设备连接,包括模拟器和usb连接
    查看当前PC端连接有多少设备
    adb devices命令后,列表显示为空;
    (灵光:pc端是可以连接多个设备的,adb devices可以查看连接设备列表,可以在genymotion中开启多个手机,这样pc端就连上了,
    我在做appium自动化的时候,也尝试过将一个脚本跑到多个手机,具体流程在笔记里有)
    2、将远程android设备接入Wi-Fi,并查看其IP地址
    查看android设备的IP地址,这里有三种方式查看Android设备IP。
    (1).   设置-关于手机-状态信息-IP地址中查看
    (2).   设置-WLAN-点击当前链接上的Wi-Fi查看IP
    例如:设置—〉无线或网络---〉WLAN设置—〉查看当前连接Wi-Fi的IP地址(部分机型需要按menu键并选择“高级”选项---〉IP地址)
    (3).   通过adb命令查看设备IP地址:adbshell netcfg
    前提:(设备已经和PC建立了usb连接)
    确保电脑和Android设备连接在同一个WIFI网络环境(同一个局域网下,进行通信)
    3、本机command命令下执行ping  android设备的IP
    例如ping 10.129.49.143(手机ip),如果ping成功,说明可以连接
    ping成功
    4,执行 adb connect
    知道设备IP地址之后,就可以用adb connect命令通过IP和端口号连接adb。
    adb connect  10.129.49.143
    如果显示连接成功,则可继续执行后面的操作;如果不成功,如下图显示:connect拒绝
    用adb tcp ip模式重启adb
    adb tcpip 5555
    连接成功,connected  to 10.129.49.143:5555

    5、adb connect ip 成功以后可以执行原来usb连接时的所有命令
    如adb install,adb  logcat等,下图为项目测试时wifi连接android设备,在androidstudio环境,查看实时log
    (下一步要好好学学adb 一些日志等其它操作)

    知识提升:ᕦ(・ㅂ・)ᕤ
    Android Debug Bridge
    我们一般简称为adb,它是一个非常强大的命令行工具,通过adb工具,你能够与你的android设备进行通信。
    adb是基于C/S模式的程序,包含以下三个组件:
    1)adb client(客户端)
    client是运行在PC端的,该组件发送命令,可以通过发出adb命令从命令行终端调用客户端。
    每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
    当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
    所有的client都是通过5037端口与adb-server进行通信的。
    2)adb daemon(adb后台程序)
    Daemon,该组件作为一个后台进程运行在模拟器/真实Android设备中,在设备上运行命令。
    daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这样一个后台进程,
    并且为其分配了两个连续的端口,比如:
    Emulator1, console: 5554
    Emulator1, adb: 5555
    因为每个设备都分一组两个端口,所以adb连接手机的最大数量为16
    端口的作用,在这两个端口中,其中偶数端口是用于server与设备进行交互的,可以让server直接从设备中读取数据,
    而奇数端口是用来与设备的adb进行连接通信的。(偶数传数据进行交互,奇数用来维持与设备(pc)进行连接通信)
    3)adb server(服务器)
    Server,该组件管理客户端和后台程序之间的通信,作为一个后台的程序运行在PC端。
    当一个server开启的时候,会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。
    同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。

    结语:sunt觉得,每次在问题的解决上,再多学习一点,总会有新的收获~~(●—●)!
  • 相关阅读:
    area标签的使用,图片中某一个部分可以点击跳转,太阳系中点击某个行星查看具体信息
    使用window.localStorage,window.localStorage记录点击次数
    js判断是否是在微信浏览器中打开
    点击按钮回到页面顶端的几种方式
    一行代码实现F11的功能,即让浏览器窗口全屏
    容器居中
    判断某个窗口是否是活动窗口(当前正在使用、操作的窗口)
    对数组每项进行处理、判断的几种方法
    form文件上传、下载,获取返回值
    scss基本使用及操作函数
  • 原文地址:https://www.cnblogs.com/st998/p/13861137.html
Copyright © 2020-2023  润新知