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
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.
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.
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.
- 1. Gibt es eine Möglichkeit, unendliche und endliche Listen zu trennen?
- 2. adb bugreport: Gibt es eine Möglichkeit, das Protokoll zurückzusetzen?
- 3. Gibt es eine Möglichkeit, sich von der Support-Design-Bibliothek zu kleineren Teilen zu trennen?
- 4. Gibt es eine Möglichkeit, den Quecksilbercode von allen gebündelten Drittanbieterbibliotheken zu trennen?
- 5. Gibt es eine Möglichkeit, ein Projekt von CVS in Xcode zu trennen?
- 6. Gibt es eine Möglichkeit, eine Zeichenfolge in Python durch jedes n-te Trennzeichen zu trennen?
- 7. Gibt es eine Möglichkeit, Kovarianz zu deklarieren?
- 8. Gibt es eine Möglichkeit, "träge" zu lesen?
- 9. Gibt es eine Möglichkeit, Datenbanktransaktionen zu beschleunigen?
- 10. Gibt es eine Möglichkeit, Mehrfacheinspritzung zu propagieren?
- 11. Gibt es eine Möglichkeit, django.db.connection.queries zu löschen?
- 12. Gibt es eine Möglichkeit, ConfigurationManager.AppSettings zu überschreiben?
- 13. Gibt es eine Möglichkeit, eine Generatorfunktion zu exportieren?
- 14. Gibt es eine Möglichkeit, Typdeklarationen zu erweitern?
- 15. Gibt es eine schnellere Möglichkeit, die UI-Hierarchie zu sichern?
- 16. Gibt es eine Möglichkeit, das Layout und die Ansichten aktueller Aktivitäten über adb zu erhalten?
- 17. Gibt es eine Möglichkeit, in JavaFX LineChart 2 Punkte in Reihe zu trennen?
- 18. Gibt es eine Möglichkeit, AMDPlugin zu deaktivieren?
- 19. Gibt es eine Möglichkeit, Fenstereigenschaften zu verbergen?
- 20. Gibt es eine Möglichkeit, onPanResponderMove zu verwalten?
- 21. Gibt es eine Möglichkeit, PreparedStatement zu aktualisieren?
- 22. Gibt es eine Möglichkeit, Unterabfragen zu vermeiden?
- 23. Gibt es eine Möglichkeit, Webkonsolenfehler zu erkennen?
- 24. Gibt es eine Möglichkeit, dies zu loopen?
- 25. Gibt es eine Möglichkeit, Formularantwort zu ignorieren?
- 26. Gibt es eine Möglichkeit, Duplikate zu vermeiden?
- 27. Gibt es eine Möglichkeit, Creeps zu löschen?
- 28. Gibt es eine Möglichkeit, Selektoren zu gruppieren?
- 29. Gibt es eine Möglichkeit, Bilder von Webcam zu erfassen?
- 30. Gibt es eine Möglichkeit, die textAlignment von UILabel zu animieren?
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
in diesem Fall müssen Sie entweder das USB-Debugging von Entwickleroptionen oder zumindest widerrufen Berechtigungen von Entwickleroptionen – AndroidMechanic
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