记录一下自己搭建Android手机的无线调试环境的一波三折!

ADB

安卓官网对此工具的介绍

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

客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

守护程序 (adbd) :用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。

服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。或者,如果您需要独立的 Android SDK 平台工具软件包,也可以点击此处进行下载

Android官网下载地址:SDK Platform Tools 版本说明

下载时选择最新版本即可,因为低版本的adb会导致设备离线,除了升级版本,随你怎么找其余解决方案应该都是无济于事的。。。(别问,问就是吃过亏!)

adb升级

网上说将下载的adb解压,将解压的文件夹platform-tools中的下面三个文件替换掉Android SDK\即platform-tools文件夹下的同名文件可。但是当时我的是没能ok的。

然后直接将platform-tools文件夹里面的所有文件替换也没能成功。😭

再然后添加环境变量。。。仍然不成功😭

再最后将图中三个文件复制一份到C:\Windows\System32里面就可以了。😄

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJAzugfT-1655126235835)(?)]

android 关闭无线调试 安卓无线调试是什么_Android

我之前的是1.0.26,是不成功的,具体哪个版本也不确定。

adb 的工作原理

当您启动某个 adb 客户端时,该客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 - 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于 adb 连接的奇数号端口。例如:

模拟器 1,控制台:5554 模拟器 1,adb:5555 模拟器 2,控制台:5556 模拟器 2,adb:5557 依此类推

如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。

服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。[//]: # (引自Android官网)

来张图演示下就是:

android 关闭无线调试 安卓无线调试是什么_android 关闭无线调试_02

adb命令简介

命令

简介

adb version

查看adb版本信息

adb start-server

启动adb服务进程

adb kill-server

杀死adb服务进程。

adb usb

切换到usb调试模式,通过usb数据线来通信。

adb tcpip 5555

让设备在 5555 端口监听 TCP/IP 连接。

adb connect ip

连接指定的ip设备。

adb disconnect ip

断开连接的ip设备。

adb shell

进入Android(基于Linux)系统的shell。

exit

退出Android(基于Linux)系统的shell。

setprop service.adb.tcp.port 5555

设置adb服务端口为5555, 打开adb网络调试功能。

setprop service.adb.tcp.port -1

表示打开adb的usb调试功能。

搭建步骤

前提:adb服务端(电脑)与Android设备处于统一局域网

1、打开手机的无线调试,位于设置—>开发者选项里面。开发者选项一般默认隐藏了,一般(我的)打开设置里面的关于手机—>然后猛戳版本号!或者设置—>高级设置—>开发者选项。找到无线调试,打开。

2、手机通过usb接入电脑,打开命令行,输入adb devices查看当前usb设备(手机)是否在线。

android 关闭无线调试 安卓无线调试是什么_android 关闭无线调试_03

3、设置设备的端口为5555

android 关闭无线调试 安卓无线调试是什么_服务器_04

4、让设备监听5555端口的tcp连接

android 关闭无线调试 安卓无线调试是什么_android_05

5、通过ip连接设备,ip是手机的ip,可以在wifi里面查看当前连接wifi的详细信息。

android 关闭无线调试 安卓无线调试是什么_Android_06

6、查看是否ok,ok就拔掉usb。

android 关闭无线调试 安卓无线调试是什么_android 关闭无线调试_07

7、但是,不可以呢。。。😭

android 关闭无线调试 安卓无线调试是什么_服务器_08

问题分析

沉下心来,分析分析。

操作系统一般不会有问题,有问题就起不来了。。。

adb软件应该也没问题!

AS依赖的是SDK中的adb,应该也没问题!

都没问题,那就应该是升级的问题了。升级时配置了环境变量都不行,这是不科学的,那么肯定还有什么遗漏的,并且执行是优于环境变量的。对,肯定是这样的,我太特么聪明了。我记得C:\Windows\System32里面将那三个核心文件复制进去就行了,但是似乎只是那里面那个adb软件成功连接手机了,而as所认识的那个软件并没有成功连接手机,所以在C盘搜索关键词adb,终于在C:\Windows里面找到了坏蛋所在。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5YZPbOU-1655126235851)()] 在这个目录下打开命令行查看版本。

android 关闭无线调试 安卓无线调试是什么_服务器_09

果然,接下来就是删掉他。连同C:\Windows\System32里面的一起删除,让其走环境变量指定的adb。再次查看版本。搞定,重复上述连接操作,再次实验。

android 关闭无线调试 安卓无线调试是什么_Android_10

验证:拔掉usb后只有一个无线的连接设备

android 关闭无线调试 安卓无线调试是什么_android_11

再进入as查看,能找到设备,成功!

android 关闭无线调试 安卓无线调试是什么_服务器_12