adb找不到我的设备/手机(MacOS X)

在Mac上进行Android开发,并且这个手机没有出现在adb的设备列表中。 其他许多电话和设备对我来说工作的很好,所以我知道我的设置是好的。

我在手机上启用了debugging(设置 – >应用程序 – >开发 – > USBdebugging),但是当我运行adb devices时,它不会显示

附加更新 :不要低估一个好的USB电缆的价值。 有时只需交换电缆将有所帮助。

更新 adb的更新版本, ~/.android/adb_usb.ini必须被删除。

执行摘要: 将供应商ID添加到~/.android/adb_usb.ini并重新启动adb

全部细节:大部分时间不需要做任何事情来让Mac识别手机/设备。 严重的是,99%的时间“它正常工作”。

也就是说,重新设置adb的最快方法是使用以下命令按顺序重新启动它:

  adb kill-server adb devices 

adb devices命令只是无法find你的设备。 也许如果你正在使用一些实验或原型或不寻常的设备,也许这只是未知的,并不会显示出来。

通过告诉设备的“供应商ID”,您可以帮助adbfind您的设备,从本质上说,它提供了一个提示。 这可以通过将hex的厂商ID放在~/.android/adb_usb.ini文件中来完成

但首先你必须find供应商ID值。 幸运的是,在Mac上这很容易。 启动系统信息应用程序。 它位于/Applications/Utilities/文件夹中,或者您可以通过屏幕左上angular的Apple菜单进入,select“关于本机”,然后单击“更多信息…”button。 屏幕抓取在这里:

系统信息,硬件USB树

展开“硬件”树,select“USB”,然后查找您的目标设备。 在上面的例子中,我的设备被命名为“SomeDevice”(我在Photoshop中这样做,以隐藏真实的设备制造商)。 另一个例子是三星平板电脑,它显示为“SAMSUNG_Android”(顺便说一句,我没有做任何特殊的事情,使三星平板电脑工作。)无论如何,请点击您的设备,完整的细节将显示在下面的窗格。 这是它列出供应商ID的地方。 在我的例子中,截图的值是0x9d17 – 在下一个命令中使用这个值

 echo 0x9d17 >> ~/.android/adb_usb.ini 

如果在这之前还没有adb_usb.ini文件,那么可以,大多数情况下只需要find你的设备就可以了,所以这个文件不存在是不寻常的。 如果上面的命令已经存在,上面的命令将创build它或追加到它的底部。 现在运行上面列出的命令重新启动adb,你应该很好去。

 adb kill-server ; adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 123ABC456DEF001 device 

如果您安装了应用程序EasyTether,则可能会干扰ADB。

从这个页面你可以执行命令:

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

这将卸载您的EasyTether扩展。

如果您需要重新启用EasyTether进行共享,我相信您可以使用:

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

这工作在我的三星Galaxy S2。 在我的情况下,每次重新启动时都需要执行kextunload命令。

如果您使用以下设备:
三星S3 GT-I9305(Android 4.1.2)
Mac OS 10.6.8

做以下事情:

 # echo "0x04e8" >> ~/.android/adb_usb.ini # adb kill-server # adb devices 

(如果您未使用Samsung设备,请将供应商ID“0x04e8”更改为供应商的正确值)

如果仍然不能正常工作,您可以尝试以下方法:

(1)在Samsung设备上,禁用“USBdebugging”并重新启用
(并再次尝试adb命令)

(2)断开USB电缆,然后重新连接

(3)卸载Samsung Kies

(4)安装Android文件传输

(5)重新启动您的Mac和三星设备

(6)使用硬件设备来testing你的Android应用程序

在连接设备之后,您突然拔下USB电缆,现在假设“adb设备”不能再看到您的设备,即使在“adb kill-server”之后,您也可以尝试以下操作:

(1)closures你的Mac
(2)在Samsung设备上禁用“USBdebugging”
(3)closures您的三星设备
(4)打开Mac电源
(5)打开三星设备的电源
(6)在Samsung设备上启用“USBdebugging”
(7)连接USB电缆
(8)运行“adb设备”
(9)你现在应该看到连接的设备

适用于OS X的Nexus 4和Nexus 5特定解决scheme

当我运行:adb设备时,没有在“附加设备列表”中列出的设备

固定:

  1. 从developer.android.com获取SDK(最新版本)
  2. 将开发者模式放在nexus 4上(关于手机>内部编号>点击7次进入开发模式)
  3. 新的菜单选项将出现在'Settings'{}开发人员选项
  4. 请确保您在{}开发人员选项下查看以下内容:
    • USBdebugging:连接USB时的debugging模式(接受RSA指纹popup)
    • 通过USBvalidation应用程序:检查通过ADB / ADT安装的应用程序是否有害行为

尝试从./adb设备列出您的设备,它应该工作。

回答采取: 任何想法为什么adb不能识别我的nexus 4在mac上

相信与否,交换USB电缆为我解决了这个问题。 我一直在使用一个随机的(这是不工作),只要我切换到一个实际的Android设备来,它的工作。

另一个迹象表明,良好的电缆工作,是Android的文件传输应用程序立即启动,这是蹩脚的电缆没有发生。

我有一个类似的问题。 我发现OSX不支持MTP。 我改变了PTP,我被提升为批准我的笔记本电脑,然后我的设备终于上市(LG G3)。

在这里输入图像描述

另外,请确保您没有使用指定用于充电的USB电缆。 这只是让我。 而且它实际上被标记为“仅用于充电”

