一段时间后,Adb停止检测我的手机

时间:2011-10-05 07:45:57

标签: android linux adb udev

我正在为linux机器上的android开发我已经为android创建了一个udev规则并且它可以工作。如果我拔掉设备并重新插入设备,如果我运行adblusb以获取有关设备的信息,则dmesg无法识别设备。我尝试重新加载udev规则并且它不起作用,我甚至试图杀死adb进程,但它仍然不起作用。

有人可以帮忙吗? 无论如何,谢谢。

9 个答案:

答案 0 :(得分:9)

这似乎是Linux上的一个真正问题,在某些时候,ADB将不再看到设备。亚洲开发银行几乎从未见过我应该说的话。在我的情况下,我有一个三星Galaxy Tab 10.1给了Google I / O 2011的参与者。我的Ubuntu 10.10开发系统在这个设备上运行得很好。在9月19日附近的某个时候,亚洲开发银行不再看到该设备实际上,当ADB检测到设备时,已经出现了breif时刻。需要明确我和法老所认为的问题不是执行中的权限问题

$ adb devices

返回??????????对于一个设备。该设备根本不会显示在列表中。另一个重要的事实是,在我的基于Windows的开发机器上没有检测到此设备。

在我看来,ADB用来确定USB上的设备是否实际上是adb_device的机制是脆弱的,我们的设备或开发系统的某些变化已经破坏了这种检测。

答案 1 :(得分:4)

由于某些原因,有时adb会断开连接,因此在这种情况下,您必须restart adb。

转到DDMS->DevicesReset adb选项外,您会在View Menu中看到Screen Capture选项。

enter image description here

答案 2 :(得分:3)

由于我在Chrome上安装了adb插件,因此通常会出现此问题。如果我关闭Chrome并重新连接设备,它会显示为adb。希望这会有所帮助。

答案 3 :(得分:3)

我的OnePlus 2也遇到了这个问题。

它在前一天工作。然后我使用'设备检查器设置了端口转发功能。 Chrome DevTools中的对话框。它应该保持开放状态才能正常工作,所以我永久地将它打开。

第二天,当我通过USB连接设备时,adb devices没有列出任何内容。我在我的devtools中关闭了设备检查器对话框,突然adb再次识别了我的设备。在此之后我重新启用了端口转发,但我的设备仍然被检测到。

tl; dr:关闭Chrome DevTools中的端口转发对话框,如果它在您移除设备后仍保持打开状态。

答案 4 :(得分:2)

之前我曾经发生过这种情况。我禁用,然后在手机上重新启用调试(设置 - >应用程序 - >开发 - > USB调试,取消选中,然后重新检查)以再次通过adb识别它。

答案 5 :(得分:1)

尝试adb kill-server停止adb并使用其他命令'adb devices'重新启动它。它应该工作,它应该再次检测您的设备。 (对于那些可以编辑我的帖子的人:任何其他命令都会启动服务器而不仅仅是adb start-server,所以不要编辑而不至少留下评论)

答案 6 :(得分:1)

在ubuntu上观察到同样的问题,我尝试了以下内容并且有效:

参考:link

使用上述参考中的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没有检测到设备的问题。

答案 7 :(得分:0)

可能是愚蠢的,但我现在遇到了类似的问题,一小时后我注意到问题是我的USB集线器,其中连接了这些设备,实际上没有连接到PC。

事实上,USB线WAS连接,但由于某些原因它们可能没有进行良好的接触,因此它不时随机失败。

答案 8 :(得分:0)

这里使用mac os也是同样的问题。但是,Android文件传输应用程序可以识别连接的设备。这一切都始于S3手机(扎根),我认为手机有问题,因为Nexus 7(股票)按预期工作。连接/重新连接3天后,它也被adb识别。试图执行硬重置 - 没有帮助。

adb list - 空列表

android文件传输 - 完美运行

我很快就会耗尽设备