在Mac上进行Android开发时,我的这部新手机并没有出现在adb的设备列表中。很多其他的手机和设备对我来说都很好,所以我知道我的设置是好的。

我在手机上启用了调试(设置—>应用程序—>开发—> USB调试),但当我运行adb设备时,它不显示


重要更新:正如@equiman指出的,有一些USB电缆只用于充电,不传输数据。有时交换电缆也会有帮助。

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

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

详情: 大多数情况下,不需要做任何事情就可以让Mac识别手机/设备。说真的,99%的情况下“它就是管用”。

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

  adb kill-server
  adb devices

但是adb devices命令时常找不到您的设备。也许如果你正在使用一些实验性的或原型的或不寻常的设备,也许它只是未知的,不会出现。

您可以通过告诉adb您的设备的“Vendor ID”来帮助adb找到您的设备,这实际上是为它提供了一个提示。这可以通过将十六进制供应商ID放在文件~/.android/adb_usb.ini中来实现

但是首先您必须找到Vendor ID值。幸运的是,在Mac上这很简单。启动系统信息应用程序。它位于/Applications/Utilities/文件夹中,或者你可以通过屏幕左上角的苹果菜单找到它,选择“关于这台Mac”,然后点击“更多信息…”按钮。截图如下:

Expand the "Hardware" tree, select "USB", then look for your target device. In the above example, my device is named "SomeDevice" (I did that in photoshop to hide the real device manufacturer). Another example would be a Samsung tablet which shows up as "SAMSUNG_Android" (btw, I didn't have to do anything special to make the Samsung tablet work.) Anyway, click your device and the full details will display in the pane below. This is where it lists the Vendor ID. In my example from the screenshot the value is 0x9d17 -- use this value in the next command

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

在此之前,如果你还没有adb_usb.ini文件,这也没关系,大多数情况下,它只是不需要找到你的设备,所以该文件不存在是很正常的。上面的命令将创建它,如果它已经存在,则将它附加到它的底部。现在运行上面列出的命令重新启动adb,您应该可以开始了。

adb kill-server ; adb devices

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

此外,确保你在供应商的网站上查看他们的“USB”驱动程序。我的AT&T Galaxy Note(运行Android 2.3.6)遇到了这个问题,如果没有从三星网站上获得的驱动程序安装,adb无法识别。


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

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

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

这将卸载您的EasyTether扩展。

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

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

这在我的三星Galaxy S2上很有效。在我的例子中,每次重新启动时都必须执行kextunload命令。


我花了很长一段时间。

我尝试过这种方法,但没有成功。我最终关闭了USB调试,然后设备要求安装motocast。

它试图使用内置安装程序,但它一直崩溃超过下载。在我手动下载并安装它之后,我就可以做到这一点了。

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

安装之后,它工作得很好。


在我的Mac OS X Lion设置中,上面的建议对我都不起作用。我的摩托罗拉手机运行2.3.6。原来我需要为摩托罗拉手机安装驱动程序。我在这里找到的。


对于更新的adb版本,你必须删除~/.android/adb_usb.ini


如果你试图检测三星galaxy s3,那么在手机上去设置->开发人员选项->确保usb调试是选中的


信不信由你,换USB线帮我解决了这个问题。我一直在用一个随机的Android设备(它不起作用),但当我换到一个真正的Android设备上时,它就起作用了。

另一个好的电缆起作用的迹象是,Android文件传输应用程序立即上线,而蹩脚的电缆却没有做到这一点。


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

做以下:

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

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

如果还是不行,你可以试试下面的方法:

(1)在您的三星设备上,关闭“USB调试”并重新启用 (并再次尝试adb命令)

(2)断开USB线,重新连接

(3)卸载Samsung Kies

(4)安装Android File Transfer

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

(6)使用硬件设备测试Android应用

在连接设备后,突然拔掉USB线,假设现在“adb设备”再也看不到你的设备了, 即使在“adb kill-server”之后,在这种情况下,你可能想尝试以下方法:

(1)关闭你的Mac (2)在你的三星设备上禁用“USB调试” (3)关闭三星设备 (4)打开你的Mac (5)打开三星设备 (6)在三星设备上启用“USB调试” (7)连接USB线 (8)运行“adb devices” 你现在应该能看到附上的设备了


此外,请确保您使用的USB电缆不是仅用于充电。这真是难倒我了。而且它的标签上写着"仅供收费"


注意到那些不能得到任何这个建议工作的人

尝试启动控制台。应用程序和观察错误,当你插入你的设备。我正在

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

重启后它仍然存在,所以我最终重置了我的PRAM,这让它再次工作。

如何进行婴儿车复位

完全关闭你的机器。 简单地按一下电源键 按住Command + Option + P + R 等待,直到你听到第三次开机铃声 松开所有按键,让机器继续完全启动


万一你像我一样,上面这些方法都不管用,我想出了一个非常愚蠢的解决办法。

我在2011年的Macbook Pro电脑上使用的是HTC One X。我刚刚在设置中禁用了近场通信>无线和网络>更多>近场通信和中提琴!工作正常。


针对OS X的Nexus 4和Nexus 5的解决方案

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

Fix:

从developer.android.com获取SDK(最新版本) 在nexus 4上设置开发模式(关于手机> Build Number >点击7次进入开发模式) 一个新的菜单选项将出现在“设置”:{}开发人员选项 确保你在{}开发者选项下检查了以下内容: USB调试:USB连接时的调试模式(接受RSA指纹弹出) 通过USB验证应用程序:检查通过ADB/ADT安装的应用程序是否存在有害行为

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

答案摘自:你知道为什么adb在mac上不识别我的nexus 4吗


如果你像我一样尝试了所有其他的答案,但都没有运气,那么还有一件事可以尝试。

以我为例(Android 4.3),我在通知下进入USB设置,从MTP模式(媒体设备)切换到PTP模式(相机),一旦切换,设备就出现在ADT设备列表中。


尝试了以上所有方法,最后一个不足之处是在我的4.4 Galaxy Note 10.1中隐藏的开发人员选项中启用USB调试。

参见本链接中的第5.2项。


这该死的奇怪,但只要把USB端口插入我2014年年中的MBP上的Thunderbolt端口旁边的Retina就可以了!

另一个USB端口根本无法识别设备。


这只适用于我在手机上启用开发人员usb调试后:

在你的android手机上,进入“设置”>“关于”,然后反复点击“构建号”,直到启用“开发人员选项”。


为了以防将来它能帮助别人,我在启用/禁用“显示布局边界”时不小心关闭了设置中的“USB调试”。所以,首先在“开发人员选项”中检查这个设置。


在LG G3上,我能够通过homebrew安装ADB(在MAC OS X上安装ADB),然后禁用/启用USB调试来让它工作。


尝试重新启动(如果之前检测到并停止显示)-所有解决方案的母亲!


我已经看到这个问题,并尝试了stackoverflow和其他网站上的每一个解决方案,但没有帮助我。我重启了adb,打开了developer模式,激活了usb调试,卸载了samsung kies,甚至把usb线换到了不同的端口。 但后来我在某处读到,不同的usb线连接笔记本电脑或电脑时使用不同的引脚。 所以我用不同的usb线连接我的三星手机到mac ..我发誓,这是有效的…对我来说……


我也遇到了同样的问题,接下来就解决了。

确保你的手机开启了USB调试。 安装Android文件传输 您将在手机上收到两个通知,允许连接的计算机访问,另一个通知允许访问设备上的媒体。使两种。 现在,如果您在终端中输入“adb devices”,您的手机将被识别。


我也遇到过类似的问题。我发现OSX不支持MTP。 我把它改成了PTP,我被提拔审批我的笔记本电脑,然后我的设备终于上市了(LG G3)。


对我来说,是因为USB线。

我发现有两种类型的USB线:

那些只提供电力的 能够供电和传输数据的

而且很难知道USB线是什么类型。现在我用数据传输在电缆上做了一个缺口。


以我为例,我的设备上没有启用USB调试,但将设备连接到macbook上时,屏幕上并没有弹出熟悉的“允许USB调试”对话框。


我试图连接一台旧手机,我用它来测试旧API版本上的应用程序。今天,亚行没有发现这一点。

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

所以我四处寻找这个问题,并在这里找到了解决方案(出处出处):

Remove phone from PC and remove battery to shut off phone. Plug USB cable into PC. Plug USB cable (other end) into phone. The PC install new hardware appropriate drivers for a few minutes (phone without battery) Unplug USB cable from phone Put battery back in and turn on phone As the phone boots, hold down Volume up and down. Phone boots into safe mode. Plug USB cable into phone. I saw notification about USB MTP-connecting on the phone. PC have found my phone! After the reboot in normal mode problem was fixed

不确定第四步。在macOS上没有任何用处,但是我做了所有的步骤,它工作得很好。


我切换到不同的USB端口,这使它显示在adb设备列表中。

在这里提出的所有解决方案中,这是唯一对我有效的方法。它是由@user908643在这条评论中提出的。


现代Android的另一个棘手之处在于,你可以通过选择设备的“用途”来设置设备行为。

例如,如果它被设置为“用于”充电,设备将不会被ADB检测到。切换到PTP/MTP其他更“活跃”的行为会自动让你的设备被发现。


简单地更换电缆和授权Mac对我有用!


除了红米Note 4中的USB调试外,我还必须启用USB调试(安全设置)开发人员选项。


对我来说,这是有效的,我有一个华为设备,我必须从AppStore安装HiSuite,按照它的说明启用HDB,然后在我的手机上将USB模式改为PTP,我开始看到一些关于授权设备的弹出窗口,之后adb设备检测到该设备。


这只是一个额外的帮助:设备需要直接连接到计算机,将其连接到USB集线器可能会阻止设备提示显示。


上面的答案对我都没用。在macOS Mojave上,打开控制台应用程序,你可能会看到这样的错误:

001076.240057 adb@(null): IOUSBUserClientLegacy::start: missing entitlement com.apple.appledfr.client

即使重置mac PFRAM也无济于事。要解决此问题:

通过USB线连接Android设备(双USB- c线适合我)。 进入设置-> ..—>开发人员选项,单击“撤销USB调试授权” Android手机将重启。 进入设置-> ..->开发人员选项,并确保USB调试是启用的。 现在在macOS终端输入: 亚洲开发银行设备 你可以看到你的设备列出来了。

它适用于我的谷歌Pixel 2手机。


当我将Android 10设备插入Mac OS时,手机上出现了一个弹出框,上面写着:

Mac操作系统无法访问此设备上的数据,您必须下载文件传输或智能开关。

下载文件传输https://www.android.com/filetransfer/为android 我猜三星可以下载智能开关https://www.samsung.com/us/smart-switch/

虽然不知道为什么这里有两个选择!

我下载了文件传输,即使是三星Note,它也能很好地工作。

注意:我忘了说,首先你必须启用开发人员模式,然后USB调试。


只针对所有iPhone用户。你不能使用实体iPhone,你需要运行Android模拟器。

以防你在iPhone上使用Android Studio。


在启用开发人员模式后重新启动我的一加5T。


我遇到了同样的问题,花了大半天的时间寻找解决办法。但一切都是徒劳的。在第一个回答中,提到了USB线的问题,这没有引起人们的注意。所以如果有人遇到同样的问题,我建议,首先

尝试一些其他的USB电缆,因为一些电缆只用于充电而不是传输数据

如果它不能给你带来好运,那么你可以尝试其他答案。