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

时间:2011-05-17 06:13:34

标签: android adb device

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

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

localhost:platform-tools BF$

我已经检查了有关“设置开发设备”的参考资料。我已经一步一步地完成了所有事情。

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

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

16 个答案:

答案 0 :(得分: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

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

希望你看到你的设备。

答案 1 :(得分:32)

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

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

来自终端。如果你不得不重新启动,我会忘记。

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

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

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

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

答案 2 :(得分:25)

这里的问题相同。 osx 10.6.6和adb设备给出 $ ./adb设备 附加设备列表 ...空....

重新启动手机没有帮助;虽然它在启动过程中只用了一秒钟的adb设备。

在adroidsettings->应用程序

中打开了调试功能

最终让它打勾:关闭再打开调试模式。

答案 3 :(得分:16)

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

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

就像这样:

Screenshot

不要忘记激活“USB调试”复选框。

答案 4 :(得分:15)

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

答案 5 :(得分:13)

Referenced from this link!

这仅适用于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. 将密钥名称从IOUSBComposite更改为GW620

  8. 最终结果应如下所示:

                        <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>
    

    1. sudo diskutil repairpermissions /让它完成
    2. sudo touch /System/Library/Extensions并等待几分钟以完成扩展重建索引
    3. adb devices现在应该会看到您的手机
    4. 请注意,这非常糟糕,并且每次OSX更新时都可能会中断,但它确实有效。每次我想在手机上工作时,我终于可以停止重启了! :D

答案 6 :(得分:12)

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

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

答案 7 :(得分:8)

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

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

是。这非常愚蠢。

答案 8 :(得分: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

然后:

$ adb kill-server
$ adb start-server
* daemon not running. starting it now on port ... *
* daemon started successfully *

最后:

$ adb devices
List of devices attached 
......  device

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

答案 9 :(得分:2)

在Mac Lion上:

我只需转到/path/to/android-sdk/tools并运行android adb update即可检测设备。

答案 10 :(得分:1)

确保您的设备上的SDK包安装了相同/更高的API级别。

示例:

我的Xperia Play上安装了Android 2.3.4。如果我的Mac上只安装了API 10(Android 2.3.3),ADB将无法检测到我的设备。当我安装SDK 11(Android 3.0)时 - 因为我没有找到2.3.4的任何SDK包,所以ADB工作正常。

希望这对你有所帮助。

答案 11 :(得分:0)

您需要正确安装USB驱动程序并在设置中启用调试功能。如果这些不起作用,您的设备可能会出现问题。

see this

答案 12 :(得分:0)

重新启动adb服务器适合我,在模拟器,vmwware和虚拟

adb kill-server
adb start-server

如果您使用的是虚拟机,请确保您已分配以下IP:

Alt + 1
type: netcfg

回去:

Alt + 7

如果你有:

 eth0: DOWN 0.0.0.0/XX

将您的配置更改为:

NAT or BRIDGE

重新启动虚拟机和服务器,然后重试。

如果您使用手机或平板电脑:

  • 拔下您的设备

  • 稍等片刻再插上

  • 并重新启动adb服务器

希望这能帮到你

答案 13 :(得分:0)

我在Windows 7上遇到了同样的问题。碰巧我正在使用USB网络共享功能以及尝试使用adb。这个Usb tether and debug at the same time

有一些解决方法

答案 14 :(得分:0)

仅仅是因为您的Android设备处于开发人员模式,并不意味着它已启用USB调试!进入“设置”>“开发人员”选项,然后启用“ USB调试”,然后应该会看到您的设备。这是一个常见错误,很容易被忽略。

答案 15 :(得分:-1)

我安装了Xamarin,并尝试使用Unity。在任何情况下,您都必须通过ADB

杀死可能与您的设备通信的任何应用程序