Ubuntu新安装后adb服务异常:Connection reset by peer问题求助
解决Ubuntu下adb异常问题的具体方案
1. 彻底清理adb残留进程与临时文件
- 终止所有adb相关进程:
若上述命令无效,手动查找并强制终止进程:killall adbps aux | grep adb kill -9 <找到的PID> - 删除adb生成的临时socket文件:
sudo rm -rf /tmp/adb*
2. 修复USB设备权限问题
Linux下adb无法正常识别设备常与权限相关:
- 创建Android设备udev规则文件:
sudo nano /etc/udev/rules.d/51-android.rules - 在文件中添加对应厂商的规则(替换
xxxx为你的设备厂商ID,可通过lsusb命令查看):SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666", GROUP="plugdev" - 重新加载udev规则并触发设备识别:
sudo udevadm control --reload-rules && sudo udevadm trigger - 将当前用户加入
plugdev组(需重启或重新登录生效):sudo usermod -aG plugdev $USER
3. 调整adb版本解决兼容性问题
当前使用的adb 34.0.4版本可能存在与Linux内核的兼容性问题:
- 手动下载稳定版platform-tools(如33.0.3或最新稳定版),替换现有安装路径:
cd /home/pha/Android/Sdk/ rm -rf platform-tools # 解压下载好的platform-tools压缩包到当前目录 unzip platform-tools-xxx-linux.zip - 验证版本:
./platform-tools/adb version
4. 排查端口占用与启动冲突
adb默认使用5037端口,若被其他程序占用会导致异常:
- 检查端口占用情况:
lsof -i :5037 - 终止占用该端口的进程,或修改adb默认端口:
将上述命令添加到export ADB_SERVER_PORT=5038~/.bashrc或~/.zshrc文件中,确保每次终端启动时生效。
5. 修复模拟器离线问题
频繁出现离线模拟器多是版本不匹配或配置问题:
- 确保模拟器使用的adb与本地adb版本一致:在模拟器设置中关闭"Use detected ADB",手动指定本地adb路径
/home/pha/Android/Sdk/platform-tools/adb - 重置模拟器:打开Android Studio的AVD管理器,选中目标模拟器,点击Cold Boot Now或Wipe Data
- 调整模拟器网络模式为桥接模式,避免网络连接异常导致离线
内容的提问来源于stack exchange,提问作者snux_cs
相关产品推荐
相关产品推荐

