我已经做了很明显的事情——USB驱动程序是从最新的Android SDK安装的,并且平板电脑中的USB调试已打开。
连接Nexus 7后,设备在 Windows设备管理器中显示为“Android Phone”/“Android Composite ADB Device”,属性显示驱动程序版本 6.0.0.0,因此安装了正确的驱动程序并正常工作。
这也证明设备处于 USB 调试模式,因为如果不是,它会显示在 Windows 的“便携式设备”/“Nexus 7”下。
问题是adb devices没有显示任何设备,而且Eclipse也(毫不奇怪)也不提供 Nexus 7 作为运行应用程序的硬件设备。
adb devices
我已经重新启动了两个设备但没有效果。
我能弄清楚的唯一调试是 enable ADB_TRACE=all,但这什么也没告诉我:
ADB_TRACE=all
mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools $ export ADB_TRACE=all mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools $ adb devices system/core/adb/adb.c::main():Handling commandline() system/core/adb/adb_client.c::adb_query():adb_query: host:devices system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 100 system/core/adb/transport.c::writex():writex: fd=100 len=4: 30303063 000c system/core/adb/transport.c::writex():writex: fd=100 len=12: 686f73743a76657273696f6e host:version system/core/adb/transport.c::readx():readx: fd=100 wanted=4 system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4 4f4b4159 OKAY system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 100 system/core/adb/adb_client.c::adb_connect():adb_connect: service host:devices system/core/adb/transport.c::readx():readx: fd=100 wanted=4 system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4 30303034 0004 system/core/adb/transport.c::readx():readx: fd=100 wanted=4 system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4 30303164 001d system/core/adb/sysdeps_win32.c::adb_close():adb_close: 100(lo-client:5037) system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:devices system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 101 system/core/adb/transport.c::writex():writex: fd=101 len=4: 30303063 000c system/core/adb/transport.c::writex():writex: fd=101 len=12: 686f73743a64657669636573 host:devices system/core/adb/transport.c::readx():readx: fd=101 wanted=4 system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4 4f4b4159 OKAY system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 101 system/core/adb/adb_client.c::adb_connect():adb_connect: return fd 101 system/core/adb/transport.c::readx():readx: fd=101 wanted=4 system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4 30303030 0000 system/core/adb/transport.c::readx():readx: fd=101 wanted=0 system/core/adb/transport.c::readx():readx: fd=101 wanted=0 got=0 system/core/adb/sysdeps_win32.c::adb_close():adb_close: 101(lo-client:5037) List of devices attached ***NOTHING SHOWN*****
我究竟做错了什么?
当 Nexus 7 插入时,会有一个持久通知,指示“ 连接 AS/媒体设备 (MTP) ”。在这种状态下adb devices不会显示 Nexus,或者毫无疑问是任何其他设备。不是很明显,但是如果您选择第二个选项“摄像头 (PTP)”,则设备可用于调试(课程是忽略摄像头,并专注于协议 PTP)。
这种配置是持久的,我猜测使用全新的设备它将作为 MTP 连接,除非另有说明。
感谢Settings --> Storage --> Top Left Option (Computer USB Connection) tap-->choose MTP
Settings --> Storage --> Top Left Option (Computer USB Connection) tap-->choose MTP