通过 IPV4 连接一起正常,使用IPV6连接提示 failed to connect to ‘suroy.cn:port’: Connection refused
在stackoverflow找到相关问题
You will not be able to use IPV6 to connect to the adbd on the device until you upgrade it to Android 7.0
adbd in all Android versions before that use AF_INET address family. adbd in Android 7.0 uses AF_INET6
简单说:官方限制 Android 7.0 以下无法实现,需要修改内核方可。
曲线救国更加现实,采用端口转发技术将IPV6端口转发到IPV4。
采用 socat 进行端口转发
将ipv6 6666端口转发到ipv4 8888端口
socat -d -d TCP6-LISTEN:5556,reuseaddr,fork tcp4:127.0.0.1:5555
若使用termux作为终端工具需要先行安装
socat pkg install socat -y
为了方便,花了点时间写了个 shell 脚本:
Github: sushell-adbon
启动:
./adbon start 5555 listen root
#启动端口号为5555的 WIFI ADB 服务,同时监听ipv6端口转发
关闭:./addon stop 5555 0 root
支持全安卓平台使用(android 5/6/7/8/9/10/11/12)
测试下安卓10版本无需root、Android7以下root运行。
博客地址:@Suroy https://suroy.cn/Simple/60.html