879

我正在尝试在Motorola Droid上调试应用程序,但在通过 USB 连接到设备时遇到了一些困难。我的开发服务器是在Hyper-V中运行的 Windows 7 64 位 VM ,因此我无法通过访客或主机中的 USB 直接连接。

我安装了几个不同的 USB-over-TCP 解决方案,但连接似乎有问题,因为ADB监视器反复报告“设备监视器无法开始监视”。有没有办法使用网络而不是 USB 连接或其他可行的选项直接从开发机器上的客户端连接到设备上的守护程序?

4

37 回答 37

1205

手动流程

从您的设备(如果它已植根)

根据xda-developers 上的帖子,您可以使用以下命令从设备通过 Wi-Fi 启用 ADB:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

您可以禁用它并返回 ADB 以监听 USB

setprop service.adb.tcp.port -1
stop adbd
start adbd

从计算机上,如果您已经有 USB 访问权限(不需要 root)

如果您已经有 USB,则切换到使用 Wi-Fi 会更容易。从通过 USB 连接设备的计算机上的命令行,发出命令

adb tcpip 5555
adb connect 192.168.0.101:5555

请务必替换192.168.0.101为实际分配给您的设备的 IP 地址。完成后,您可以通过运行以下命令断开与 adb tcp 会话的连接:

adb disconnect 192.168.0.101:5555

您可以通过两种方式找到平板电脑的 IP 地址:

手动 IP 发现:

进入 Android 的 WiFi 设置,单击操作栏中的菜单按钮(垂直省略号),点击高级并在屏幕底部查看 IP 地址。

使用 ADB 发现 IP:

通过 adb 执行以下命令:

adb shell ip -f inet addr show wlan0

告诉 ADB 守护程序返回到通过 USB 侦听

adb usb

用于自动化流程的应用程序

Google Play 上还有几个应用程序可以自动执行此过程。快速搜索建议adbWirelessWiFi ADBADB WiFi。所有这些都需要 root 访问权限,但adbWireless需要的权限较少。

于 2010-09-02T03:59:44.837 回答
132

如果您的手机已植根,这真的很简单。

从Google Play下载终端模拟器(有很多免费的)。确保您的 Android 设备已连接到您的 Wi-Fi 并获取Wi-Fi IP 地址。打开终端程序并输入:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

现在转到您的计算机(假设您使用的是 Windows)并在桌面上为“cmd.exe”创建一个快捷方式(不带引号)。

右键单击cmd快捷方式并选择"Run as Administrator"

切换到您的android-sdk-windows\tools文件夹

类型:

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

adb 现在应该说您已连接。

注意:如果您太快而无法发出连接命令,它可能会失败。因此,在你说这不起作用之前,至少尝试两次 5 秒。

于 2010-09-18T01:28:42.283 回答
94
  1. 通过 USB 连接设备并确保调试正常,然后运行:

    adb tcpip 5555
    adb connect <DEVICE_IP_ADDRESS>:5555
    
  2. 断开 USB 并继续进行无线调试。

  3. 当您完成并想要切换回 USB 调试时,运行:

    adb -s <DEVICE_IP_ADDRESS>:5555
    

要查找您设备的 IP 地址,请转到Settings > Wi-Fi > Advanced > IP Address您的设备上或运行adb shell netcfg

不需要根。一次只能调试一台设备。

请参阅此 XDA 帖子

adb命令位于platform-toolsAndroid SDK 的文件夹中。

于 2015-01-22T08:31:49.887 回答
61

假设您将 adb 路径保存到 Windows 环境路径中

  1. 在 Android 中激活调试模式

  2. 通过 USB 连接到 PC

  3. 打开命令提示符类型:adb tcpip 5555

  4. 断开平板电脑或智能手机与电脑的连接

  5. 打开命令提示符类型:adb connect IPADDRESS(IPADDRESS 是您的平板电脑或智能手机的 DHCP/IP 地址,您可以通过 Wi-Fi -> 当前连接的网络找到)

现在在命令提示符下,您应该会看到如下结果:connected to xxx.xxx.xxx.xxx:5555

于 2013-04-14T21:36:50.863 回答
53

来自adb --help

connect <host>:<port>         - Connect to a device via TCP/IP

