【Android】ADB无线连接Android设备

2023-05-16

目录

  • 简介
  • 无线连接的条件
  • adb连接设备
        • 方法一
        • 方法二
  • 修改端口号
        • 方法一
        • 方法二
  • 辅助工具
      • android-tool
      • scrcpy-gui
  • 问题集合

简介

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

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

无线连接的条件

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

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

adb连接设备

方法一

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

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

adb connect <ip地址>:5555

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

adb devices

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

连接上的设备可通过执行adb disconnect <ip地址>:5555断开连接

adb disconnect <ip地址>:5555

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

方法二

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

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

修改端口号

方法一

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

引入:

implementation 'com.blankj:utilcodex:1.30.1'

Java代码:

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

AndroidUtilCode使用教程

方法二

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

adb tcpip 5555

修改端口号后,拔掉数据线,执行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无线连接的方案,改用可传输数据的数据线进行连接。

参考文档

  • Android 调试桥 (adb)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Android】ADB无线连接Android设备 的相关文章

随机推荐

  • 问题解决:Error: Can’t initialize nvrm channel

    在Jetson Nano安装好环境之后 xff0c 使用jupyter notebook调试python程序 xff0c 启动 jupyter notebook 之后 xff0c 在terminal出现连续的提示 Error Can t i
  • 问题解决:/usr/lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block

    在测试jetson utils实现视频载入时出现如下的错误 usr lib aarch64 linux gnu libgomp so 1 cannot allocate memory in static TLS block 经查询是libg
  • 在Jetson Nano安装测试YOLO v5目标识别示例

    参考链接 https blog csdn net carrymingteng article details 120978053 https blog csdn net weixin 43947712 article details 115
  • 问题解决:ImportError: The _imagingft C module is not installed

    在测试YOLO v5时出现错误提示 xff1a ImportError The imagingft C module is not installed 经查是pillow库的问题 解决方法 重新安装pillow xff0c 先卸载已有的pi
  • Jetson Nano设置风扇自启动

    Jetson Nano跑一些如目标识别等需要较大计算量的程序 xff0c 散热板会非常的热 xff0c 为避免主板过热 xff0c 通常在散热板上加装一个风扇增强散热 风扇需要软件指令进行驱动 xff0c 驱动风扇的指令为 sudo sh
  • Ubuntu 18.04安装gazebo9

    首先 xff0c 把gazebo的源添加到apt的source list中 sudo sh c echo deb http packages osrfoundation org gazebo ubuntu stable 96 lsb rel
  • 问题解决:/usr/bin/ld: cannot find -lbz2

    在项目编译过程中 xff0c 出现类似如下的错误 usr bin ld cannot find lbz2 经查询 xff0c 是找不到bz2的库文件 xff0c 用whereis命令查询 whereis libbz2 找不到对应的库文件 x
  • 常用Git命令

    通过git命令可以对项目代码库执行克隆 拉取 提交等操作 常用的git命令有如下 git clone 克隆代码库 xff0c 把远程代码库克隆到本机当前目录 xff0c 如 git clone https github com PX4 PX
  • 【Android】原来Toolbar还能这么用?Toolbar使用最全解析。网友:终于不用老是自定义标题栏啦

    一个Toolbar的UI可以做成什么样 xff1f 做出什么效果 xff1f 这是我最近在研究的问题 目录 带导航图标的Toolbar带标题的Toolbar带小标题的Toolbar带Logo的Toolbar带进度条的Toolbar带菜单的T
  • Linux安装Beyond Compare

    Beyond Compare是一款很好用的代码比对软件 xff0c 提供了在Windows xff0c Linux等平台的安装包 在Linux下安装Beyond Compare的方法如下 参考链接 xff1a https www scoot
  • Linux下压缩解压文件和目录的方法(zip, tar)

    Linux下可以用zip命令方便的压缩文件或文件夹 压缩文件 zip data zip data xls zip data zip data1 xls data2 xls 上述命令把一个文件或者多个文件压缩到一个zip文件 压缩目录 zip
  • Jupyter Notebook安装

    Jupyter Notebook是一个非常好用的交互式Python运行的软件 安装方法如下 在命令行输入 pip3 install jupyter 安装后根据提示 xff0c Jupyter相关软件安装在 local bin目录下 xff0
  • Ubuntu添加截屏快捷键的方法

    在Ubuntu下面具有截屏的命令 xff08 gnome screenshot xff09 xff0c 可以通过简单的设置方便的添加截屏快捷键 通过 Settings gt Devices gt Keyboard选项 xff0c 添加快捷键
  • Windows下修改Jupyter Notebook默认字体的方法(custom.css)

    在Windows下Jupyter Notebook代码显示的默认字体为宋体 xff0c 视觉效果不是很好 xff0c 可以通过设置修改默认的显示字体 通过用户目录 C User Administrator jupyter custom 下的
  • Jupyter Notebook添加代码自动补全功能的方法

    Jupyter Notebook成为一款非常受欢迎的交互式Python运行环境的软件 通过如下的方法可以添加代码自动补全的功能 输入命令安装插件 pip3 install jupyter contrib nbextensions 然后运行
  • 修改grub默认启动选项的方法

    在Windows系统基础上 xff0c 再安装Linux xff0c 形成双系统 这样在grub启动菜单中会包含Linux Windows等多个选项 xff0c 默认为第一个选项 xff0c 常规的Linux启动 通过修改配置文件 etc
  • 在云服务器上搭建Jupyter Notebook服务

    Jupyter Notebook提供了远程登录的功能 xff0c 可以在云服务器上配置Jupyter Notebook xff0c 用户可以远程登录和运行Python代码 这里使用的是腾讯云的Ubuntu服务器 xff0c 配置方法如下 1
  • 常用Linux命令

    记录一些常用的Linux命令 1 用户管理 增加用户 useradd lt user name gt useradd g lt group name gt lt user name gt g选项指定新用户所属的用户组 修改用户的组别 use
  • 在云服务器上安装VNC远程桌面服务

    云服务器操作系统通常不包含图形界面 xff0c 通过在服务器上安装VNC服务 xff0c 可以让用户以图形化界面远程登录到云服务器 这里服务器使用的是Ubuntu Server 18 04系统 1 安装图形界面 首先在服务器端安装图形化桌面
  • 【Android】ADB无线连接Android设备

    目录 简介无线连接的条件adb连接设备方法一方法二 修改端口号方法一方法二 辅助工具android toolscrcpy gui 问题集合 简介 Android Debug Bridge xff0c 简称adb xff0c 是一种功能多样的