OS X 10.6.6和"adb devices"无法列出安卓设备

40

adb devices去年还能正常使用,但在升级和安装新软件后,adb devices无法识别连接的Android设备。

我尝试过以下方法:

adb kill-server
adb devices

adb usb
  error: Device not found

4
请确保您在“设置”->“应用程序”->“开发”中启用了USB调试功能。另外,您要连接的是什么类型的设备?我看到一些设备(特别是摩托罗拉设备)无法被“找到”。您需要尝试使用“调试模式”选项。 - Ryan Conrad
是的,我已经在我的安卓手机上打开了调试模式。我也正在运行最新版本的安卓系统(2.3)。我想知道... - RSStepheni
我报告的问题是在Android手机的USB调试模式下发生。我怀疑在/System/Library/Extensions中可能有一些其他的kexts与Android USB驱动程序冲突。 - RSStepheni
我也遇到了这个问题。目前还没有找到解决方案。 - awolf
你能解决这个问题吗?我也遇到了完全相同的问题,已经花了几个小时在网上搜索,但没有结果。非常感谢任何帮助。 - Roy Sharon
在升级到最新的SDK时,对于Mac OS X v10.7.3版本来说需要加1。我可以共享设备存储空间,这样Mac上的USB就可以使用了(只有adb devices为空)。 - xpepermint
21个回答

78

如果你在OS X上安装了EasyTether,EasyTetherUSBEthernet.kext可能会防止adb与你的移动设备进行通信。

如果你使用Easy Tether,在插入手机之前运行以下命令:

sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext

(或在重新启动后将您的手机拔出/插入)

如果您完成了调试并想要再次使用EasyTether,请重新启动或执行以下操作:

sudo kextload /System/Library/Extensions/EasyTetherUSBEthernet.kext
如果你想永远移除EasyTether kext以免再次麻烦你:
sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext
sudo rm -rf /System/Library/Extensions/EasyTetherUSBEthernet.kext
Reference/Credit: http://www.intohand.com/post.php?s=2011-02-17-android-debug-bridge-not-just-working-on-mac

我以为我疯了,调了三个小时,这个解决了我的问题,谢谢! - RyanG
如果可以给你+100分的话,我一定会这么做。我已经为此烦恼了两天...网络上对这个解决方案的信息非常缺乏...非常令人沮丧。我应该开一个博客,这样我就可以为其他人发布这个问题,因为它让我发疯了。顺便说一句 - 我现在记得,一年多以前我遇到了完全相反的问题 - 突然间我无法使用PdaNet,最后有人建议我可能同时运行了Eclipse - 以及adb...我确实是这样做的,退出Eclipse后问题得到了解决。 我真的应该记住这件事!!噢! - Bennett Von Bennett
哦 - 我应该补充说明,如果您安装了PdaNet,显然您也必须执行相同的操作。在我的情况下,修改后的终端命令没有杀死进程,我不得不在“活动监视器”中进行操作。在我删除了两个.kext文件(PdaNet和Easytether)之后,现在一切都恢复正常了,我不必再去购买一个上网本来测试我的应用程序了!! - Bennett Von Bennett
我已经寻找这个解决方案将近两周了。我无法感谢你的足够多。 - Stofke
刚刚确认在OS X 10.8.3上仍然存在这个问题。谢天谢地,这个答案在Google上排名很高。 - talon55

5

我刚刚将一部全新的Motorola Atrix 2手机连接到我的Mac电脑上(电脑运行10.6.8系统),为了让它在adb设备列表中显示出来,我需要从屏幕顶部下拉菜单,点击“USB连接”并将其从“Motorola Phone Portal”改为“仅充电”模式。希望这可以帮助你!


这解决了我的问题!我必须将我的设置从“Motorola Phone Portal”更改为“无”。谢谢。 - clintsmith

3
在提交谷歌错误报告后,我将USB模式设置为仅充电,然后它立即检测到了手机。相当傻瓜化。

3
如果以上方法对您没有用,就像对我一样,尝试使用不同的数据线。我使用的是朋友的数据线,但它只能通过USB进行充电,不能传输数据。我不知道如何区分支持或不支持通过USB传输数据的Micro USB数据线,但值得一试!祝好运!

1
这在我的情况下是解决方案。非常感谢您提出这个问题! - Erin Geyer

3
另一种选择:在现代的苹果iMac上,靠近机器外缘的USB端口无法使用ADB,而其他所有端口都可以正常使用。我曾经在两台不同的iMac上看到过这种情况,可能是因为这些端口是USB 1.0(或类似愚蠢的东西),或者它是普遍制造缺陷。
插入USB电缆(新的、旧的、高质量的或廉价的)到所有其他USB端口都可以正常工作,但插入到那个端口会导致ADB失败。
注意:插入该端口可以进行文件传输等操作-只有ADB会出问题。

我在我的2012年13英寸Mac Book Retina上有两个USB端口。两个都能工作,但是安卓只能连接其中一个! - user363349
绝对正确,这在我的最新iMac OS X Mavericks上为我工作。它没有检测到我靠近边缘的第一个端口上的选项卡,但当我使用靠近电源插座的第一个端口时自动检测到了。 - Akash Gupta

2

我也遇到了这个问题。然而,这不仅是ADB的问题,它是Mac OSX 10.6.6 Snow Leopard上Android设备普遍存在的问题。曾经在10.6.4中工作的设备甚至都无法将设备挂载为USB驱动器。正在谷歌搜索以寻找答案。


2
将 USB 连接类型更改为“仅充电”。这是我所做的唯一更改,它出现在我的设备列表中。有点奇怪 ;)

1

我遇到了同样的问题,尝试仅作为充电连接,但这并没有解决问题,然后取消选中“未知来源”选项以允许安装非市场应用程序,再次尝试,它识别了设备。我正在运行Android 2.2.3。


我也遇到了三星Galaxy Tab未在我的设备列表中出现的问题。谢谢!我本以为这个选项是必须的开发。 - Josh Metcalfe

1

我看到了另一个关于这个bug的报告。但我自己还没有能够复现它。

这个bug是: MacOS X 10.6.6 [在某些硬件上] 破坏了 [某些手机的] adb。

如果有人能够复现这个bug,请随时添加确切的硬件、构建编号等详细信息。我已经要求能够复现这个bug的人使用http://code.google.com/p/android/issues/entry中的表单向Google报告。

当他这样做时,我将在此处添加bug报告的URL,人们可以向bug报告中添加他们的硬件/软件详细信息。

同时,为了安全起见,我建议苹果用户不要接受雪豹升级到10.6.6,该升级于2011年1月6日推出(因此对大多数人来说可能已经太晚了)。

Peter


0

对于一些运行 Android 4.4.2 的设备,您必须启用网络共享功能。您可以在“网络共享和移动热点”中进行设置,然后勾选“USB 网络共享”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接