顺便说一句,这是一个命令行选项。

您应该尝试将手机连接到 Wi-Fi,然后从路由器获取其 IP 地址。它不适用于蜂窝网络。

端口是 5554。

于 2010-04-09T06:14:02.653 回答
45

对于 Windows 用户:

第 1 步:
您必须在 Android 手机中启用开发人员选项。
您可以使用这种方式启用开发人员选项。
• 打开设置> 关于> 软件信息> 更多。
• 然后点击“内部版本号”七次以启用开发人员选项。
• 返回“设置”菜单,现在您可以在那里看到“开发者选项”。
• 点击它并从下一个屏幕的菜单中打开 USB 调试。

第2步:

打开 cmd 并输入 adb。
如果您发现 adb 不是有效命令,则必须添加环境变量的路径。

•首先去你的SDK安装文件夹
按照这个路径,这个路径只是一个例子。D:\softwares\Development\Andoird\SDK\sdk\platform-tools\; D:\softwares\Development\Andoird\SDK\sdk\tools;
• 现在搜索windows系统高级设置

在此处输入图像描述

打开环境变量。

在此处输入图像描述

然后打开路径并粘贴以下路径这是一个示例。
您的 SDK 路径与我的不同,请使用您的。D:\softwares\Development\Andoird\SDK\sdk\platform-tools\;
D:\softwares\Development\Andoird\SDK\sdk\tools;

在此处输入图像描述

第 3 步:

打开 cmd 并输入 adb。如果您仍然看到 adb 是无效命令,那么您的路径没有正确设置,请按照上述步骤操作。

在此处输入图像描述

现在您可以将您的 android 手机连接到 PC。

打开 cmd 并输入 adb devices 就可以看到你的设备了。 找到你的电话IP地址。

在此处输入图像描述

类型:- adb tcpip 5555

在此处输入图像描述

获取您手机的IP地址

adb shell netcfg

现在,

adb connect "IP address of your phone"

现在运行你的 android 项目,如果没有看到你的设备,然后再次输入 adb connect 你手机的 IP 地址

在此处输入图像描述

在此处输入图像描述

对于 Linux 和 macOS 用户

第 1 步:打开终端并使用安装 adb

sudo apt-get install android-tools-adb android-tools-fastboot

通过 USB 数据线将手机连接到 PC。在终端输入以下命令

adb tcpip 5555

使用 adb,连接你的安卓手机 IP 地址。

移除你的手机。

于 2015-10-25T19:49:34.430 回答
35

从非 root 设备上的计算机

(请注意,这也可以使用有根设备完成,但您可以在不需要 USB 连接的有根设备上使用外壳)

首先,打开命令提示符(CMD)。如果您使用 Android Studio 或 IntelliJ,您可以使用其中包含的控制台。

如果您已将 adb 添加到路径中,则可以跳过 cd 部分。


如果可能,打开 SDK 位置,右键单击,然后按“在此处启动命令提示符”。并非所有人都有此选项,因此您也必须执行此(/这些)命令:

Windows:更改驱动器(如果适用)

D: 

并访问 sdk 和平台工具。将此路径替换为您的 SDK 位置:

cd /sdk/path/here/platform-tools

现在您可以访问 Android 调试桥。


将设备连接到计算机后,执行以下操作:

adb tcpip <port> 
adb connect <ip>:<port>

<port>您要连接的端口在哪里(默认为5555),<ip>是您要连接的设备的 IP。

请注意:5555是默认端口,只需写入 IP 地址即可连接。如果您使用自定义端口,您至少可以提高一点安全性。通过 Wi-Fi 进行 USB 调试可能会被滥用,但前提是设备连接到想要滥用设备的计算机。使用非默认端口至少会使连接变得更加困难。

如果您使用自定义端口,请确保在 IP 之后添加它。写没有端口连接到5555,如果你没有使用,连接将失败。

您可以通过两种方式找到设备的 IP 地址:

  • 根据您的设备,确切的名称可能会有所不同。打开设置并转到关于设备->状态-> IP 地址

  • 使用ADB获取IP

从控制台,执行:

adb shell ip -f inet addr show wlan0

完成连接后,您可以通过以下操作断开设备与计算机的连接:

adb disconnect <ip>:<port>

