Unable to get view server version from device emulator-5554 解决办法

本文介绍了解决Eclipse环境下Android模拟器出现空指针异常的问题,通过删除Eclipse工作空间中的.metadata文件夹并重新导入项目来修复该错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 (从另外一大神那里拷贝过来的)

 

情况描述:

exlipse下编写好android应用程序时候,右键项目 run as android application 弹出一对话框说出现问题 点击详细说 空指针异常。打开ddms模式,里面提示 Unable to get view server version from device emulator-5554  ,此时我的android模拟器是运行着的。

解决办法:删除工作空间中的.metadata 文件夹

一下为详细步骤:

(1):打开eclipse工作空间(在位置在你的eclipse中菜单windows ——> Preferences ——> General  Startup and Shutdown ——>Workspaces  里面显示)

(2):关闭eclipse , 删除上面打开的工作空间中.metadata 文件夹

(3):点击 gotoWorkspaces (就是那个最后面的向右的箭头)发现eclipsse中没有任何项目

(4):(导入项目)点击File菜单 import按钮 打开对话框中选择General中Existing Prjoect into workspace 再点击 Next 第一行中右面按钮选择Browse选择workspase所在的位置(刚刚删除了文件夹的那个文件夹)点击finish 完成项目的导入(不要选择copy project into workspace)


### 解释 `adb devices` 命令返回的设备列表及状态 运行 `adb devices` 命令后,系统会列出所有已连接的设备及其状态。以下是常见设备条目及其含义的详细解释: #### 1. **127.0.0.1:5555** 此设备条目表示通过网络连接到本地主机上的模拟器或物理设备。端口号 `5555` 是雷电模拟器等工具的默认 ADB 端口[^2]。如果状态显示为 `offline`,可能的原因包括: - 模拟器未完全启动。 - ADB 客户端与服务器之间的版本不匹配[^4]。 - 网络连接中断或端口被占用。 解决方法包括重启 ADB 服务或检查模拟器是否正常运行: ```bash adb kill-server adb start-server adb connect 127.0.0.1:5555 ``` #### 2. **emulator-5554** 此设备条目表示 Android 模拟器实例,通常由 Android Studio 或其他支持的工具生成。端口号 `5554` 是默认的控制台端口,而 ADB 使用的是 `5555`(即 `console port + 1`)[^3]。如果状态为 `offline`,可能的原因包括: - 模拟器未启动或崩溃。 - ADB 无法正确识别模拟器实例。 解决方法包括重新启动模拟器或清理 ADB 连接: ```bash adb disconnect emulator-5554 adb emu kill ``` 然后重新启动模拟器并检查连接状态。 #### 3. **设备状态说明** `adb devices` 返回的设备状态有以下几种: - **device**: 设备已连接且正常工作- **offline**: 设备已连接,但无法通信。可能是由于驱动问题、版本不匹配或网络故障[^4]。 - **unauthorized**: 设备需要授权才能与 ADB 通信。通常发生在连接物理设备时,需在设备上确认授权请求。 - **no permissions**: ADB 没有足够的权限访问设备。这通常发生在 Linux 系统中,需要配置正确的 udev 规则[^1]。 #### 示例输出及解释 假设运行 `adb devices` 后得到以下输出: ``` List of devices attached 127.0.0.1:5555 offline emulator-5554 device ``` - `127.0.0.1:5555` 表示雷电模拟器或其他工具的网络连接设备,当前状态为 `offline`,需要排查连接问题。 - `emulator-5554` 表示 Android 模拟器实例,当前状态为 `device`,表示设备正常工作[^3]。 ### 注意事项 如果多个模拟器实例运行,可能会出现类似 `emulator-5556` 的条目,每个实例的端口号递增。例如: ``` emulator-5554 emulator-5556 emulator-5558 ``` ### 示例代码 以下是一个简单的脚本,用于检查和重置 ADB 连接: ```bash #!/bin/bash echo "Killing and restarting ADB server..." adb kill-server adb start-server echo "Listing connected devices..." adb devices echo "Connecting to local emulator on port 5555..." adb connect 127.0.0.1:5555 ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值