adb kann die Liste der Geräte, aber adb shell/logcat funktioniert nicht
Kurze version
adb devices
können die Liste Gerät, aber adb shell
oder adb logcat
nur hängen und nicht arbeiten.
Lange version
Hier sind verschiedene Befehle Ausgänge.
/* 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 */
Scheint es, dass adb-server erwartet einige Daten vom Handy aber kann es nicht bekommen, so ist es dort stecken.
Ich versucht habe:
- töten, und starten Sie die adb-server
- ziehen Sie den Netzstecker und stecken Sie dann Telefon
- reboot phone
- deaktivieren usb-debug auf dem Handy und dann aktivieren Sie es
Manchmal, nach ziehen/stecken des Telefons, wird es Arbeit für eine Weile (das kann ich adb shell
), aber bald hört es auf zu wirken. Und die meisten der Zeit, ziehen Sie den Stecker/Stecker-Handy noch hat überhaupt keine Wirkung!
Ich bin mit ubuntu als vmplayer Gast. Host ist windows 7.
Vielen Dank im Voraus für jede Hilfe oder Hinweise.
UPDATE
Danach stecken Sie das Telefon in die hintere usb-port, es plötzlich funktioniert! Aber ich bin mir nicht sicher, ob das problem wirklich gelöst. Sehen.
- "Full_AOSP_on_Toroplus" klingt wie eine aftermarket-firmware-bauen - könnte das ein problem mit dem Telefon-firmware? Sind Sie in der Lage zu sprechen, um andere Geräte vom computer, oder sprechen Sie dieses Telefon von anderen Computern?
- Ja, es ist eine custom ROM. Es funktioniert gut mit meinem Büro-PC läuft ubuntu nativ. Nur, dass es nicht funktioniert nicht unter ubuntu innen vmplayer. Also ich denke, es ist irgendwie mit der vmplay usb-Konfigurationen.
- Ich hatte das gleiche problem. Nach dem einstecken des Telefons in einen der hinteren usb-ports, es auch funktioniert. Dies ist zu bestätigen, dass Ihre Lösung funktioniert.
- NAA, kann aber hilfreich sein: Auf windows, ich hatte das gleiche problem mit cygwin, aber es funktioniert in der cmd
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das exakt gleiche problem mit adb shell hängen. Ich bin mit einer Ubuntu 12.04 VM-Gast auf einem Ubuntu host. Das problem für mich war die USB-Kompatibilität Einstellung für die VM gesetzt wurde zu 1.1, es muss mindestens 2.0. Zum ändern der Einstellung abschalten des VM und wählen Sie "Edit virtual machine settings" im VMPlayer Start-Menü. Wählen Sie dann die "USB-Controller" - Gerät und ändern Sie "USB-Kompatibilität" zu USB 2.0.
Ich hatte das gleiche problem, immer unterschiedliche Ergebnisse (keine gute Arbeit, wenn), indem Sie versuchen verschiedene usb-ports auf dem computer. Schließlich beschloss ich, in den laden gehen und kaufen ein neues USB-Kabel. Jetzt funktioniert es einwandfrei! Ich denke, USB-Kabel getragen werden kann, oder schlecht...
Kurzgeschichte: Kaufen Sie ein neues Kabel! Arbeitete für mich!
Nicht sicher, ob das verwendet werden soll, die Art und Weise, aber ich habe auch
adb shell
hängen, jedoch läuftecho my_command | adb shell
mir erlaubt, Befehle auf dem Ziel.E. g.
echo settings get secure sysui_qs_tiles | adb shell
Auch
adb shell < /dev/stdin
interessant sein könnte.Ich hatte das gleiche problem. Ich einfach entfernt die Maus usb-Kabel mit dem zweiten USB-port angeschlossen und das Telefon-Kabel zu diesem(zweiten USB-port). Es hat geklappt!
Habe ich gemerkt, wenn ich Stecker in den usb-Stick in meinen mac zum ersten mal, DANN stecken Sie es in das android, adb funktioniert.
Vielleicht ist dies, warum die Leute merken, verschiedenen Kabeln arbeiten? (Passiert zu sein, anschließen/trennen von Leitungen in einer anderen Reihenfolge)