• 【Android】ADB无线连接Android设备


    简介

    Android Debug Bridge,简称adb,是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

    • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
    • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
    • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

    无线连接的条件

    使用adb无线连接设备,应具备以下条件:

    • 一台安装了Android Studio开发工具的电脑。
    • 一台与电脑处于同一网段的Android设备(一般可通过连接相同wifi、宽带实现网段相同)。
    • 在电脑使用cmd执行 ping 能够ping通。

    adb连接设备

    方法一

    当满足上述提到的条件,就可以开始连接了。

    打开cmd.exeAndroid Studio软件里面底部的Terminal工具,输入以下命令

    adb connect <ip地址>:5555
    
    • 1

    连接上的设备可以通过执行adb devices命令查看

    adb devices
    
    • 1

    设备连接上,就可以查看并对设备进行安装调试的工作了

    连接上的设备可通过执行adb disconnect :5555断开连接

    adb disconnect <ip地址>:5555
    
    • 1

    部分设备默认端口不是5555,需要手动修改,请看下方的修改端口号。

    方法二

    使用方法二进行adb连接,应该是出现了使用方法一连接不通adb的情况,这时候就可以使用方法二来进行连接。

    1. 需要将USB线(可以传输数据的USB线)连接安卓和开发电脑,在开发者选项中开启USB调试,并将USB配置为MTP(多媒体传输)。
    2. 在电脑上打开cmd命令行窗口,输入adb devices,如果出现有设备,表示电脑已通过USB连接上手机。
    3. 接着在cmd命令行窗口输入两条命令:
      adb root   
      adb shell  
      
      • 1
      • 2
    4. 输入命令,将设备端口改为5555,将5555改为-1则表示打开adb的USB调试功能。
      setprop.service.adb.tcp.port 5555
      
      • 1
    5. 输入exit命令,退出shell。
    6. 设置目标设备以监听端口 5555 上的 TCP/IP 连接。
      adb tcpip 5555
      
      • 1
    7. 拔掉USB线,输入connect连接命令即可完成连接。
      adb connect <ip地址>:5555
      
      • 1

    修改端口号

    方法一

    端口号修改,使用到Github上标星31.5k的AndroidUtilCode,该工具有提供相关类在Android设备上执行cmd命令。

    引入:

    implementation 'com.blankj:utilcodex:1.30.1'
    
    • 1

    Java代码:

    ShellUtils.CommandResult openAdb = ShellUtils.execCmd("setprop service.adb.tcp.port 5555", AppUtils.isAppRoot());
    
    • 1

    AndroidUtilCode使用教程

    方法二

    使用数据线连接上设备,执行命令adb tcpip 5555,将端口号重置为5555。

    adb tcpip 5555
    
    • 1

    修改端口号后,拔掉数据线,执行adb命令出现连接失败的情况,这是修改失败了,可尝试下方问题集合的第二点解决问题。

    值得注意的是,Android官方在Android 11+的设备推出了升级版的无线调试,届时直接扫描Android studio开发工具生成的二维码即可连接,简单又便捷。

    辅助工具

    adb工具的使用前提是必须先连接上设备

    android-tool

    android-tool是一个Flutter编写的程序,支持Windows、Mac、Linux系统,它将adb的众多命令封装成一个个小小的功能,极大的提高了执行adb相关操作的效率。

    链接:用Flutter开发一个桌面端ADB工具应用

    scrcpy-gui

    scrcpy-gui是一个无需root权限即可在pc端操控Android设备的工具。

    链接:scrcpy-gui

    问题集合

    1、missing port in specification: tcp:192.168.31.209
    原因:缺少端口。
    解决方案:加上端口,默认为5555

    2、cannot connect to 192.168.31.209:5555: 由于目标计算机积极拒绝,无法连接。 (10061)
    原因:端口号不对。
    解决方案:安装一个app使用adb命令配置端口号。最好是使用数据线连接上设备,执行adb tcpip 5555命令监听端口 5555 上的 TCP/IP 连接,响应restarting in TCP mode port: 5555后,拔掉数据线执行连接命令即可。

    3、ping不通怎么办?

    解决方案

    • 检查ping的ip地址是否正确,pc端的ip地址与移动端的ip地址网段是否相同。
    • 若提示无法访问目标主机,如果核对ip、网段都没错,是移动端设备还没有root,不允许你访问
      在这里插入图片描述
      需要下载相关的root工具将设备给root掉,root成功就可以ping通。
      设备root成功,若是还不能够ping通,请切换无线连接的WiFi再次尝试。

    其它问题暂未遇到,如本文提供方法无法处理,请查看下方的参考文档。若无法连接,请放弃使用adb无线连接的方案,改用可传输数据的数据线进行连接。

    参考文档

  • 相关阅读:
    硬盘SMART检测参数详解
    Pandas学习记录
    时隔多年,从新认识浮动float
    蓝牙5.0对比4.2的主要优势
    Python习题详解
    Windows安装cygwin + swoole,并配置crontab定时任务
    Linux-centos7自我学习
    解析MySQL数据库:“SQL优化”与“索引优化”
    微信小程序Jenkins持续集成打包发布流程
    UG NX二次开发(C#)-获取UI中选择对象的handle值
  • 原文地址:https://blog.csdn.net/baidu_41616022/article/details/127617953