You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用Cisco AnyConnect VPN后ADB服务器无法启动的解决咨询

问题场景

MacBook(Sonoma 14.6.1)通过Homebrew安装ADB版本35.0.2-12147458,正常状态下可正常运行;但启用公司Cisco AnyConnect VPN后,执行adb start-server报错,核心错误日志为:

F adb     : udp_socket.cpp:447 Check failed: static_cast<size_t>(num_bytes_sent) == length (static_cast<size_t>(num_bytes_sent)=12, length=33) 

临时解决方案为先启动ADB服务器再连接VPN,但需要更通用的解决办法。

可行解决方案

1. 强制ADB仅使用IPv4

VPN环境下IPv6的UDP流量可能被拦截,通过环境变量限制ADB仅用IPv4:

  • 临时生效(当前终端会话):
    export ADB_MDNS_IP_VERSION=4
    adb kill-server && adb start-server
    
  • 永久生效(添加到shell配置):
    编辑~/.zshrc或~/.bash_profile,加入:
    export ADB_MDNS_IP_VERSION=4
    
    执行source ~/.zshrc(对应你的shell配置文件)使设置生效。

2. 指定ADB绑定到本地非VPN接口

先获取本地非VPN网络接口的IP(比如Wi-Fi接口en0):

ipconfig getifaddr en0

然后指定ADB绑定该IP启动:

adb kill-server && adb -a -P 5037 nodaemon server --adb-local-host <你的本地IP> &

可以将命令封装为shell别名,方便使用:

alias adb-start-local='adb kill-server && adb -a -P 5037 nodaemon server --adb-local-host $(ipconfig getifaddr en0) &'

3. 禁用ADB的mDNS自动发现

如果不需要无线ADB调试,关闭mDNS广播避免UDP流量冲突:

  • 临时生效:
    export ADB_MDNS_DISABLE=1
    adb kill-server && adb start-server
    
  • 永久生效:
    在shell配置文件中添加:
    export ADB_MDNS_DISABLE=1
    

4. 调整VPN路由规则(需IT支持)

联系公司IT团队修改Cisco AnyConnect的路由配置,仅将公司内网地址路由到VPN,排除本地子网及ADB相关端口(5037、5353),避免本地ADB流量被VPN拦截。

内容的提问来源于stack exchange,提问作者Anton Avtamonov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 10:44:56