在Mac上进行Android开发,这款新手机我没有出现在adb的设备列表中.很多其他手机和设备对我来说都很好,所以我知道我的设置很好.
我在手机上启用了调试(设置 - >应用程序 - >开发 - > USB调试),但是当我运行时它没有显示 adb devices
dus*_*ine 330
附加更新:不要低估好USB线的价值.有时只是交换电缆会有所帮助.
~/.android/adb_usb.ini
必须删除更新版本的adb的更新.
执行摘要: 将供应商ID添加到~/.android/adb_usb.ini
并重新启动adb
完整详情: 大多数情况下,无需任何操作即可让Mac识别手机/设备.说真的,99%的时间"它只是有效".
话虽这么说,重置adb的最快方法是按顺序使用以下命令重新启动它:
adb kill-server
adb devices
Run Code Online (Sandbox Code Playgroud)
但是偶尔adb devices
命令无法找到你的设备.也许如果你正在使用一些实验或原型或不同寻常的设备,也许它只是未知的,不会出现.
您可以通过告诉设备的"供应商ID"来帮助adb找到您的设备,从根本上提供一个提示.这可以通过将十六进制供应商ID放在文件中来完成~/.android/adb_usb.ini
但首先您必须找到供应商ID值.幸运的是,在Mac上这很容易.启动系统信息应用程序.它位于/Applications/Utilities/
文件夹中,或者您可以通过屏幕左上角的Apple菜单访问它,选择"关于此Mac",然后单击"更多信息..."按钮.屏幕抓取在这里:
展开"硬件"树,选择"USB",然后查找目标设备.在上面的例子中,我的设备名为"SomeDevice"(我在photoshop中这样做是为了隐藏真正的设备制造商).另一个例子是三星平板电脑显示为"SAMSUNG_Android"(顺便说一句,我没有做任何特别的事情来使三星平板电脑工作.)无论如何,点击你的设备,完整的细节将显示在下面的窗格中.这是它列出供应商ID的地方.在屏幕截图中的示例中,值是0x9d17
- 在下一个命令中使用此值
echo 0x9d17 >> ~/.android/adb_usb.ini
Run Code Online (Sandbox Code Playgroud)
没关系,如果你之前还没有这个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
Run Code Online (Sandbox Code Playgroud)
dee*_*ter 43
如果您已安装EasyTether应用程序,则可能会干扰ADB.
在此页面中,您可以执行以下命令:
sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext
Run Code Online (Sandbox Code Playgroud)
这将卸载您的EasyTether扩展.
如果您需要重新启用EasyTether进行网络共享,我相信您可以使用:
sudo kextload /System/Library/Extensions/EasyTetherUSBEthernet.kext
Run Code Online (Sandbox Code Playgroud)
这适用于我的三星Galaxy S2.在我的情况下,每次重新启动时都必须执行kextunload命令.
K.K*_*K.K 38
适用于OS X的Nexus 4和Nexus 5的解决方案
运行时,"附加设备列表"中没有列出设备:adb devices
固定:
'Settings'
:{}开发人员选项中尝试从./adb设备列出您的设备,它应该工作.
答案取自:任何想法为什么adb不能识别mac上的nexus 4
小智 30
如果您使用以下设备:
Samsung S3 GT-I9305(Android 4.1.2)
Mac OS 10.6.8
做以下事项:
# echo "0x04e8" >> ~/.android/adb_usb.ini
# adb kill-server
# adb devices
Run Code Online (Sandbox Code Playgroud)
(如果您未使用Samsung设备,请将供应商ID"0x04e8"更改为供应商的正确值)
如果仍然无法正常工作,您可能需要尝试以下操作:
(1)在Samsung设备上,禁用"USB Debugging"并再次重新启用它
(并再次尝试adb命令)
(2)断开USB电缆,然后重新连接
(3)卸载Samsung Kies
(4)安装Android文件传输
(5)重新启动Mac和Samsung设备
(6)使用硬件设备测试您的Android应用程序
在连接设备但你突然拔掉USB线后,假设现在"adb devices"无法再看到你的设备,即使在"adb kill-server"之后,在这种情况下,你可能想尝试以下方法:
(1)关闭Mac电源
(2)禁用Samsung设备上的"USB debuggine"
(3)关闭Samsung设备
电源(4)关闭Mac
电源(5)打开Samsung设备电源
(6)启用"USB debuggine"在您的Samsung设备上
(7)连接USB电缆
(8)运行"adb devices"
(9)您应该立即看到连接的设备
Cas*_*ase 25
信不信由你,交换USB电缆为我解决了这个问题.我一直在使用一个随机的(它没有工作),一旦我切换到一个真正的Android设备附带的,它工作.
良好的电缆工作的另一个迹象是,Android文件传输应用程序立即启动,这与蹩脚的电缆没有发生.
在我通过手机启用了开发人员usb调试之后,这只适用于我:
在Android手机上,转到设置>关于,然后重复点击内部版本号,直到启用开发人员选项.
在我的情况下,这是因为USB电缆.
我发现有两种类型的USB电缆:
而且很难知道USB线的类型.现在我通过数据传输在电缆上做了一个缺口.
在插入设备时尝试启动Console.app并查看错误.我得到了
# The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying.
Run Code Online (Sandbox Code Playgroud)
它在重新启动后仍然存在,因此我最终重置了我的PRAM并使其再次运行.
如何执行PRAM RESET
这是另一件要尝试的事情,如果像我一样,你已经尝试了所有其他答案并且没有运气.
在我的情况(Android 4.3的)我走进通知下的USB设置和MTP模式(媒体设备)变更为PTP(摄像头),一旦它打开,该设备在ADT设备列表中出现了.
我遇到了同样的问题,以下解决了它。
归档时间: |
|
查看次数: |
229119 次 |
最近记录: |