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

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


当前回答

上面的答案对我都没用。在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手机。

其他回答

为了以防将来它能帮助别人,我在启用/禁用“显示布局边界”时不小心关闭了设置中的“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在这条评论中提出的。

重要更新:正如@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