Ubuntu 13.10下adb无法识别Nexus 7设备的问题解决指南

5次阅读
没有评论

问题描述

使用 Ubuntu 13.10 的 adb 命令尝试重新安装第一代 Nexus 7 设备上的 Android 系统时,遇到了“device not found”的错误。即使 Nexus 7 设备已连接,并且执行了 adb kill-serveradb start-server 指令后,也未能成功识别设备。

解决方案

方案1:检查和修改 udev 规则

根据最佳答案建议,可能是由于 udev 规则没有正确配置导致的问题。因此,需要重新调整相关的 udev 规则,并确保当前用户能够访问 adb 设备。

在进行以下步骤前,请先备份现有的 udev 配置文件,以避免意外情况后可以恢复设置。

  1. 检查当前的udev规则
    bash
    lsusb

按照评论中的建议,记录下 Nexus 7 使用 lsusb 命令输出的信息。通常情况下,Nexus 7 设备会以某种特定的方式展示在 USB 接口上。

  1. 编辑 adb_usb.ini 文件
    编辑 $ANDROID_HOME/platform-tools/adb_usb.ini 文件(如果没有此文件,请首先设置环境变量 $ANDROID_HOME),添加你的设备的 USB 厂商 ID 和产品 ID。一般情况如下所示:

ini
# Example for Nexus 7: You may need to find the correct vendor id and product id first.
# Replace with your actual values from lsusb output
0x18d1 0xdbb3

  1. 手动创建 udev 规则文件(如 /etc/udev/rules.d/51-android.rules),并添加适当的规则来允许用户访问 adb 设备,示例如下:

ini
# Example udev rule for Nexus 7, you may need to adapt it based on your lsusb output.
SUBSYSTEM=="usb", ATTR{idVendor}<>"18d1", MODE="0666"

保存文件后,重新加载 udev 规则:

bash
sudo udevadm control --reload-rules && sudo service udev restart

  1. 重启 ADB 服务器
    完成上述步骤后,重启 adb 服务以确保所有更改都生效。

bash
adb kill-server; adb start-server
adb devices

若仍然无法识别设备,请检查相关日志信息(如 /var/log/syslogdmesg)找出可能存在的错误提示。

方案2:尝试PTP模式

部分用户指出了关于使用PTP (MTP)模式而非默认的MTP (PC)连接模式可能会影响adb识别的问题。

  1. 切换至PTP模式
    在Nexus 7设备上,确保选择了USB模式下的 MTP 或 CDC-ACM 模式(而不是默认的 PTP USB PC Connection)。通过点击“设置”的“关于本机”部分并反复按下“构建号”来解锁开发者选项,然后在USB设置中选择正确的连接模式。

  2. 检查adb设备
    重新运行 adb devices 命令来查看是否可以正确识别Nexus 7。如果通过更改连接模式后能正常工作,则后续就可以继续使用该设置来保证 adb 可以稳定进行。

以上步骤应能够帮助你解决 Ubuntu 13.10 下无法用adb识别 Nexus 7 设备的问题,确保正确配置了 udev 规则以及相应的设备信息。如果问题仍然存在,请参照上述的最佳方案逐步检查并尝试修正。

正文完