解决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这个进程即可。

相信通过这个案例解析,大家之后再遇到Android模拟器端口被占用的问题,一定会迎刃而解,再也不需要烦恼了。

(0)

相关推荐

  • 在Android 模拟器上安装和卸载APK包的方法

    模拟器(emulator.exe) 可以在 Android SDK 的安装目录下的 tools 文件夹找到运行文件(F:GPhoneandroid-sdk-windows-1.0_r1 ools),双击运行模拟器. 安装 APK 包 adb install [-l] [-r] - push this package file to the device and install it<'-l' means forward-lock the app><'-r' means reinstall

  • 二个android模拟器互发短信程序演示

    一.创建 Android工程 Project name:SendMessage BuildTarget:Android2.2 Application name:发送短信 Package name:com.sms.Activity Create Activity:SendMessage Min SDK Version:8 二.编辑工程 1.编辑字符串strings.xml文件内容为: 复制代码 代码如下: <?xml version="1.0" encoding="utf

  • Android模拟器中安装apk的方法

    本文讲述了Android模拟器中安装apk的方法.分享给大家供大家参考,具体如下: 第一步: 在Eclipse中启动模拟器. 第二步: 打开doc命名窗口,转到你android sdk安装目录中的platform-tools下, 如我的是 E:/Program Files/andriod_sdk/platform-tools 第三步: 利用adb来对android进行安装操作.建议第三步使用方案一 方案一: 为了方便,我们应将要安装的apk直接拷到platform-tools所在的目录下,然后在

  • 配置一个好用的Android模拟器让你不再对模拟器那么失望

    默认情况下的Android模拟器就是下面的这个样子: 看到这个屏幕截图最显眼的问题显然它的丑陋的界面.模拟器窗口占据了屏幕巨大的空间,而且毫无缘由的放着一个屏幕键盘. 如果你没亲自用过模拟器的话,还有一个不易发现的问题:几乎是慢到不能用!为了拍上面的图花了5分钟才把模拟器启动起来,而且几乎对输入事件没响应.有3个原因可以解释这个问题:   1.非本地化的.默认使用ARM架构的模拟器,尽管将指令转化成x86的也是可行的,但这个转换过程是非常慢的. 2.非加速的.即使你选择了x86,虚拟硬件加速也不

  • 使用adb命令向Android模拟器中导入通讯录联系人的方法

    本文实例讲述了使用adb命令向Android模拟器中导入通讯录联系人的方法.分享给大家供大家参考.具体实现方法如下: 使用adb提供的命令, 可以非常方便地从PC中将通讯录导入android模拟器中. 首先要先准备好固定格式的contacts.vcf文件, 该文件即android中的通讯录存储文件. 格式如下: 复制代码 代码如下: BEGIN:VCARD  VERSION:3.0  N:15200000000;;;;  TEL;TYPE=cell:15200000000  END:VCARD 

  • Android 数据库SQLite 写入SD卡的方法

    如果手机没有root,数据库文件是无法查看到的,不方便调试. 最好的办法是把数据库写进SD卡. 修改的地方有两处: 1.在你的helper类中把数据库文件名称 DATABASE_NAME 由原来的一个文件名,修改成路径的形式. 修改前:DATABASE_NAME = "demo.db" public class MyDBHelper extends SQLiteOpenHelper { public static final int VERSION = 1; //数据库版本号 publ

  • Android模拟器实现手机添加文件到sd卡的方法

    本文实例讲述了Android模拟器实现手机添加文件到sd卡的方法.分享给大家供大家参考,具体如下: 在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:Failed to push XXXXX.txt on emulator- : Read-only file system的错误,原因是你的sdcard权限不够,需要直接创建一个SDCARD . 一.首先创建SDCARD  我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束) 进入DOS  指向  目录 E:\an

  • Android编程实现向SD卡写入数据的方法

    本文实例讲述了Android编程实现向SD卡写入数据的方法.分享给大家供大家参考,具体如下: 1.代码: /** * 向sdcard中写入文件 * @param filename 文件名 * @param content 文件内容 */ public void saveToSDCard(String filename,String content) throws Exception{ File file=new File("/mnt/sdcard", filename); Output

  • 将文件放到Android模拟器的SD卡中的两种解决方法

    两种方式:一.窗口界面操作1.打开DDMS页面2.打开File Explorer页,如果没有,在Window --> Show View -->File Explorer3.一般就在mnt --> sdcard中4.在sdcard中,点击你要将文件放到的目的文件夹,这里如mp3文件夹5.点击文件夹后,在File Explorer页的右边有两个图标,一个是pull,一个是push,pull是将mp3里面的文件拉出去,push是将外面,如硬盘上的文件推到mp3文件夹里面来. 二.命令行方式启

  • Android实现读写SD卡

    SD卡的读写是我们在开发Android 应用程序过程中最常见的操作.下面介绍SD卡的读写操作方式:    1. 获取SD卡的根目录 复制代码 代码如下: String  sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();  2. 在SD卡上创建文件夹目录 /** * 在SD卡上创建目录 */ public File createDirOnSDCard(String dir) { File dirFil

  • Android实现从网络获取图片显示并保存到SD卡的方法

    本文实例讲述了Android实现从网络获取图片显示并保存到SD卡的方法.分享给大家供大家参考,具体如下: 问题: 如何不断获取图片并显示出来,达到视频的效果? 代码: public class GetPictureFromInternetActivity extends Activity { private ImageView imageView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst

  • android模拟器开发和测试nfc应用实例详解

    从Android2.3开始支持NFC.不过NFC应用只能在Android手机(或平板电脑)上测试和开发,而且Android手机还必须有NFC芯 片.而且如果测试NFC传输文件时至少需要两部支持NFC的手机.当然,如果测试读写NFC标签,还需要一些NFC标签或帖子.而且NFC在模拟器上时不能运行的.所以从这一点来说,NFC开发需要更多的设备,比较麻烦.这也蓝牙.传感器是一样的.都不能在Android模拟器上开发和测试.真不知道Google为什么不解决这一问题. 不过这种问题也不是不能解决,而且并不

随机推荐