19

短縮版

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

4

7 に答える 7

2

私は同じ問題を抱えていて、コンピューターのさまざまなUSBポートを試してみると、さまざまな結果が得られました(ただし、うまくいきませんでした)。結局、店に行って新しい USB ケーブルを購入することにしました。今では問題なく動作します!USBケーブルが磨耗しているか、不良である可能性があると思います...

短編小説: 新しいケーブルを購入してください! 私のために働いた!

于 2015-04-02T11:32:32.330 に答える
0

VMWare の組み合わせ (Windows 10 ホスト + Ubuntu 18 ゲスト + Galaxy S9) では、USB 互換性を 1.1 に変更した後、実際に機能しました。理由はわかりませんが、この問題がある場合は試してみる価値があります。

于 2020-10-24T11:34:13.740 に答える
0

私の場合、このコマンドで tcp ポート フォワーディングをセットアップしましたがadb forward tcp:4321 tcp:4321、後で何らかの方法で接続を台無しにしました。

その後は毎回、adb shell永遠にハングアップしていました。そしたら走っps aux | grep adbててこれ見つけた

❯ ps aux | grep adb
username          10319   2.4  0.0  4380992   3080   ??  Ss   12:41PM   5:40.20 adb -L tcp:5037 fork-server server --reply-fd 4
username          34406   0.0  0.0  4278688    776 s007  S+    3:51PM   0:00.01 grep --color=auto  --exclude-dir=.tox adb

だから私は実行中のプロセスを殺し、kill 10319出来上がり...adb shell再び戻ってきました。

于 2022-01-21T00:09:09.237 に答える
-1

私も同じ問題を抱えていました。2番目のUSBポートに接続されているマウスのUSBケーブルを取り外し、電話ケーブルをその(2番目のUSBポート)に接続しました。出来た!

于 2016-02-09T20:14:00.130 に答える
-1

USBを最初にMacに接続し、次にAndroidに接続すると、adbが機能することに気付きました。おそらくこれが、さまざまなケーブルが機能することに人々が気付く理由ですか? (たまたま、ケーブルの接続/取り外しの順序が異なる場合があります)

于 2017-07-10T10:18:14.477 に答える