精简版
adb devices
可以列出设备,但adb shell
或者adb logcat
只是挂起并且不起作用。
长版
以下是各种命令输出。
/* system info */
$ uname -a
Linux ubuntu-vm 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
/* udev info */
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
$ lsusb
Bus 001 Device 003: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-P7500 [Galaxy Tab 10.1]
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
$ adb devices -l
List of devices attached
0A3C294805017006 device usb:1-1 product:full_toroplus model:Full_AOSP_on_Toroplus device:toroplus
$ adb shell
/* no output, just hang */
$ adb logcat
/* no output either */
/* verbose mode */
$ ADB_TARCE=1 adb shell
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/commandline.c::adb_commandline():starting interactive shell
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
..........
4f4b4159 OKAY
system/core/adb/adb_client.c::switch_socket_transport():Switch transport success
system/core/adb/transport.c::writex():writex: fd=3 len=4: 30303036 0006
system/core/adb/transport.c::writex():writex: fd=3 len=6: 7368656c6c3a shell:
system/core/adb/transport.c::readx():readx: fd=3 wanted=4
/* hang at this point */
似乎 adb 服务器正在期待来自手机的一些数据但无法获取它,因此它卡在那里。
我试过了:
- 杀死并重新启动 adb 服务器
- 拔下然后插上电话
- 重启手机
- 在手机上禁用 USB 调试,然后启用它
有时,拔下/插入手机后,它会工作一段时间(我可以adb shell
),但很快它就会停止工作。而且大多数情况下,拔/插手机甚至根本没有效果!
我正在运行 ubuntu 作为 vmplayer 来宾。主机是windows 7。
提前感谢您的任何帮助或提示。
更新
将手机插入后置usb端口后,它突然工作了!但我不确定问题是否真的解决了。等着瞧。