或者没有 IP 来断开所有设备。如果您使用自定义端口,则必须指定要从哪个端口断开连接。这里的默认值也是 5555。

要禁用端口(如果您想要这样做),请在连接设备的情况下执行以下命令:

adb usb

或者您可以重启设备以移除 tcpip 连接

从根设备上的计算机

首先,您需要访问 shell。您可以使用 USB 数据线连接设备,然后使用adb shell或从 Google Play、FDroid 或其他来源下载应用程序。

然后你做:

su
setprop service.adb.tcp.port <port>
stop adbd
start adbd

要连接设备,您可以像在非 root 版本中一样执行adb connect <ip>:<port>.

如果您想禁用端口并返回 USB 侦听:

setprop service.adb.tcp.port -1
stop adbd
start adbd

您还可以使用 Android Studio 插件为您完成此操作(现在不记得名称了),对于 root 用户,还可以选择下载 Android 应用程序来设置电话连接(可能仍然需要 adb connect )。

一些手机在开发者选项中有一个设置(这适用于一些无根手机,尽管可能也有一些有根手机),允许从设备本身通过 Wi-Fi 切换 ADB,无需 root 或计算机连接来启动它。虽然很少有手机有这个

于 2017-06-09T14:58:22.260 回答
33

我需要让USB 和 TCPIP都为ADB工作(不要问),所以我做了以下事情(使用其他人从 xda-developers 发布的指示)

使用adb shell

su
#Set the port number for adbd
setprop service.adb.tcp.port 5555

#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &

#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit
于 2011-10-14T16:17:45.203 回答
32

使用 TCP 端口连接您的平板电脑。确保您的系统和设备连接到同一网络。

  1. 打开控制台cmd.exe
  2. 类型adb tcpip 5555
  3. 转到系统 -> 开发选项 -> USB 调试-> 取消选中 TCPIP 连接
  4. 键入adb connect 192.168.1.2这是您的设备 IP 地址
  5. 连接到 192.168.1.2

使用端口转发连接 尝试进行端口转发,

adb 转发 tcp: <PC port>tcp:<device port>

像:

adb 转发 tcp:5555 tcp:5555。

C:\Users\abc>adb forward tcp:7612 tcp:7612

C:\Users\abc>adb tcpip 7612 在 TCP 模式下重启端口:7612

C:\Users\abc>adb 连接 10.0.0.1:7612

连接到 10.0.0.1:7612

如果您收到消息错误:未找到设备,请将 USB 设备连接到系统,然后按照相同的步骤操作。
对于有根设备

setprop service.adb.tcp.port 5555
stop adbd
start adbd
于 2013-01-29T06:28:45.113 回答
30

我根本不知道如何在没有任何 USB 连接的情况下连接设备,但如果你设法在另一台计算机上连接它,你可以通过发出将 adbd 切换到 TCP 模式

adb tcpip <port>

从终端并通过 wifi 从网络上的任何 PC 连接到您的设备:

adb connect <ip>:<port>

也许也可以从设备上的终端切换到 TCP 模式。

于 2010-08-12T06:06:09.243 回答
29

首先,您必须通过 USB 连接您的设备

然后将您的设备连接到 WIFI 并获取 IP 地址。虽然仍然通过 USB 连接,但在命令行或通过 Android Studio 终端输入

adb tcpip 5555
adb connect <device IP>:5555

您将看到以下消息:

restarting in TCP mode port: 5555
connected to 172.11.0.16:5555

现在拔掉 USB 线,你仍然会看到你的 logcat 正常

完毕。享受

于 2016-06-07T01:45:04.813 回答
21

如果您想轻松连接您的设备以通过 WiFi 运行、调试或部署您的 Android 应用程序,您可以使用我开发的开源 IntelliJ 插件。是代码,这里是可以使用的插件。

用法很简单。这里有一个 gif:

在此处输入图像描述

于 2015-10-20T18:01:08.490 回答
11

正如布赖恩所说:

根据 xda-developers 上的帖子,您可以使用以下命令从设备启用 ADB over WiFi

setprop service.adb.tcp.port 5555

停止 adbd

启动 adbd

您可以禁用它并返回 ADB 以监听 USB

setprop service.adb.tcp.port -1

停止 adbd

启动 adbd

