2016-05-26 31 views
3

Ich habe viele Skripte, die ADB verwenden, um Android-Anwendungen über Wi-Fi mit Emulatoren zu debuggen. Das Problem tritt auf, wenn ich mein Android-Telefon über USB von meinem Computer aus auflade: ADB sieht es und sendet Befehle an mein Telefon statt an den Emulator. Gibt es eine Möglichkeit, ADB von einem Telefon zu trennen, das über USB aufgeladen wird? Ich weiß, ich kann Befehle nur über -e Schalter zu Emulatoren senden, sowie sie an spezifische Gerät über -s Schalter senden. Es ist jedoch nicht in Ordnung für mich, weil ich viele Skripts neu schreiben muss, um weitere Argumente hinzuzufügen, wenn ich diese Geräteauswahlfunktion implementieren möchte. Ich brauche keine Workarounds, ich bin nur neugierig Google zwingen ADB zu debuggen jedes Telefon über USB angeschlossen, die USB-Debugging in den Einstellungen aktiviert hat, oder ist es möglich, bestimmte USB-Telefon von Geräten Liste auf der ADB-Seite zu entfernen? Wenn ich adb disconnect ausführen, bleibt USB-Gerät verbunden.Gibt es eine Möglichkeit, USB-Gerät von ADB zu trennen?

Antwort

2

USB-Verbindung für internen Speicher und ADB-Verbindung zum Debuggen sind zwei verschiedene Dinge.

Um adb zu deaktivieren - Sie können adb disconnect verwenden oder einfach usb debugging unter developer options deaktivieren.

Zum Trennen der USB-Verbindung für den internen Speicher haben bestimmte ROMS die Option. z.B. CM 13, das ich im Moment habe, ermöglicht den Anschluss von USB nur zum Aufladen. Im Allgemeinen habe ich diese Option bei anderen ROMs und Stock ROM nicht gesehen, aber Sie können dies versuchen. -> Wenn Sie Ihr Gerät über USB verbinden, während es gesperrt ist, ist der interne Speicher nur verfügbar, wenn Sie das Gerät einmal entsperren.

+0

Wie ich in meinem ersten Post schrieb, funktioniert 'adb disconnect' nicht.Das Gerät wird automatisch wieder verbunden. Versuchen Sie, "adb disconnect" und "adb devices" auszuführen, USB wird hier sein. – Vitaliy

+0

in diesem Fall müssen Sie entweder das USB-Debugging von Entwickleroptionen oder zumindest widerrufen Berechtigungen von Entwickleroptionen – AndroidMechanic

+0

Es ist Lösung, aber ich benutze mein Telefon für die Fehlersuche andere Projekte;) Es ist Zeit zu töten zu aktivieren oder zu deaktivieren Debug-Modus jedes Mal, wenn ich einfach Telefon laden möchte. Wie ich in meinem ersten Beitrag geschrieben habe, "brauche ich keine Problemumgehungen", eigentlich gibt es eine Menge Workarounds, aber ich verstehe nicht, warum Google ADB implementiert ist so seltsam, dass es bestimmte Gerät ohne seine Neukonfiguration nicht trennen kann. – Vitaliy

-1

Aktualisieren Sie Ihre Skripte, die die ID des Emulators zu verwenden, so dass Sie adb Befehle Emulator steuern kann:

adb -s{serial_number} 

Ex:

adb -s emulator-5556 install myApp.apk 

Wenn Sie nur hier auch ein Emulator haben können Verwenden Sie '-e', um adb-Befehle an den Emulator zu übergeben.

adb -e install myApp.apk 

Das gleiche kann getan werden, um Befehle mit '-d' auf Ihr Handy zu erzwingen.

0

ADB unterstützt das Trennen einer USB-Verbindung jetzt nicht (Version 1.0.39).

"adb disconnect" kann nur eine TCP-Verbindung trennen, die von "adb connect" eingerichtet wurde, es kann keine USB-Verbindung trennen.

Sie können "disconnect" eine Verbindung durch Drück und wieder Befehle als Behelfslösung:

1.Push eine Datei zum Telefon

adb -s [serial] push somefile /data/local/tmp 

2.reconnect während Push noch im Gange ist

Wiederholen Sie die Schritte 1 und 2, nach einiger Zeit können Sie feststellen, dass sich dieses Gerät im Offline-Zustand befindet, wenn die "adb devices" ausgegeben werden.

Kein adb-Befehl kann dieses Offline-Gerät bedienen, bis Sie Kill-Server und Start-Server.

Verwandte Themen