我认为有一种方法可以通过Wi-Fi测试开发中的应用程序。这可能吗?
我希望能够解开我的手机,无线开发。
我认为有一种方法可以通过Wi-Fi测试开发中的应用程序。这可能吗?
我希望能够解开我的手机,无线开发。
当前回答
在设备设置->“开发人员选项”->“撤销USB调试授权”。 通过USB连接设备并确保调试工作正常。 Adb tcpip 5555 adb connect <DEVICE_IP_ADDRESS>:5555 断开USB 亚洲开发银行设备
其他回答
经过长时间的搜索,我发现:
我得走了
adb connect <device_ip_address>:5555
断开USB后。
虽然有这么多好的答案,这里是我对未来的我的两点意见:P和任何想要快速简单的人。
Mac:
首先使用USB连接设备,并确保调试工作正常。断开任何其他设备并退出模拟器。 打开终端,运行以下脚本 Adb tcpip 5555 Adb connect $(Adb shell ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d: -f2):5555 断开USB连接,设备应可进行WiFi调试
解释:
Adb tcpip 5555命令设备开始监听端口5555上的连接
Adb connect $(_ip_address_fetched_):5555表示连接到_ip_address_fetched_地址的5555端口
其中_ip_address_fetched_包含以下内容:
Adb shell ifconfig使用Adb shell获取Internet配置
Grep "inter "过滤任何以inter开头的行
排除本地主机。
此时,输出应该是这样的:
inet addr :###.###.#.# # #广播地址 :###.###.#.# # #面具:255.255.255.0
awk '{print $2}'获取组件数组的第二部分,用空格分隔(我使用zsh)。
到此为止的输出是
addr :###.###.#.###
Cut -d: -f2用分隔符分割字符串,然后取第二部分。它只会接收你的设备IP地址
2021年8月编辑
谷歌用ArcticFox Beta 03 https://issuetracker.google.com/issues/190411383删除了它,但在Android Studio Bumblebee它仍然存在。看起来他们有很多问题,这就是为什么它只是金丝雀版本
最初的发布
这个Android WiFi ADB插件不能在4.1.1中工作(不再)
但有一个更简单的解决方案: 如果你有Android 11 (api30)设备,你应该使用Android Studio 2020.3.1 (Canary)来连接。非常简单
然后进入开发者设置,扫描二维码。就是这样。 你现在也可以在其他(旧的)Android Studio版本中使用连接设备
adb实用程序能够通过TCP/IP连接到设备。但是,adbd通常不会监听TCP连接。
如果您想让它运行,您需要一个工程设备(换句话说,您需要root)。然后按照这篇文章中的指导去做:
如何通过TCP连接到ADB的Android ?
由于这只适用于eng设备,所以它不受官方支持。使用风险自负,包括bug等。
我写了一个shell脚本,它可以让你通过Wi-Fi调试Android设备。
代码如下:
#!/usr/bin/env bash
#Notice: if unable to connect to [ip]:5555,
#try adb kill-server then try again.
adb shell ip route > addrs.txt
#Case 1:Nexus 7
#192.168.88.0/23 dev wlan0 proto kernel scope link src 192.168.89.48
#Case 2: Smartsian T1,Huawei C8813
#default via 192.168.88.1 dev eth0 metric 30
#8.8.8.8 via 192.168.88.1 dev eth0 metric 30
#114.114.114.114 via 192.168.88.1 dev eth0 metric 30
#192.168.88.0/23 dev eth0 proto kernel scope link src 192.168.89.152 metric 30
#192.168.88.1 dev eth0 scope link metric 30
ip_addrs=$(awk {'if( NF >=9){print $9;}'} addrs.txt)
echo "the device ip address is $ip_addrs"
echo "connecting..."
rm addrs.txt
adb tcpip 5555
adb connect "$ip_addrs"