【问题标题】:adb doesn't detect Android devicesadb 未检测到 Android 设备
【发布时间】:2012-01-23 06:06:52
【问题描述】:

当我通过 USB 插入设备时,adb devices 显示为空。我按照 Android 站点 [1] 上的说明添加以下代码并重新启动 adb 服务器(我还重新启动了我的机器,因为我无法让它工作)。我的 Nexus One 和三星 Nexus 仍然未被检测到。

~猫/etc/udev/rules.d/51-android.rules

# nexus one
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666",    GROUP="wheel"
# samsung nexus
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", SYMLINK+="android_adb", MODE="0666", GROUP="wheel"

有什么想法吗?

  1. http://developer.android.com/guide/developing/device.html

【问题讨论】:

  • 你看到 USB 设备了吗(比如使用“lsusb”)?如果是,它报告什么供应商 ID?
  • 是的,我就是从那里得到这些数字的。 04e8:6860(三星 Nexus)18d1:4e12(Nexus One)
  • 符号链接出现了吗?
  • 这可能很傻,但是你有没有在设备上打开usb调试?
  • @david - 我不完全确定符号链接应该出现在哪里。我在其他发布的 solution 上看到了这一点

标签: android adb


【解决方案1】:

事实证明,当我最初安装 android sdk 时,通过 eclipse 进行安装时出现问题,解决方案是通过 sudo 运行 eclipse。这确实允许安装所有内容,但我认为它可能是我的问题的原因,因为所有文件都属于 sudo 组。 我重新下载了 sdk,而不是通过 eclipse 安装版本,而是通过运行 android 终端命令来安装它们。安装后,运行 ddms 检测到我的设备。 ** 我还注意到我在规则文件中复数了 ATTR。 最后,下面是对我有用的方法(在创建 adbusers 组并添加我自己之后)。

# nexus one
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="adbusers"
# samsung nexus
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="adbusers"

【讨论】:

    【解决方案2】:

    为什么您的 GROUP 是“轮子”?试试把它改成plugdev

    【讨论】:

    • 我认为组名并不重要,重要的是我属于集合组,这就是我使用wheel的原因。我承认我将其设置为我所属的现有组而不是创建一个新组是我的懒惰:)
    【解决方案3】:

    一般答案是验证/更新 USB 驱动程序。

    我经常发现从设备本身自动安装的 USB 驱动程序要么 1)过时,要么 2)不适合“真正的”应用程序开发人员调试支持。 (即,更多为“消费者”访问设备作为存储介质而不是 adb 调试支持)

    Android 开发者页面有一个供应商链接列表,用于获取设备的 USB 驱动程序

    【讨论】:

      【解决方案4】:

      尝试:

      1. 卸载旧的 Kies
      2. 安装:SAMSUNG Kies,PC Sync(软件)(版本 2.3.3.12085_7_5) 来自http://www.samsung.com/us/support/downloads/global#global_download_list

      它对我有用:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-29
        • 1970-01-01
        相关资源
        最近更新 更多