如果您已经有 USB 访问权限,则切换到使用 WiFi 会更容易。从通过 USB 连接设备的计算机上的命令行,发出命令

亚行 tcpip 5555

亚行连接 192.168.0.101:5555

告诉 ADB 守护程序返回到通过 USB 侦听

亚行USB

Android Market 上还有几个应用程序可以自动执行此过程。

它有效。您只需要访问 android shell 并键入这些命令...

市场上有另一种(更简单)的解决方案:adbWireless,它会自动设置您的手机。

需要root!对彼此而言...

于 2011-01-24T05:13:00.323 回答
9
adb tcpip 5555

很奇怪,但这只有在我连接了 USB 电缆的情况下才对我有用,然后我可以拔下 USB 并与其他所有东西一起使用 adb。

返回usb时也一样,

adb usb

仅在连接 USB 时才有效。

不管我是否发出

setprop service.adb.tcp.port 5555

或者

setprop service.adb.tcp.port -1

然后停止并启动 adbd,我仍然需要插入 USB 电缆,否则它不起作用。

因此,如果我的 ADB over usb 无法正常工作,我敢打赌我也无法通过 WiFi 启用 ADB。

于 2011-01-19T08:05:45.193 回答
8

要使用一个命令在 TCP 和 USB 模式之间切换,您可以将其添加到/init.rc

on property:service.adb.tcp.port=*
    restart adbd

on property:service.adb.tcp.enable=1
    setprop service.adb.tcp.port 5555

on property:service.adb.tcp.enable=0
    setprop service.adb.tcp.port -1

现在您可以使用属性service.adb.tcp.enable来启用或禁用端口 5555 上的侦听。运行netstat以检查它是否正在侦听。service.adb.tcp.port如您所见,如果您确实希望手动更改,它也会触发。

于 2012-07-14T16:17:42.693 回答
8

Bash实用功能:

function adb-connect-to-wifi {
    ip="$(adb shell ip route | awk '{print $9}')"
    port=5555
    adb tcpip ${port}
    adb connect ${ip}:${port}
}
于 2018-10-16T11:48:43.093 回答
7

第1步。

确保您的 adb 主机和 Android 设备都在同一个 Wifi 网络上

第2步。

使用 USB 数据线将 Android 设备与计算机连接。一旦你这样做了,你的主机将检测到你的设备,adb 将开始在计算机上以 USB 模式运行。您可以通过执行检查连接的设备,adb devices同时确保 adb 在 USB 模式下运行adb usb

$ adb usb
restarting in USB mode
$ adb devices
List of devices attached
ZX1D63HX9R  device


第 3 步。

使用以下命令以 tcpip 模式重新启动 adb:

$ adb tcpip 5556
restarting in TCP mode port: 5556


第4步。

找出 Android 设备的 IP 地址。有几种方法可以做到这一点:

  • 方式: 1进入设置 -> 关于手机/平板电脑 -> 状态 -> IP 地址。
  • 方式: 2转到可用的 Wi-fi 网络列表。您连接的那个,点击它并了解您的IP。
  • 方式: 3尝试$ adb shell netcfg

既然您知道设备的 IP 地址,请将您的 adb 主机连接到它。

$ adb connect 192.168.0.102:5556
already connected to 192.168.0.102:5556
$ adb devices
List of devices attached
ZX1D63HX9R  device
192.168.0.102:5556  device


第 5 步。

拔下 USB 电缆,您应该已连接到您的设备。如果您没有看到它,adb devices那么只需使用上一步的命令重新连接:

$ adb connect 192.168.0.102:5556
connected to 192.168.0.102:5556
$ adb devices
List of devices attached
192.168.0.102:5556  device

要么你现在就可以走了,要么你需要通过执行adb kill-server并再次执行所有步骤来杀死你的 adb 服务器。

希望有帮助!


参考:

于 2016-03-11T02:34:40.333 回答
6

这些是我遵循的步骤,它对我有用,

  1. adb shell ifconfig(从这里获取设备的ip地址)

  2. adb tcpip 7777(将 adb 连接到某个端口)

  3. 亚行连接“IP地址”:7777

于 2020-02-15T13:51:11.170 回答
5

您还可以使用 SSH 本地端口转发。但它仍然涉及 USB 电缆。使用 USB 将手机连接到运行 sshd 的计算机(主机)。在远程(访客)电脑上启动一个能够进行端口转发/隧道的 SSH 客户端。例子:

plink -L 5037:localhost:5037 <host_IP_address>

我使用这种结构将我的设备连接到虚拟机。Eltima USB 转以太网不够稳定(调试期间超时)。

SSH 隧道是免费的,而且更可靠。

于 2011-02-17T21:45:46.127 回答
4

我发现其他答案令人困惑。使用 adbWireless 简单得多:

http://ppareit.github.com/AdbConnect/

只需在手机上安装一个应用程序即可通过 wifi 切换调试,安装一个 eclipse 插件即可。

于 2012-07-17T08:41:29.003 回答
3

我整理了一个批处理文件,用于通过 TCP 自动启用 ADB 并将其连接到通过 USB 连接的设备。有了它,您不必手动输入 IP。

@echo off
setlocal

REM Use a default env variable to find adb if possible
if NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools

REM If off is first parameter then we turn off the tcp connection.
if "%1%" == "off" goto off

REM Set vars
set port=%1
set int=%2
if "%port%" == "" set port=5557
if "%int%" == "" set int=wlan0

REM Enable TCP
adb -d wait-for-device tcpip %port%

REM Get IP Address from device
set shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"
for /f %%i in ('adb wait-for-device shell %shellCmd%') do set IP=%%i

REM Connect ADB to device
adb connect %IP%:%port%

goto end

:fail
echo adbWifi [port] [interface]
echo adbWifi off
goto end

:off
adb wait-for-device usb

:end
于 2013-01-05T13:25:39.417 回答
3

这是布赖恩使用蓝牙的答案的扩展:

  1. 在 Linux 上,使用 Blueman 通过蓝牙与您的设备共享 PC 互联网:

    $ sudo apt-get install blueman
    $ blueman-manager
    Pair them: Search devices after enabling Bluetooth
    on your phone and making it visible
    $ blueman-services
    Network > [X] Network Access Point (NAP)
    Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
    
  2. 使用蓝牙网络执行 ADB 命令:

    $ adb tcpip 5555
    $ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555
    

完成后返回 USB 模式:

$ adb disconnect
$ adb usb

注意:蓝牙 3.0 和 4.0 最高可达 24 Mbit/s

于 2014-11-10T10:19:32.017 回答
3

脚步 :

  1. su-- 切换到超级用户。
  2. setprop service.adb.tcp.port 5555- 指定 tcp 端口 - 5555 是这里的端口号
  3. stop adbd- 停止 adbd 服务。
  4. start adbd- 启动 adbd 服务。

ssh这与我的 Windows PC完美搭配

我尝试在我的 cyanogen 手机上启动时执行此操作,或者使用 plink 启动它。使用 plink 我无法使用 su right 启动 shell ... sudo 或 su 命令不起作用。在启动时,我不知道它是如何工作的!我的 shell 程序通过 ssh 使用su -c "sh /storage/sdcard1/start_adb.sh"最后 3 个命令(没有 su --)

谢谢

于 2015-01-05T22:50:13.920 回答
2

一个额外的注意事项(学会了艰难的方法):你不应该同时让你的公司 VPN 连接处于活动状态......

于 2016-03-31T10:57:50.730 回答
2

