【问题标题】:ADB suddenly doesn't detect my device anymoreADB 突然不再检测到我的设备
【发布时间】:2012-05-14 11:02:00
【问题描述】:

[更新 1] 在以下尝试使这个东西工作的过程中,我重新启动了几次。但是今天早上我打开我的电脑,现在设备已经列出来了……但是我会保留我的问题几天,看看这个奇怪的行为是否会再次出现。[/update 1]

adb 在 Arch Linux(32 位)下突然停止报告我的手机,这是通常的情况。我以 sudo 和普通用户的身份尝试了以下所有命令,但同样没有结果。

[antoine@amadeus /home/antoine/]$ sudo gvim /etc/udev/rules.d/51-android.rules  

我在其中写道:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ccf", MODE="0666", OWNER="antoine"

然后我做了:

[antoine@amadeus /home/antoine/]$ sudo udevadm control --reload-rules

设备在那里:

[antoine@amadeus /home/antoine/]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 012: ID 0bb4:0ccf High Tech Computer Corp. 
Bus 006 Device 002: ID 046d:0a15 Logitech, Inc. 
Bus 006 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 006 Device 004: ID 046d:c52f Logitech, Inc. Wireless Mouse M305

所以我杀了adb server

[antoine@amadeus /home/antoine/]$ sudo adb kill-server
[antoine@amadeus /home/antoine/]$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

但它没有工作:

[antoine@amadeus /home/antoine/]$ sudo adb devices
List of devices attached 

[antoine@amadeus /home/antoine/]$ 

然后我尝试更新 adb

[antoine@amadeus /home/antoine/]$ sudo android update adb
adb has been updated. You must restart adb with the following commands
    adb kill-server
    adb start-server

然后修改adb_usb.ini文件(root和~):

[antoine@amadeus /home/antoine/]$ sudo gvim /root/.android/adb_usb.ini 

我写道:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x0bb4

然后:

[antoine@amadeus /home/antoine/]$ sudo adb kill-server
[antoine@amadeus /home/antoine/]$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[antoine@amadeus /home/antoine/]$ sudo adb devices
List of devices attached 

[antoine@amadeus /home/antoine/]$

这整个事情昨天和前一天都工作得很好,依此类推。从那以后我没有更新我的系统或任何东西。我很困惑。

【问题讨论】:

  • 在我的电缆连接器停止工作后,我最终使用了 ADB WIFI。唯一的缺点是计算机和设备都需要连接到同一个网络,除了它工作得很好。也许,这对你有帮助,这就是为什么它不是一个答案而只是一个评论。我相信你需要为此扎根(很有可能),该应用程序是免费的并且没有我知道的广告,这是一个链接play.google.com/store/apps/…
  • 在 adb kill-server 之前尝试 sudo restart udev。
  • 检查这有帮助吗? stackoverflow.com/q/8668923/1012284
  • 供参考:我注意到有时拔掉/插入、刷新驱动程序、修改清单以限制、切换调试模式等不起作用,但刷新可用设备可以解决它。
  • 我遇到了同样的问题,adb 突然停止工作,我意识到这是因为我有一个正在运行的 VM 正在窃取 USB 设备。关闭虚拟机,adb 又开始工作了!

标签: android linux adb


【解决方案1】:

好的,我在三星 Galaxy Mini 上遇到了同样的问题,我的设置是运行 oneiric 的 Ubuntu 机器。

在它停止工作之前我没有碰过笔记本电脑,所以我很确定笔记本电脑上的配置是正确的。我所做的唯一一件事(在这开始发生之前)是在设备上安装来自 Google Play 的 2 个应用程序。一个 Messenger 客户端和其他一些应用程序,我真的不记得它的名称或用途。

出于某种我还没有弄清楚的原因,我的笔记本电脑无法检测到 Galaxy mini 以进行调试。我尝试了这里描述的所有技巧(对 udev confs 进行了几次更改,检查 adb confs,以不同的顺序杀死/停止/重新启动所有内容),只有一件事让设备再次被检测到,它是:

正在重置手机。

不优雅,但它是唯一让我的 Galaxy mini 再次被 ADB 检测到的东西。 希望这会有所帮助。

【讨论】:

  • 谢谢,但这没有帮助。
【解决方案2】:

请确保您在手机上已检查:

设置->开发者选项->USB调试

【讨论】:

    【解决方案3】:

    在 ubuntu 上观察到同样的问题,我尝试了以下方法并且成功了:

    参考:http://ubuntuforums.org/showthread.php?t=1918512

    例如使用上述参考中的命令udevadm

    "sudo udevadm test --action="SUBSYSTEM=="usb", 
    ENV{ID_VENDOR_ID}=="[vendor_id]", ENV{ID_MODEL_ID}=="[model_id]" MODE="0666", 
    SYMLINK+="[Device_Name]"" $(udevadm info -q path -n /dev/bus/usb/001/[DevNum])"
    

    这似乎修复了一些链接文件,并解决了一段时间后 adb 未检测到设备的问题。

    【讨论】:

      【解决方案4】:

      使用“Cyanogenmod 10.2 (Android 4.3)”之类的 ROM 时,您需要执行以下操作...

      1. 进入设置...
      2. 找到“关于手机”,然后点击。
      3. 向下滚动到“内部版本号”,然后连续点击 10 次,直到显示“开发设置已启用”。
      4. 返回到“设置”屏幕并进入“开发者选项”。
      5. 确保选中“USB 调试”。
      6. 在PC上打开“任务管理器”并杀死“adb.exe”
      7. 重启手机。
      8. 手机完全启动到操作系统后,运行“adb devices”。

      另一个技巧...

      1. 在操作系统的主屏幕上,按住音量减小按钮并按下电源按钮。
      2. 执行此操作,直到您看到屏幕变黑并且底部的灯闪烁。
      3. 松开所有按钮并再次尝试“adb devices”命令。
      4. 现在应该可以运行您的 adb 命令了。 (如“adb reboot bootloader”)

      【讨论】:

        【解决方案5】:

        我在使用 LG Q6 设备和 Windows 主机时遇到了同样的问题。这是由于将手机的 USB 模式从“充电”切换到“文件传输”造成的。恢复此更改解决了问题 - ADB 再次列出了此设备。

        【讨论】:

          【解决方案6】:

          安托万,

          我遇到了和你说的一样的问题---adb驱动安装正确,usb调试选项打开,手机的adb接口在设备管理器中列出(我的android手机的存储也可以在我的windows中显示) Explorer),但是,我键入“adb devices”,没有列出任何设备。突然遇到你说的这个问题,昨天早上我可以用USB连接,但是昨天下午adb检测不到我的设备……很奇怪,我试着把我的手机连接到另一台电脑上看看有没有我的手机有问题,失败了,我尝试将其他手机连接到我的电脑,成功,我猜是我的手机有问题,然后我重置手机并尝试重新连接到电脑,再次失败。

          然后,我尝试在 adb_usb.ini 中添加供应商 ID,我的操作系统是 Windows 7,它的位置是 %userprofile%.android\adb_usb.ini,我的设备的供应商 ID 未列在 Google 的供应商 ID 列表中。

          并在 cmd 中尝试以下命令

          adb 终止服务器 adb 启动服务器 亚行设备

          它检测到设备但状态为离线,拔下并重新插入 USB 电缆并输入 adb devices 一切正常

          不知道为什么 adb 突然检测不到设备,也许有人可以解释一下?

          【讨论】:

          • 请注意这个问题被标记为 Linux。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多