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。 屏幕抓取在这里:
展开“硬件”树,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设备时,没有在“附加设备列表”中列出的设备
固定:
- 从developer.android.com获取SDK(最新版本)
- 将开发者模式放在nexus 4上(关于手机>内部编号>点击7次进入开发模式)
- 新的菜单选项将出现在
'Settings'
: {}开发人员选项 - 请确保您在{}开发人员选项下查看以下内容:
- 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
- 完全closures你的机器。
- 简单地打电源button
- 按住Command + Option + P + R
- 等到第三次听到开机铃声
- 释放所有的钥匙,让机器继续完全启动
使用较新的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(信贷来源):
- 从电脑中取出手机并取出电池以closures手机。
- 将USB电缆插入PC。
- 将USB电缆(另一端)插入手机。
- PC安装新的硬件适当的驱动程序几分钟(电话没有电池)
- 从电话拔下USB电缆
- 把电池放回去,打开手机
- 在手机启动时,按住音量上下。 手机启动到安全模式。
- 将USB电缆插入手机。
- 我在手机上看到有关USB MTP连接的通知。 PC已经find我的手机了!
- 在正常模式下重启后问题得到解决
不确定第4步在MacOS上有什么用处,但我做了所有的步骤,它运行良好。
我切换到不同的USB端口,并将其显示在adb设备列表中。
这是我在这里提出的所有解决scheme的唯一工作。 它是由@ user908643在这个评论中提出的。
现代Android的另一个棘手的事情是您通过select设备的“使用”来设置设备行为。
如果将其设置为“用于”充电,则例如该设备将不会被亚行检测到。 切换到PTP / MTP其他更“活跃”的行为将自动使您的设备可以检测到。