我正在尝试为我的 android 应用程序设置一个测试环境,其中单独的设备需要 Internet 连接,但没有无线功能。
所以我决定使用 USB 反向网络共享。我的主机正在运行 Ubuntu。我已经设法为一台设备设置反向网络共享,连接正常,我可以从该设备的 adb shell ping google.com。
当我连接第二个设备时,第一个网络共享停止工作。两台设备在其内部 usb0 接口上配置了相同的 IP 地址。
这是我到目前为止所拥有的:
主机上的端口转发已激活
echo 1 > /proc/sys/net/ipv4/ip_forward
主机上的 iptables 规则以路由流量:
iptables -t nat -A POSTROUTING -s 169.254.255.2/24 -j MASQUERADE
插件第一设备:
ifconfig shows the device on usb0 @ ip 169.254.255.2/30
在第一台设备上(使用 adb shell)
> route add default gw 169.254.255.2 dev usb0 > setprop net.dns1 8.8.8.8 > ping google.com --> is giving results
插入第二个设备
ifconfig shows this device on usb1 @ ip 169.254.255.2/30
在第二台设备上
Add gw, set DNS like above
现在第二个设备可以ping google.com,但第一个不能。
当我更改内部 IP 或分配给主机 usb0、usb1 接口的 IP 时,我无法再通过 adb 连接到设备。
我怀疑这是网络问题,而不是 ADB 的问题?有任何想法吗?