如何自动通过WiFi连接adb到设备

7
我有一台通过wifi连接的安卓设备。由于某些原因,使用命令'adb kill-server'杀死了adb服务器。

一旦我重新启动服务器或发出命令'adb devices',我希望连接过wifi的设备能够出现在设备列表中,就像通过usb连接的设备一样。

如何实现这个目标?我可以把设备的IP地址放在某个文件中吗?这样当adb服务器重新启动时它们会自动连接吗?


adb connect ${IP} 我猜你可以编写一个脚本。 - yonutix
1
adb不支持开箱即用 - 但源代码是可用的,因此您可以自定义。或者您可以将其包装在另一个程序中。 - Chris Stratton
5个回答

13

我已经为自动设置设备的Wifi adb桥创建了批处理脚本,获取IP并连接到设备。您只需要将设备插入电脑,运行脚本,然后再拔出设备即可。

Windows批处理脚本(wifi-connect.bat):

@echo off
echo Disconnecting old connections...
adb disconnect
echo Setting up connected device
adb tcpip 5555
echo Waiting for device to initialize
timeout 3
FOR /F "tokens=2" %%G IN ('adb shell ip addr show wlan0 ^|find "inet "') DO set ipfull=%%G
FOR /F "tokens=1 delims=/" %%G in ("%ipfull%") DO set ip=%%G
echo Connecting to device with IP %ip%...
adb connect %ip%
pause

Unix / Mac(wifi-connect.sh)

#!/bin/sh 
adb disconnect
adb tcpip 5555
sleep 3
IP=$(adb shell ip addr show wlan0  | grep 'inet ' | cut -d' ' -f6| cut -d/ -f1)
echo "${IP}"
adb connect $IP

这两个脚本都需要adb在你的路径中或与脚本放在同一个文件夹中。


4

如果设备没有通过USB电缆连接,你就不能自动地通过WiFi连接设备,因为你需要配置设备以便监听一个端口并打开连接。你可以尝试使用脚本运行以下命令。

1. 对于Linux和MAC用户:

步骤1:

打开终端并安装adb

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

步骤二:

通过USB线将手机连接到电脑上。在终端中输入以下命令以获取设备ID:

$ adb devices

List of devices attached
LGV498b9cacc1   device
192.168.1.187:5558      device
192.168.1.184:5557      device
192.168.1.186:5556      device
192.168.1.143:5555      device

步骤三:

根据上述列出的设备名称,获取您的Android设备的IP地址(如果您已知道可以跳过此步骤)。

$ adb -s LGV498b9cacc1 shell ip -f inet addr show wlan0

22: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.1.185/24 brd 192.168.1.255 scope global wlan0

第四步:

使用以下命令设置通信端口:

$ adb -s LGV498b9cacc1 tcpip 5559

restarting in TCP mode port: 5559

步骤五:

连接到您的Android设备IP地址。

$ adb -s LGV498b9cacc1 connect 192.168.1.185:5559

connected to 192.168.1.185:5559

第六步:

验证设备是否已添加到列表中:

$ adb devices

List of devices attached
192.168.1.185:5559      device
LGV498b9cacc1   device
192.168.1.187:5558      device
192.168.1.184:5557      device
192.168.1.186:5556      device
192.168.1.143:5555      device

目前来看不是真的。设备可以设置自动启动tcp服务。请查看此链接:http://omelina.com/permanent-network-debugging-on-android/ - midenok

2

如果您使用的是Windows操作系统,您可以创建一个批处理文件并添加以下内容:

adb connect 192.168.1.179

请将192.168.1.179替换为您自己设备的IP地址。

然后保存.bat文件并将其放入启动文件夹中。


0

0

不行,因为一旦与adb服务器的连接断开,您必须重新建立连接。
如果您仍然想要自动连接而不必一遍又一遍地编写命令,那么您可以创建一个批处理/脚本文件,其中包含所有命令,并在重新连接到adb设备时运行它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接