我有一个通过wifi通过adb连接的Android设备。现在,由于某种原因,使用命令终止了adb服务器 'adb kill-server'。
重启服务器或发出命令后 'adb devices',我希望通过wifi连接的设备出现在设备列表中,就像usb连接的设备出现在列表中一样。
如何实现这一目标?我可以将设备的ipaddresses放在某个文件中,并在adb服务器重启时自动连接吗?
答案 0 :(得分:0)
如果未使用USB线连接设备,则无法通过wifi自动连接设备。我开发了一个开源的IntelliJ插件尽可能快地完成这项工作。在这里你有代码https://github.com/pedrovgs/AndroidWiFiADB,这里有插件https://plugins.jetbrains.com/plugin/7983
答案 1 :(得分:0)
如果设备未首先使用USB电缆连接,无法自动通过WiFi连接您的设备,因为您需要将设备配置为侦听端口并打开连接。你可以做的是尝试使用脚本运行这些命令。
从计算机,如果您已经有USB访问(无需root)打开终端并使用
安装adbsudo apt-get install android-tools-adb android-tools-fastboot
通过USB线将手机连接到PC。在终端中键入以下命令以获取设备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
答案 2 :(得分:0)
不,你不能这样做,因为一旦连接到adb服务器被杀死,你必须再次建立连接。
如果您仍想自动连接而不必反复写入命令,则可以使用所有命令创建批处理/脚本文件,并在重新连接到adb设备时使其运行。
答案 3 :(得分:0)
如果您使用的是Windows操作系统,则可以创建批处理文件并添加
adb connect 192.168.1.179
请用您自己的设备IP地址替换192.168.1.179。
然后保存bat文件并将其放在启动文件夹中。
答案 4 :(得分:0)
我制作了批处理脚本,用于自动为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(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