【发布时间】:2011-12-01 06:33:33
【问题描述】:
我正在 linux 机器上为 android 开发,我已经为 android 创建了一个 udev 规则,它可以工作。一段时间后,如果我拔下设备并重新插入,如果我运行lusb 或dmesg 以获取有关设备的信息,adb 将无法识别设备。我尝试重新加载udev 规则但它不起作用,我什至试图杀死adb 进程但它仍然不起作用。
有人可以帮忙吗? 无论如何,谢谢。
【问题讨论】:
我正在 linux 机器上为 android 开发,我已经为 android 创建了一个 udev 规则,它可以工作。一段时间后,如果我拔下设备并重新插入,如果我运行lusb 或dmesg 以获取有关设备的信息,adb 将无法识别设备。我尝试重新加载udev 规则但它不起作用,我什至试图杀死adb 进程但它仍然不起作用。
有人可以帮忙吗? 无论如何,谢谢。
【问题讨论】:
这似乎是 linux 上的一个真正问题,在某个时间点,ADB 将不再看到设备。我真正应该说的是亚行几乎从未见过。就我而言,我有一个三星 Galaxy Tab 10.1,它被赠送给了 Google I/O 2011 的与会者。我的 Ubuntu 10.10 开发系统在这个设备上运行得很好。 9 月 19 日附近的某个时候,亚行停止看到该设备!事实上,ADB 检测到该设备的时间很短。我和我认为法老遇到的问题需要澄清的不是执行时的权限问题
$adb 设备
返回 ????????????对于一个设备。该设备根本不会出现在列表中。一个更重要的事实是,在我的基于 Windows 的开发机器上从未检测到此设备。
在我看来,ADB 用来确定 USB 上的设备是否实际上是 adb_device 的机制很脆弱,我们的设备或我们的开发系统中的一些更改破坏了这种检测。
【讨论】:
由于某些原因,adb 有时会断开连接,所以在这种情况下,您必须 restart adb。
转到DDMS->Devices,您将在View Menu 中看到Reset adb 选项以及Screen Capture 选项。
【讨论】:
我通常会遇到这个问题,因为我在 Chrome 上安装了 adb 插件。如果我关闭 Chrome 并重新连接设备,它会与 adb 一起列出。希望这会有所帮助。
【讨论】:
我的 OnePlus 2 也出现了这个问题。
前一天还在工作。然后,我使用 Chrome DevTools 中的“设备检查器”对话框设置了端口转发。它应该保持打开状态才能正常工作,所以我在标签中永久保持打开状态。
第二天当我通过 USB 连接我的设备时,adb devices 没有列出任何内容。我在 devtools 中关闭了设备检查器对话框,突然 adb 再次识别出我的设备。在此之后我重新启用了端口转发,但仍然检测到我的设备。
tl;dr:如果 Chrome DevTools 中的端口转发对话框在您移除设备后仍保持打开状态,请关闭它。
【讨论】:
我以前也遇到过这种情况。我禁用,然后在手机上重新启用调试(设置 -> 应用程序 -> 开发 -> USB 调试,取消选中,然后重新检查)以再次被 adb 识别。
【讨论】:
尝试adb kill-server 停止 adb 并使用另一个命令“adb devices”重新启动它。它应该可以工作,并且应该再次检测到您的设备。 (对于那些可以编辑我的帖子的人:任何其他命令都会启动服务器,而不仅仅是 adb start-server,所以至少不要在没有发表评论的情况下进行编辑)
【讨论】:
可能很愚蠢,但我现在遇到了类似的问题,一个小时后我注意到问题是我的 USB 集线器,其中连接了这些设备,实际上并没有连接到 PC。
其实USB线是连接的,但是可能因为某种原因没有接触好,所以时不时会随机失效。
【讨论】:
同样的问题,使用 mac os。但是,Android 文件传输应用程序可以识别连接的设备。这一切都始于 S3 手机(已植根),我认为手机有问题,因为 Nexus 7(库存)按预期工作。在连接/重新连接 3 天后,它也不再被 adb 识别。尝试执行硬重置 - 没有帮助。
adb 列表 - 空列表
android 文件传输 - 完美运行
我很快就会用完设备
【讨论】:
在 ubuntu 上观察到同样的问题,我尝试了以下方法并且成功了:
参考:link
使用上述参考中的命令 udevadm 作为 ex:
"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 未检测到设备的问题。
【讨论】: