on device '????????????': adb rejected install command with: device not found

本文详细介绍了在Eclipse中遇到安装helloworld.apk到设备时出现'adb rejected install command with: device not found'错误的解决方法。通过拨号指令进入USB模式并自动重装驱动,成功解决了设备连接问题。

但在eclipse中run会提示一下错误:
Failed to install helloworld.apk on device '????????????': adb rejected install command with: device not found
com.android.ddmlib.AdbCommandRejectedException: device not found
Launch canceled!

解决方法如下:

以C8950D为例

拨号:*#*#2846579#*#*
ProjectMenu->后台设置->USB端口配置->Google 模式

自动重装驱动

<think>我们正在解决ADB刷机时出现的"Device not found"错误。根据引用[1],adb的运行原理是PC端的adb server与手机端的adbd建立连接。因此,出现此错误通常意味着连接未建立。 引用[2]提到了adb reboot bootloader等命令,说明在进入bootloader或recovery模式时也可能用到adb。 根据引用[4],在adb命令中路径的书写格式很重要,但当前问题不涉及路径,而是设备连接问题。 解决步骤: 1. 检查USB连接和调试模式:确保手机已开启USB调试,并且连接模式为文件传输或MTP(有些设备需要选择传输文件才能连接adb)。 2. 检查设备驱动:在电脑设备管理器中查看是否有未识别的设备,或者Android Composite ADB Interface是否正常安装。 3. 重启adb服务:有时adb server可能出现问题,可以尝试终止并重启。 4. 检查设备授权:如果是第一次连接,手机端会弹出授权提示,需要允许。 5. 更换USB线或接口:物理连接问题也可能导致。 6. 在设备进入bootloader模式后,使用fastboot devices检查设备是否被识别(因为刷机时可能需要进入bootloader模式,而adb在bootloader模式下不可用,此时应使用fastboot命令)。 具体步骤: 步骤1:基础检查 - 确保手机设置中“开发者选项”已打开,并且“USB调试”已开启。 - 连接电脑后,下拉通知栏,将USB连接模式设置为“文件传输”或“MTP”(不同设备可能有不同选项,但通常需要传输文件模式)。 - 在电脑上运行命令:`adb devices`,查看设备列表中是否有设备。如果显示为`unauthorized`,则需要在手机上弹出的授权对话框中点击允许。 步骤2:重启adb服务 - 在命令行中执行: ``` adb kill-server adb start-server ``` - 再次运行`adb devices`。 步骤3:检查驱动(Windows) - 打开设备管理器(在Windows中可通过右键点击“此电脑”->“管理”->“设备管理器”)。 - 查看“其他设备”或“便携设备”中是否有带有感叹号的设备,或者名为“Android”的设备。 - 右键点击该设备,选择“更新驱动程序”,然后选择“浏览我的电脑以查找驱动程序软件”,可以手动指定驱动路径(通常驱动在Android SDK的extras/google/usb_driver目录下,或者使用手机厂商提供的驱动)。 步骤4:尝试其他连接模式 - 有些设备需要切换不同的USB模式(如PTP模式)才能正确连接,可以尝试切换。 - 或者尝试在开发者选项中打开“USB配置”,选择MTP或PTP。 步骤5:检查USB线 - 使用原装USB线,避免使用仅能充电的线缆。 步骤6:在bootloader模式下使用fastboot - 如果是在刷机过程中,当设备进入bootloader模式后,adb命令将不再可用,此时应使用fastboot命令。确保已安装fastboot工具,并运行: ``` fastboot devices ``` 如果此时设备能被识别,则说明adb无法在bootloader模式下使用是正常的(因为bootloader模式下运行的是fastbootd,而不是adbd)。 步骤7:检查电脑的ADB版本 - 更新Android SDK Platform-Tools到最新版本,有时旧版本的adb可能无法识别新设备。 步骤8:检查电脑的USB端口 - 尝试更换电脑上的USB端口,尤其是使用机箱后置的USB端口(通常更稳定)。 如果以上步骤仍然无法解决问题,可能需要考虑设备硬件问题或电脑系统问题。 根据引用[1]中提到的adb运行原理,确保手机端的adbd进程正在运行(正常情况下,开启USB调试后adbd会自动运行)。 最后,如果设备在正常开机状态下adb devices能识别,但在刷机模式(如recovery或bootloader)下无法识别,则需注意: - 在recovery模式下,有些第三方recovery可能没有开启adbd,所以无法连接。而bootloader模式下必须使用fastboot。 因此,在刷机时,如果是在bootloader模式下,应使用fastboot命令而不是adb命令。 相关问题: 1. 如何开启Android设备的USB调试模式? 2. 如何安装Android设备的USB驱动程序? 3. fastboot命令无法识别设备怎么办? 4. 如何更新ADB和Fastboot到最新版本?</think>### 解决 ADB 刷机时 "Device not found" 错误 当使用 ADB 刷机出现 "Device not found" 错误时,表明 PC 端的 adb server 无法与手机端的 adbd 守护进程建立连接[^1]。以下是系统化的解决方案: --- #### 一、基础连接检查(解决 80% 问题) 1. **USB 调试确认** ```android 设置 > 开发者选项 > USB 调试(确保开启) ``` > 首次连接需在手机弹窗中授权「允许USB调试」 2. **USB 连接模式切换** - 下拉通知栏 > 更改 USB 用途 > 选择「文件传输」或「MTP」 - 避免使用「仅充电」模式(会阻断 ADB) 3. **物理连接排查** - 更换原装 USB 数据线(劣质线仅支持充电) - 尝试电脑不同 USB 接口(优先使用主板后置接口) - 移除 USB 集线器(直连电脑) --- #### 二、驱动与软件层修复 4. **ADB 服务重启(关键步骤)** ```bash adb kill-server # 终止服务 adb start-server # 重启服务 adb devices # 检查设备列表 ``` > 若设备显示 `unauthorized`,需在手机重新授权[^1] 5. **驱动安装(Windows 重点)** - 设备管理器 > 未知设备 > 更新驱动 - 手动选择驱动: ``` Android ADB Interface Android Composite ADB Interface ``` > 驱动包可从[Google USB Driver](https://developer.android.com/studio/run/win-usb)下载 6. **ADB/Fastboot 工具更新** ```bash # 通过 Android SDK 更新 sdkmanager --update sdkmanager "platform-tools" ``` --- #### 三、特殊场景解决方案 7. **Bootloader 模式连接失败** ```bash adb reboot bootloader # 进入 fastboot 模式[^2] fastboot devices # 检查 fastboot 连接 ``` > 若仍不识别,尝试: > `fastboot oem unlock`(需提前开启OEM解锁) 8. **多用户环境指定设备** ```bash adb -s <设备ID> shell # 指定设备ID操作[^3] ``` 获取设备ID:`adb devices -l` 9. **Linux/Mac 权限修复** ```bash lsusb # 查看设备总线号 sudo vi /etc/udev/rules.d/51-android.rules ``` 添加规则: ```udev SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666" ``` > 重启服务:`sudo udevadm control --reload` --- #### 四、终极排查方案 10. **端口冲突检测** ```bash netstat -ano | findstr "5037" # Windows lsof -i :5037 # Linux/Mac ``` 结束占用进程:`taskkill /PID <进程ID> /F` 11. **替代连接方式** - 使用 Wi-Fi 调试: ```bash adb tcpip 5555 adb connect <手机IP>:5555 ``` - 更换电脑尝试(排除主机问题) --- ### 故障排除流程图 ```mermaid graph TD A[Device not found] --> B{USB调试开启?} B -->|否| C[开启开发者选项] B -->|是| D{设备管理器识别?} D -->|否| E[安装ADB驱动] D -->|是| F{adb devices显示设备?} F -->|否| G[重启ADB服务] F -->|是| H[正常刷机] G --> I{仍失败?} I -->|是| J[检查端口冲突] J --> K{解决?} K -->|否| L[更换电脑/数据线] ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值