问题背景

近期的项目测试中,需要将移动设备与厂商机器进行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间的奇数端口进行扫描,进行对已连接设备的定位。

adb通过wifi连接android设备的更多相关文章

  1. adb 通过 WiFi 连接 Android 设备

    PC 和 Android 设备连接在同一个局域网. 查看 Android 设备的 IP:设置 > WLAN > 选择连接的WiFi > 查看IP地址. PC 端执行: ping &l ...

  2. Appium:通过wifi连接Android设备

    1.首先用USB连接你的Android设备,然后在终端运行命令,它可以启动设备的5555端口使其在网络上可以连接. adb tcpip 2.现在断开USB连接,然后确保设备和你的电脑连接同一个无线网络 ...

  3. 通过wifi连接android设备的方法

    [转自]http://blog.csdn.net/kuanxu/article/details/7444874 最近由于要在另外一台android设备上调试代码,在本机PC上查看其log.两台机器离的 ...

  4. Mac通过wifi连接 Android设备

    公司用的全是mac开发,但是全是type-C接口,每次背电脑回家啊,还得带个数据线转换器…… 想着回来,直接通过Wi-Fi连接手机就好,发现完全忘了之前套路,现在赶紧记下一波,保证包教包会! STEP ...

  5. wifi连接android设备进行调试

    手机下载终端模拟器: 并输入例如以下$ su # setprop service.abd.tcp.port 5555 # stop adbd # start adbd 在cmd中输入adb conne ...

  6. 使用WIFI连接android进行调试和adb操作

    本人需要wifi连接android进行调试的原因主要是要经常用到IDA pro进行调试,但手头有的IDA Pro版本只是windows的,开发可能更多用Mac OS X了,来回拔插.调试很不方便,所以 ...

  7. 【转】ubuntu连接android设备(附最简单方法)

    原文网址:http://blog.csdn.net/maosidiaoxian/article/details/22661725 在ubuntu下连接android设备,虽然不用像windows那样安 ...

  8. ubuntu连接android设备(附最简单方法)

    在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device ...

  9. [Android] [putty连接Android设备] [Android设备网络调试]

    file: system/core/adb/adb.c line: 921 /* for the device, start the usb transport if the ** android u ...

随机推荐

  1. 利用fpm制作rpm包

    使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...

  2. xss挑战之旅wp

    Level 1  -  180831 第一关很简单,开胃菜 payload: http://localhost/xss_game/level1.php?name=test123<script&g ...

  3. php学习----什么是常量

    PHP-什么是常量 1.什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量(后续小节会详细介绍). 2. ...

  4. March 09th, 2018 Week 10th Friday

    All good things must come to an end. 好景无常. Love is when the other person's happiness is more importa ...

  5. IntelliJ IDEA LicenseServer激活及使用

    一.激活 IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows 原文地址:http://blog.csd ...

  6. js刷新页面的几种方式与区别

    Javascript刷新页面的几种方法:1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(locati ...

  7. SpringBoot MVC 拦截器

    SpringBoot MVC 环境搭建 在pom.xml添加spring-boot-starter-web   <dependency>   <groupId>org.spri ...

  8. 关于NSA的EternalBlue(永恒之蓝) ms17-010漏洞利用

            好久没有用这个日志了,最近WannaCry横行,媒体铺天盖地的报道,我这后知后觉的才想起来研究下WannaCry利用的这个原产于美帝的国家安全局发现的漏洞,发现漏洞不说,可以,自己偷偷 ...

  9. pytorch的backward

    在学习的过程中遇见了一个问题,就是当使用backward()反向传播时传入参数的问题: net.zero_grad() #所有参数的梯度清零 output.backward(Variable(t.on ...

  10. js同步-异步-回调

    出处:https://blog.csdn.net/u010297791/article/details/71158212(1)上面主要讲了同步和回调执行顺序的问题,接着我就举一个包含同步.异步.回调的 ...