打开mumu 使用命令adb devices报错adb server version (32) doesn't match this client (41); killing... * daemon started successfully List of devices attached
时间: 2023-06-23 20:50:30 浏览: 277
这个错误提示是因为你的电脑上安装的adb客户端版本和adb服务端版本不一致导致的。你可以通过以下步骤解决这个问题:
1. 打开命令行窗口,输入以下命令来停止adb服务端进程:
```
adb kill-server
```
2. 然后输入以下命令来启动adb服务端进程:
```
adb start-server
```
3. 接着输入以下命令来查看连接的设备列表:
```
adb devices
```
如果一切正常,你应该可以看到你连接的设备列表了。
如果还是无法解决问题,你可以尝试升级adb客户端或者降级adb服务端到相同的版本。
相关问题
* daemon not running; starting now at tcp:5037 * daemon started successfully - waiting for device - error: more than one device/emulator
<think>我们正在解决两个问题:1)ADB守护进程未运行;2)多个设备冲突针对第一个问题:daemonnotrunning-通常通过`adbkill-server`和`adbstart-server`(或直接运行`adbdevices`会自动启动)来解决-如果守护进程启动失败,需要检查端口占用(5037)或adb本身的问题针对第二个问题:morethanonedevice/emulator-当连接多个设备(包括模拟器)时,执行adb命令需要指定目标设备-可以通过`adb-s<设备序列号><命令>`来指定设备-或者使用`adb-d`(仅USB设备)或`adb-e`(仅模拟器)来限定参考引用:[^1]:Adbserver,whichrunsasabackgroundprocessonyourdevelopmentmachine.Theservermanagescommunicationbetweentheclientandtheadbdaemonrunningonanemulatorordevice.[^2]:示例中展示了通过`adbkill-server`重启adb服务,然后连接指定设备(127.0.0.1:7555)的方法,最终成功连接并显示设备列表(包含离线设备和在线设备)结合用户需求:解决adb连接问题(包括daemon未运行和多个设备冲突)解决方案步骤:1.重启ADB服务:首先尝试重启ADB服务,确保守护进程运行:```bashadbkill-serveradbstart-server```2.检查设备列表:```bashadbdevices```如果输出中显示多个设备(例如同时连接了USB设备和模拟器),则需要指定设备。3.解决多个设备冲突:-方法一:指定设备序列号例如,设备列表输出为:```Listofdevicesattached10.192.229.32:5555offline127.0.0.1:7555device```要操作127.0.0.1:7555设备,使用:```bashadb-s127.0.0.1:7555<命令>```-方法二:使用连接选项-`-d`:直接连接到通过USB连接的设备(如果有多个USB设备,则可能不适用)-`-e`:连接到模拟器4.如果设备状态为offline:通常需要重新连接设备或重新开启USB调试。对于网络连接的设备,可以尝试:```bashadbdisconnect10.192.229.32:5555#断开离线设备adbconnect10.192.229.32:5555#重新连接```5.其他建议:-确保只有一个adb实例在运行。-如果使用模拟器(如MuMu模拟器),注意其默认端口(如7555)是否被占用。根据引用[^2]的示例,用户通过重启服务并连接指定模拟器地址解决了问题。因此,我们给出如下完整解决方案:</think>
### 解决 ADB 守护进程未运行和多个设备冲突问题
#### 1. **解决 ADB 守护进程未运行 (daemon not running)**
当出现 `* daemon not running; starting now at tcp:5037` 时,表明 ADB 服务器未启动或异常终止。
**解决步骤:**
1. 强制终止并重启 ADB 服务器:
```bash
adb kill-server # 终止现有服务
adb start-server # 启动新服务
```
2. 验证守护进程状态:
```bash
adb devices # 应显示守护进程启动信息
```
3. 检查端口占用(5037端口):
```bash
lsof -i :5037 # Linux/Mac
netstat -ano | findstr :5037 # Windows
```
4. 如果端口被占用:
```bash
kill -9 <PID> # 结束占用进程(Linux/Mac)
taskkill /F /PID <PID> # Windows
```
> **提示**:`adb devices` 命令会自动启动守护进程[^1],正常情况不需手动启动。
#### 2. **解决多个设备冲突 (more than one device/emulator)**
当连接多个设备时(如真机+模拟器),需明确指定目标设备。
**解决步骤:**
1. 列出所有设备:
```bash
adb devices
# 输出示例:
# 10.192.229.32:5555 offline
# 127.0.0.1:7555 device
```
2. **指定设备执行命令**:
```bash
# 方法1:使用设备序列号
adb -s 127.0.0.1:7555 shell
# 方法2:通过传输类型指定
adb -d shell # 仅USB设备
adb -e shell # 仅模拟器
```
3. 移除离线设备:
```bash
adb disconnect 10.192.229.32:5555
```
4. **批量操作所有设备**:
```bash
adb devices | while read line
do
if [[ $line =~ "device" ]]; then
adb -s ${line%% *} <command>
fi
done
```
#### 3. **常见问题排查**
| 现象 | 解决方案 |
|------|----------|
| `adb: no devices/emulators found` | 检查USB调试模式/USB线 |
| `device unauthorized` | 在设备上确认授权提示 |
| `connection refused` | 重启设备并检查网络连接 |
| `adb server version doesn't match` | 更新Android SDK平台工具 |
> 通过命令 `adb logcat -b all > adb.log` 可获取详细调试日志[^2]。
---
### 操作示例流程
```bash
# 1. 重置ADB服务
adb kill-server
adb start-server
# 2. 连接目标设备
adb connect 192.168.1.100:5555
# 3. 验证连接
adb devices
# 输出:192.168.1.100:5555 device
# 4. 执行设备命令
adb -s 192.168.1.100:5555 shell getprop ro.product.model
```
mumu模拟器adb命令大全详解
### mumu模拟器ADB命令使用教程
#### ADB环境配置
为了使Mac端能够通过ADB识别mumu模拟器,在终端中需先获取设备的Vendor ID。具体操作是在终端输入`system_profiler SPUSBDataType`并找到0x05e3 (Genesys Logic, Inc.)这样的字符串[^1]。
#### 修改ADB USB初始化文件
接着进入用户隐藏目录`.android/`下,打开其中名为`adb_usb.ini`的文件向其内写入上述获得的Vendor ID格式数据以便让ADB可以识别到连接上的USB设备即这里的mumu模拟器。
#### 基础ADB指令集
完成前述设置之后,则可通过一系列基础命令来管理与控制已成功被识别出来的mumu模拟器实例:
- 查看当前所有在线设备列表:`adb devices`
- 关闭正在运行的服务进程:`adb kill-server`
- 启动服务进程:`adb start-server`
- 断开远程调试链接:`adb disconnect`
- 创建本地至远端TCP转发规则(此处以8081为例):`adb reverse tcp:8081 tcp:8081`
这些基本命令允许开发者轻松地管理和操控mumu模拟器中的应用和服务状态,同时也支持更复杂的交互逻辑开发测试工作流。
```bash
# 显示所有连接的Android设备
adb devices
# 终止ADB守护程序
adb kill-server
# 开启ADB守护程序
adb start-server
# 取消现有的网络映射关系
adb disconnect
# 设置本机端口到模拟器内部相应端口之间的双向通信桥接(这里假设外部访问的是8081端口)
adb reverse tcp:8081 tcp:8081
```
阅读全文
相关推荐















