使用"adb devices"命令找不到android设备

Xub*_*per 50 android device adb

我正在开发Android应用程序macOS,我的应用程序在模拟器上运行良好.我想在设备上运行它,但是当我跑步时adb devices我什么都没得到.

localhost:platform-tools BF$ adb devices 
List of devices attached 

localhost:platform-tools BF$
Run Code Online (Sandbox Code Playgroud)

我已经检查了有关"设置开发设备"的参考文档.我已经一步一步完成了所有事情.

在文档中,有一些词:设置系统以检测您的设备.如果你在Mac OS X上进行开发,它就可以了.跳过此步骤.

现在,我找不到任何解决方案.是否需要Android设备的特殊驱动程序?

jar*_*eve 58

我知道这个线程已经老了,但我认为这仍然有用.几乎所有的时间"它只适用于OS X",但有时候新的/原型或模糊的设备都没有被选中.尝试用这些步骤来帮助它(我现在不在我的Mac附近,但我昨晚做了这个,并且我想记得):

1 - 打开System Profiler并在USB上找到该设备.查看其详细信息以查找供应商ID.例如,摩托罗拉设备将显示0x2bb8.或者只是谷歌供您的供应商的硬件ID.

如果没有显示,请务必尝试不同的电缆.如果您有有效的电缆,Android文件传输适用于检测设备.

2 - 编辑〜/ .android/adb_usb.ini以包含该供应商ID.如果该文件不存在,请仅使用该行创建它.

3 - 重新启动ADB

adb kill-server 
adb start-server
Run Code Online (Sandbox Code Playgroud)

4 - 也许拔下/插入你的手机.

希望你看到你的设备.

  • 对对对!非常感谢你,jarvisteve.你是英雄.编辑〜/ .android/adb_usb.ini是要走的路! (5认同)
  • @Sean您可能错误地编辑了文件.我一开始遇到同样的问题,因为我在生成的注释和供应商ID之间留下了一个空行.然后通过删除文件中的每个空行来解决该问题.HTH (2认同)

lev*_*501 32

您是否有机会在连接到Mac时使用应用程序EasyTether?如果您碰巧使用此应用程序,那么您很幸运,因为解决方案是致电:

sudo kextunload -v /System/Library/Extensions/EasyTetherUSBEthernet.kext
Run Code Online (Sandbox Code Playgroud)

从一个终端.我忘记了你是否需要重启.

这将禁用网络共享,但您现在可以通过adb查看您的设备.

要在完成调试后重新进行网络共享,请使用

sudo kextload -v /System/Library/Extensions/EasyTetherUSBEthernet.kext
Run Code Online (Sandbox Code Playgroud)

当然,如果你不使用EasyTether,那么希望其他人有一个想法....

  • 我完全不知道为什么我再也看不到我的Android设备了,你完全救了我的一天!我不知道这是问题,万分感谢! (3认同)
  • EasyTether的常见问题解答http://www.mobile-stream.com/easytether/android_faq.html#adbmacosx. (3认同)
  • 不,我的Mac上没有这样的软件. (2认同)

小智 25

同样的问题在这里 osx 10.6.6和adb设备提供$ ./adb设备附加的设备列表...空....

重新启动手机没有任何帮助,虽然它在启动过程中仅与adb设备一起列出了一秒钟.

在adroidsettings->应用程序中打开了调试

什么最终使它打勾:关闭再打开调试模式.


And*_*rey 16

如果你正在使用Lollipop(Android 5.*)来解决这个问题,你可能应该做一个简单的步骤,在我的ADB(我使用Ubuntu)之前我已经完成了我的手机:

将USB PC连接类型更改为"发送图像(PTP)"(在我使用"媒体设备(MTP)"之前)

像这样:

截图

并且不要忘记激活"USB调试"复选框.


Sha*_*ald 15

我今天遇到这个问题,手机在连接时正在充电,但Mac没有看到.事实证明,我使用的微型USB电缆仅用于充电而没有做数据.一旦我更换了USB线,它就开始正常工作了.


小智 13

参考此链接!

这只是一个MAC!

以下是让您的手机对adb可见的所需操作:

  1. 开放式终端(应用/实用程序/终端)
  2. cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext/Contents
  3. sudo nano Info.plist (或vi,或emacs,或您喜欢的任何控制台编辑器)
  4. 复制IOUSBComposite部分(从<key></dict>)
  5. 将该部分粘贴在第66行(它出现的位置之后),这样您就可以在文件中找到2份副本
  6. bDeviceSubClass值从0 更改为2
  7. 将密钥名称从更改IOUSBCompositeGW620

最终结果应如下所示:

                    <key>GW620</key>
                    <dict>
                            <key>CFBundleIdentifier</key>
                            <string>com.apple.driver.AppleUSBComposite</string>
                            <key>IOClass</key>
                            <string>IOUSBCompositeDriver</string>
                            <key>IOProviderClass</key>
                            <string>IOUSBDevice</string>
                            <key>bDeviceClass</key>
                            <integer>0</integer>
                            <key>bDeviceSubClass</key>
                            <integer>2</integer>
                    </dict>
Run Code Online (Sandbox Code Playgroud)
  1. sudo diskutil repairpermissions / 让它完成
  2. sudo touch /System/Library/Extensions 并等待几分钟的扩展重建索引完成
  3. adb devices 现在应该看看你的手机了

请注意,这非常糟糕,并且每次OSX更新时都可能会中断,但它可以正常工作.每次我想在手机上工作时,我终于可以停止重启了!:d


Sri*_*ram 12

如果adb devices您已将设备插入系统但未列出设备,则需要确保在USB debugging选项Developer Options卡下选中该选项Settings.在Android 4.2.2及更高版本(根据我观察到的),Developer Options除非明确显示,否则隐藏.要Developer Options激活,请点按7次Settings > About device > Build number.完成后,返回Settings > Developer Options并激活USB Debugging.

使用adb version 1.0.31,我能够使设备可见.


atr*_*eat 8

我遇到了这个问题.事实证明我的修复是改变我连接的USB电缆.我换回使用手机附带的电缆,它工作正常.

使用三星Galaxy Player和三星micro USB.

是.这非常愚蠢.


Pao*_*lli 5

如果在Mac OS X上使用adb设备,则不显示任何设备,当然,您已在设备上启用USB调试(请参阅http://developer.android.com/tools/device.html),然后尝试:

$ android update adb
adb has been updated. You must restart adb with the following commands
    adb kill-server
    adb start-server
Run Code Online (Sandbox Code Playgroud)

然后:

$ adb kill-server
$ adb start-server
* daemon not running. starting it now on port ... *
* daemon started successfully *
Run Code Online (Sandbox Code Playgroud)

最后:

$ adb devices
List of devices attached 
......  device
Run Code Online (Sandbox Code Playgroud)

您的设备现在应该在列表中.