你需要做以下事情:

  • 首先,将 ADB 添加到您的环境路径。
  • 从您的 CLI 键入此命令adb connect YOUR_DEVICE_IP:PORT_NUMBER(例如adb connect 192.168.100.100:5555
于 2016-05-26T04:31:57.883 回答
2

有两种方法可以通过 TCP 将您的 Android 设备与 ADB 连接?

第一种方式

按照这个步骤

首先使用以下命令获取您的设备 IP 地址

adb shell ifconfig

上述命令的输出

wlan0     Link encap:UNSPEC    Driver icnss
          inet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX

在上述命令的帮助下,您将找到连接设备的 IP 地址

现在使用以下命令

adb tcpip 5555

上面的命令会重启这个 TCP 端口:5555

现在使用以下命令连接您的设备

adb connect XXX.XXX.X.XXX:5555
            ^^^ ^^^ ^ ^^^
        IP Address of device

第二种方式

您可以使用 Android Studio 插件Android device with ADB

Android WiFi ADB - IntelliJ/Android Studio 插件

IntelliJ 和 Android Studio 插件旨在通过 WiFi 快速连接您的 Android 设备,以便在不连接 USB 的情况下安装、运行和调试您的应用程序。按下一个按钮,忘记您的 USB 数据线

请查看这篇文章以获取更多信息

在 Android Studio 中将 Android 设备与 Wifi 连接

于 2019-10-11T05:44:15.130 回答
2

我在同一个问题上是结构,但一个简单的黑客adb reverse tcp:<PORT> tcp:<PORT>对我有用。它允许系统接受 tcp 请求。

谢谢你的阅读

于 2020-01-09T09:47:10.070 回答
1

我确实得到了这个工作。没有使用任何 USB 数据线。

  • 应用亚行无线。
  • 运行。这将设置 ip 和端口;然后在dos

    cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"
    

连接的。

于 2011-06-11T09:31:54.013 回答
1

使用 adbwireless 应用程序启用手机,然后使用 Windows 机器上的 adb connect 与其通话。手机上的 adbwireless 应用程序会告诉您如何连接它,并提供 IP 地址和所有内容。

不太有趣的替代方法是通过 USB 连接,通过 adb tcpip 5555 告诉手机使用 TCPIP,然后断开 USB,然后使用 adb connect。这要困难得多,因为这样你必须自己找出电话的 IP 地址(adbwireless 告诉你 IP),你必须通过 USB 连接,并且你必须运行 adb tcpip(adbwireless 也会处理这个问题)。

所以:在你的手机上安装 adbwireless。用它。有可能,我在 Linux 和 Windows 上经常这样做。

于 2011-07-22T17:45:23.253 回答
1

在我的系统上是这样的:

在我的 Linux shell 中的 Android 设备上,一个简单的“ifconfig”没有给我我的 IP 地址。我必须输入:

ifconfig eth0

-或者-

网络配置文件

获取我的 IP 地址。(我知道 eth0 已配置,因为我在 dmesg 中看到了它。)然后我做了:

setprop service.adb.tcp.port -1

停止 adbd

启动 adbd

然后在我的 Win7 机器上(运行 Eclipse 3.7.1 的机器)。我打开了一个命令提示符

\android-sdk\平台工具>

无需以管理员身份运行。然后我做了一个

亚行连接 12.345.678.90

我从来没有放一个端口。如果我做了一个

亚行 tcpip 5555

它说它找不到该设备,然后我的“adb 设备”列表中没有出现任何内容。即它只有在我不执行上面的 tcpip 命令时才有效。

我可以做一个“adb shell”并弄乱我的Android设备。但是我的 Android 设备现在没有出现在我的 Run->Run Configurations->Target 选项卡中。另一方面,如果我将目标选项卡设置为自动。然后,当我通过 Run->Run 运行我的应用程序时,它确实在我的 Android 设备上运行,即使我的 Android 设备甚至没有被列为我的目标之一。

于 2011-12-22T17:44:18.417 回答
1

我只是按照以下步骤操作,它开始工作,这样我就可以连接到我的安卓设备了。

步骤 1:在 Android 设备中打开终端窗口并执行以下命令。

  1. su -- 切换到超级用户。
  2. setprop service.adb.tcp.port 5555 - 指定tcp端口 - 5555是这里的端口号
  3. stop adbd - 停止 adbd 服务。
  4. start adbd - 启动 adbd 服务。

第2步:通过ADB,执行下面的命令。(从配置ADB的路径)

adb connect 10.10.10.50:5555 - 这里 10.10.10.50 是安卓设备的 IP 地址,5555 是端口号。

于 2014-01-31T05:53:25.603 回答
1

我找到了一个方便的方法,我想分享。

对于 Windows

拥有一次 USB 访问权限

无需root

将您的手机和电脑连接到热点或从您的手机运行便携式热点并将您的电脑连接到它。

按照 brian 的规定获取手机的 ip(如果您从手机制作热点则不需要)

adb shell ip -f inet addr show wlan0

打开记事本

写这些

@echo off
cd C:\android\android-sdk\platform-tools
adb tcpip 5555
adb connect 192.168.43.1:5555

将上面给出的位置更改为您的电脑包含abd.exe文件的位置

将ip更改为您的手机ip。

注意:上面给出的IP是安卓设备做热点时的基本IP。如果您正在连接到 wifi 网络,并且您的设备的 IP 在每次连接到热点时都在不断变化,您可以通过在 wifi 设置中进行配置使其成为静态。去谷歌上查询。

现在将文件保存为 ABD_Connect.bat(MS-DOS 批处理文件)。

将其保存在某处并引用桌面或开始按钮的快捷方式。

通过 USB 连接一次,然后尝试运行一些应用程序。之后,每当您想无线连接时,双击快捷方式。

注意:有时您需要在每次调试应用程序时打开快捷方式。所以为桌面的快捷方式制作一个快捷键会更方便。我已经制作了一个快捷键,例如Ctrl+Alt+S. 所以每当我想调试时,我都会Shift+F9Ctrl+Alt+S

注意:如果您在 cmd 窗口中发现 device=null 错误,请检查您的 IP,它可能已更改。

于 2015-09-08T09:56:26.367 回答
1

adb 可以通过 tcp 套接字与 adb 服务器通信。您可以通过 telnet 验证这一点。

$ telnet 127.0.0.1 5037
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
000chost:version
OKAY00040020

通常,命令的格式%04x%s with <message.length><msg> 如下是 ruby​​ 命令女巫发送cmd针对 tcp 套接字的 adb 命令socket

def send_to_adb(socket, cmd)
  socket.printf("%04x%s", cmd.length, cmd)
end

第一个示例发送host:version长度为 12(000c十六进制)的命令。您可以享受更多令人兴奋的命令,例如framebuffer:从帧缓冲区中截取屏幕截图,您可以从它的名称中猜到。

于 2015-11-19T16:03:50.847 回答
1

如果您希望能够通过单击按钮来执行此操作,那么:

  1. 在 Android Studio -> 设置/首选项 -> 插件 -> 浏览存储库
  2. 搜索“亚行 wifi”
  3. 安装并重启android studio
  4. 使用 USB 将您的设备(启用 USB 调试)连接到您的计算机(每次会话只需执行一次此操作)
  5. 工具 -> Android -> ADB WIFI -> ADB USB TO WIFI(或使用提到的组合键。对于 MacOS:ctrl + shift + w)

注意:如果它不起作用:

  1. 您的 wifi 路由器防火墙可能会阻止连接。
  2. ABD 可能未安装在您的计算机上。
于 2017-05-15T06:54:38.953 回答
1

以防万一它可以帮助任何人,我已经编写了一个 .bat 文件来为我完成这项工作。

我正在使用 Visual Studio / Xamarin - 只需将手机连接到 USB,运行批处理文件,选择“C”进行连接,完成后,断开手机与 USB 电缆的连接。您将从那里通过 Wifi 连接。

注意:将脚本中的目录更改为 PC 上存在 adb.exe 的位置,然后编辑手机的 IP 地址。

@echo off
cls
c:
cd\
cd C:\Program Files (x86)\Android\android-sdk\platform-tools\

:choice
set /P c=Do you want to connect or disconnect[C/D]?
if /I "%c%" EQU "C" goto :connect
if /I "%c%" EQU "D" goto :disconnect
goto :choice


:connect
echo plug phone in via USB. Make sure emulator is switched off
pause
adb tcpip 5555
adb connect 192.168.0.32:5555
echo finished - unplug USB
pause
exit

:disconnect
adb usb
echo finished - ADB is reset to USB mode
pause

希望它可以帮助某人!

于 2019-11-06T18:01:37.237 回答
0

这是 Mac/Linux 通过 Wi-Fi 连接到 Android 设备的单线,但首先您必须通过 USB 连接到设备。

# sleep 5 is to wait for the device to restart listening.
adb kill-server && adb tcpip 5555 && sleep 5 && adb shell ip route | awk '{print $9}' | xargs adb connect
于 2020-05-03T01:44:35.170 回答
-34

在最终放弃通过 TCP 直接连接到设备的可能性后,我最终让 Eltima USB 转以太网软件工作。我几乎已经决定不可能通过网络连接到仅一个模拟器的设备。

于 2010-04-17T20:39:35.403 回答