这是另外一个尝试,如果像我一样,你已经尝试了所有其他的答案,并没有运气。

在我的情况下(Android 4.3),我进入了通知下的USB设置,并从MTP模式(媒体设备)更改为PTP(相机),一旦切换,设备出现在ADT设备列表中。

这只有在我启用开发人员在手机上进行USBdebugging之后才有效:

在你的android手机上,进入设置>关于,然后重复点击生成号码,直到开发者选项启用。

注意到谁可以得到这个build议的任何工作

尝试启动Console.app并在插入设备时查看错误。 我正在得到

 # The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying. 

它重新启动后仍然存在,所以我最终重置了我的PRAM,并重新启动了它。

如何执行PRAM RESET

  1. 完全closures你的机器。
  2. 简单地打电源button
  3. 按住Command + Option + P + R
  4. 等到第三次听到开机铃声
  5. 释放所有的钥匙,让机器继续完全启动

使用较新的adb版本,您必须删除~/.android/adb_usb.ini

在我的情况下,这是因为USB电缆。

我发现有两种types的USB电缆:

  • 那些只供电的
  • 那些供电并且可以传输数据

而且很难知道什么types是USB电缆。 现在我用数据传输在我的电缆上划一个小口。

另外请确保您检查供应商网站的“USB”驱动程序。 我的AT&T Galaxy Note(运行Android 2.3.6)遇到了这个问题,没有从三星网站获得的驱动程序安装就没有被adb识别出来。

为防万一以后有人帮忙,当我启用/禁用“显示布局界限”时,我不小心在我的设置中closures了“USBdebugging”。 因此,请先在“开发人员选项”中查看此设置。

我遇到了同样的问题,下面解决了这个问题。

  • 确保您的手机已启用USBdebugging。
  • 安装Android文件传输
  • 您将在手机上收到两个通知,允许连接的计算机访问,另一个允许访问设备上的媒体。 启用这两个。
  • 如果您在terminal中键入“adb设备”,您的手机现在将被识别。

如果你正在尝试检测三星Galaxy S3,然后在手机上去设置 – >开发人员选项 – >确保debuggingUSBdebugging

它的该死的奇怪,但只是插在位于雷电端口旁边的USB端口在我2014年年中与视网膜MBP工作!

另一个USB端口将无法识别该设备。

在LG G3上,我可以通过自制软件( 在MAC OS X上安装ADB)来安装ADB ,然后禁用/启用USBdebugging。

上面的提示都没有在我设置的Mac OS X Lion上为我工作。 我有运行2.3.6的摩托罗拉手机。 事实certificate,我需要安装摩托罗拉手机的驱动程序。 我在这里find他们

我有一个这个魔鬼的时间。

我尝试了这种方法,但没有奏效。 我结束了closuresUSBdebugging,然后设备要求安装motocast 。

它试图使用安装程序中的构build,但它保持崩溃超过下载。 手动下载并安装之后,我就可以做到了。

我正在运行10.6.8,该设备是运行3.2.2的Xoom 2

安装完成后,它工作正常。

如果像我一样,以上都没有为你工作,我想出了一个非常愚蠢的解决scheme。

我在2011年的Macbook Pro上使用了HTC One X。 我只是在设置>无线和networking>更多> NFC和中提琴禁用NFC! 正常工作。

尝试重新启动(如果它曾经被发现之前,并停止出现) – 所有解决scheme的母亲!

我已经看到了这个问题,并尝试每一个解决scheme在stackoverflow和其他网站,但没有任何帮助我。

我已经重新启动adb,打开开发人员模式和激活USBdebugging,卸载三星凯斯甚至交换USB电缆到不同的端口。

但后来我读了不同的USB电缆使用不同的引脚连接到笔记本电脑或电脑的地方。
所以我用不同的USB电缆连接我的三星手机mac ..和vowwww它的作品…对我来说……

尝试以上所有,最后一个缺失的是在我的4.4 Galaxy Note 10.1中隐藏的开发者选项中启用USBdebugging。

从这个链接看项目5.2。

在我的情况下,我的设备上没有启用USBdebugging,但是将设备连接到我的MacBook没有导致在屏幕上popup熟悉的“允许USBdebugging”对话框。

我试图连接一个旧手机,我用它来testing旧API版本的应用程序。 今天adb没有find它。

在尝试了几乎所有的东西之后,我发现手机甚至没有显示有关USB连接的系统通知。

所以我四处寻找这个问题,并在这里find了解决scheme(信贷来源):

  1. 从电脑中取出手机并取出电池以closures手机。
  2. 将USB电缆插入PC。
  3. 将USB电缆(另一端)插入手机。
  4. PC安装新的硬件适当的驱动程序几分钟(电话没有电池)
  5. 从电话拔下USB电缆
  6. 把电池放回去,打开手机
  7. 在手机启动时,按住音量上下。 手机启动到安全模式。
  8. 将USB电缆插入手机。
  9. 我在手机上看到有关USB MTP连接的通知。 PC已经find我的手机了!
  10. 在正常模式下重启后问题得到解决

不确定第4步在MacOS上有什么用处,但我做了所有的步骤,它运行良好。

我切换到不同的USB端口,并将其显示在adb设备列表中。

这是我在这里提出的所有解决scheme的唯一工作。 它是由@ user908643在这个评论中提出的。

现代Android的另一个棘手的事情是您通过select设备的“使用”来设置设备行为。

如果将其设置为“用于”充电,则例如该设备将不会被亚行检测到。 切换到PTP / MTP其他更“活跃”的行为将自动使您的设备可以检测到。