zoukankan      html  css  js  c++  java
  • adb通过wifi连接android设备

    问题背景

    近期的项目测试中,需要将移动设备与厂商机器进行usb连接视频传输(投屏)。测试过程中需要定位问题,经常需要查看实时日志,移动设备已经和厂商机器usb连接投屏,无法用usb连接到PC,那么有什么办法可以解决上面的问题呢?

    adb支持usb连接模式和tcpip连接模式,我们可以用tcpip模式通过wifi无线连接adb。

    其他应用场景

    usb线比较松的时候,adb连接经常断开;usb线连接,手机助手等程序会自动连接adb,经常导致adb断开;采用wifi连接adb可以减少上述问题发生,对测试人员来说也是非常有帮助的。

    具体连接步骤如下:

    1、确认本机PC没有任何adb设备连接,包括模拟器和usb连接

    查看当前PC端连接有多少设备

    adb devices命令后,列表显示为空;

    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地址:adb shell  netcfg

    前提:(设备已经和PC建立了usb连接)

    确保电脑和Android设备连接在同一个WIFI网络环境(同一个局域网下,进行通信)

    3、本机command命令下执行ping  android设备的IP

    例如ping 10.129.49.143,如果ping成功,说明可以连接

    ping成功

    4,执行 adb connect

    知道设备IP地址之后,就可以用adb connect命令通过IP和端口号连接adb。

    adb connect 10.129.49.143

    如果显示连接成功,则可继续执行后面的操作;如果不成功,如下图显示:connect拒绝


    用adb tcpip模式重启adb

    adb tcpip 5555


    连接成功,connected to 10.129.49.143:5555

    adb connect ip连接成功以后可以执行原来usb连接时的所有命令

    如adb install,adb logcat等,下图为项目测试时wifi连接android设备,在androidstudio环境,查看实时log


     


    AndroidDebug 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(adbd后台程序)

    Daemon,该组件作为一个后台进程运行在模拟器/真实Android设备中,在设备上运行命令。daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这样一个后台进程,并且为其分配了两个连续的端口,比如:

    Emulator1, console: 5554

    Emulator1, adb: 5555

    因为每个设备都分一组两个端口,所以adb连接手机的最大数量为16。

    端口的作用,在这两个端口中,其中偶数端口是用于server与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。

    3)adb server(服务器)

    Server,该组件管理客户端和后台程序之间的通信,作为一个后台的程序运行在PC端。当一个server开启的时候,会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。

  • 相关阅读:
    WPF界面开发—看DevExpress如何实现对.NET Core 3.0中的VS集成
    Web UI开发神器—Kendo UI for jQuery数据管理之网格排序
    Winforms界面开发技巧大派送!看DevExpress控件如何居中Dock面板
    Windows 7正式停用,Windows 10 UWP v19.2控件工具更值得拥有
    创建用户:显示ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’
    Django-搭建win7虚拟环境-virtualenv
    jvm01
    单点登录 https://www.cnblogs.com/scode2/p/8671073.html
    maven
    线程
  • 原文地址:https://www.cnblogs.com/mabingxue/p/8783468.html
Copyright © 2011-2022 走看看