Android开发中遇到的问题(一)——Android模拟器端口被占用问题的解决办法

一、问题描述

  今天在Eclipse中运行Android项目时遇到"The connection to adb is down, and a severe error has occured"这个问题,如下图所示:

  

  第一次遇到这个问题,上网查了一下原因,原来"The connection to adb is down, and a severe error has occured"指的就是Android模拟器端口被占用了。

二、问题的排查过程

  既然是端口被占用了,现在就要看看到底是谁占用了端口。

  在sdk目录下的platform-tools目录中有一个adb.exe可执行程序,这个就是Android模拟器的启动程序,如下图所示:

  

  打开CMD命令行窗口,进入sdk目录下的platform-tools目录,输入命令:adb start-serevr,如下图所示:

  

  因为我在搭建Android开发环境时,已经将sdk目录下的platform-tools目录加入到Path环境变量中,如下:

  

  

  所以我在cmd命令中直接输入命令:adb start-serevr是可以正常运行的,不再需要进入到进入sdk目录下的platform-tools目录。

  从上面的排查结果显示来看,确实是端口被占用了,接下来需要确定被占用的端口号是多少,输入命令:adb nodaemon server,如下图所示:

  

  OK,现在确定了,端口5037被占用了,那就要找到究竟是谁敢占用5037端口。

  在cmd中输入命令netstat -ano |findstr "5037",如下图所示:

  

   原来是5040这个进程占用了端口,我们要把这个进程找出来,在cmd中输入命令tasklist /fi "pid eq 5040",如下:

  

  OK,已经找到了,是一个名字为shuame_helper.exe,打开任务管理器,kill这个进程即可。

posted on   孤傲苍狼  阅读(13608)  评论(2编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示