短縮版
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 ポートに差し込むと、突然動作します。しかし、問題が本当に解決したかどうかはわかりません。わかります。