调试Xamarin Forms安卓真机应用遇闪退及socket连接失败错误
解决Xamarin Forms安卓真机调试adbd连接失败(Connection refused)问题
可能的原因与修复步骤
检查ADB端口冲突
错误中的8857是ADB调试的转发端口,大概率被其他进程占用。执行以下命令排查占用情况:netstat -ano | findstr :8857找到占用端口的PID后,在任务管理器中结束对应进程,再重启ADB服务:
adb kill-server adb start-server重置设备的ADB连接
- 安卓设备进入「设置」-「开发者选项」,关闭再重新开启「USB调试」
- 断开设备与电脑的USB连接,等待10秒后重新连接
- 在Visual Studio中重新选择调试设备,重启调试
检查设备的ADB授权状态
确保设备首次连接时弹出的「允许USB调试」对话框已点击允许,且勾选「始终允许此计算机」。若未授权,可执行以下命令重置授权文件:adb kill-server rm "%USERPROFILE%\.android\adbkey" rm "%USERPROFILE%\.android\adbkey.pub" adb start-server重新连接设备后完成授权操作。
更新ADB工具与设备驱动
- 在Visual Studio的「工具」-「Android」-「Android SDK管理器」中,更新「Android SDK Platform-Tools」到最新版本
- 安装对应设备的官方USB驱动(如三星、小米等品牌专用驱动),避免通用驱动导致连接不稳定
调整Visual Studio调试设置
右键项目选择「属性」-「Android选项」-「调试」:- 取消勾选「使用快速部署(仅限调试)」,快速部署可能引发端口转发异常
- 尝试将「调试程序」从「Xamarin调试程序」切换为「.NET调试程序」(适用于较新Xamarin版本)
内容的提问来源于stack exchange,提问作者Conrad Markiewicz
相关产品推荐
相关产品推荐

