it-swarm.com.de

Wie kann ich mit ADB über TCP eine Verbindung zu Android herstellen?

Ich versuche, eine Anwendung auf einem Motorola Droid zu debuggen, aber ich habe Schwierigkeiten, sich über USB mit dem Gerät zu verbinden. Mein Entwicklungsserver ist ein Windows 7 64-Bit VM, das unter Hyper-V ausgeführt wird. Daher kann ich keine direkte Verbindung über USB im Gast oder vom Host aus herstellen.

Ich habe ein paar verschiedene USB-over-TCP-Lösungen installiert, aber die Verbindung scheint Probleme zu haben, da der Monitor " ADB monitor" wiederholt, dass "devicemonitor das Monitoring nicht gestartet hat". Gibt es eine Möglichkeit, eine direkte Verbindung vom Client auf der Entwicklungsmaschine mit dem Daemon auf dem Gerät über das Netzwerk anstelle der USB-Verbindung oder möglicherweise anderer praktischer Optionen herzustellen?

774
JDM

Manueller Prozess

Von Ihrem Gerät, wenn es gerootet ist

Laut einem Beitrag zu Xda-Entwicklern können Sie ADB über WLAN vom Gerät aus mit den Befehlen aktivieren:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

Sie können es deaktivieren und mit ADB wieder auf USB hören

setprop service.adb.tcp.port -1
stop adbd
start adbd

Von einem Computer aus, wenn Sie bereits über einen USB-Zugriff verfügen (kein Root erforderlich)

Wenn Sie bereits über USB verfügen, ist es noch einfacher, auf WLAN zu wechseln. Geben Sie die Befehle über eine Befehlszeile auf dem Computer aus, an den das Gerät über USB angeschlossen ist

adb tcpip 5555
adb connect 192.168.0.101:5555

Ersetzen Sie unbedingt 192.168.0.101 durch die IP-Adresse, die Ihrem Gerät tatsächlich zugewiesen ist.

Sie können die IP-Adresse eines Tablets auf zwei Arten ermitteln:

Manuelle IP-Erkennung:

Gehen Sie in die WLAN-Einstellungen von Android, klicken Sie in der Aktionsleiste (die vertikale Ellipse) auf die Menüschaltfläche, drücken Sie Advanced und sehen Sie die IP-Adresse unten auf dem Bildschirm.

ADB zum Ermitteln der IP verwenden:

Führen Sie den folgenden Befehl über adb aus:

adb Shell ip -f inet addr show wlan0

Um dem ADB-Dämon zu sagen, dass er wieder über USB hören soll

adb usb

Apps zur Automatisierung des Prozesses

Es gibt auch mehrere Apps in Google Play, die diesen Prozess automatisieren. Eine schnelle Suche schlägt vor: adbWireless , WiFi ADB und ADB WiFi . Für alle ist Root-Zugriff erforderlich, für adbWireless sind jedoch weniger Berechtigungen erforderlich.

1079
Brian

Dies ist sehr einfach, wenn Ihr Telefon verwurzelt ist.

Laden Sie einen Terminalemulator von Google Play herunter (es gibt viele, die kostenlos sind). Stellen Sie sicher, dass Ihr Android-Gerät mit Ihrem WLAN verbunden ist, und erhalten Sie die IP-Adresse Wi-Fi. Öffnen Sie das Terminalprogramm und geben Sie Folgendes ein:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

Gehen Sie jetzt zu Ihrem Computer (vorausgesetzt, Sie verwenden Windows) und erstellen Sie auf dem Desktop eine Verknüpfung für "cmd.exe" (ohne die Anführungszeichen).

Klicken Sie mit der rechten Maustaste auf die Cmd-Verknüpfung und wählen Sie "Run as Administrator".

Wechseln Sie in Ihren Android-sdk-windows\tools-Ordner

Art:

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

adb sollte jetzt sagen, dass Sie verbunden sind.

Hinweis: Wenn Sie für den Verbindungsbefehl zu schnell sind, schlägt der Befehl möglicherweise fehl. Versuchen Sie es also mindestens zweimal im Abstand von fünf Sekunden, bevor Sie sagen, dass dies nicht funktioniert.

124
norman
  1. Schließen Sie das Gerät über USB an und stellen Sie sicher, dass das Debugging funktioniert. Führen Sie dann Folgendes aus:

    adb tcpip 5555
    adb connect <DEVICE_IP_ADDRESS>:5555
    
  2. Trennen Sie USB und fahren Sie mit dem drahtlosen Debugging fort.

  3. Wenn Sie fertig sind und zum USB-Debugging zurückkehren möchten, führen Sie Folgendes aus:

    adb -s <DEVICE_IP_ADDRESS>:5555
    

Um die IP-Adresse Ihres Geräts zu ermitteln, rufen Sie Settings > Wi-Fi > Advanced > IP Address auf Ihrem Gerät auf oder führen Sie adb Shell netcfg aus.

Keine Wurzel erforderlich. Es kann jeweils nur ein Gerät debuggt werden.

Siehe diesen XDA-Beitrag .

Der Befehl adb befindet sich im Ordner platform-tools des Android SDK.

74
Ribin Haridas

Von adb --help:

connect <Host>:<port>         - Connect to a device via TCP/IP

Das ist übrigens eine Befehlszeilenoption.

Sie sollten versuchen, das Telefon mit Ihrem WLAN zu verbinden, und dann die IP-Adresse von Ihrem Router erhalten. Es funktioniert nicht im Zellennetzwerk.

Der Hafen ist 5554.

49
Nathan

Angenommen, Sie haben den ADB-Pfad in Ihrem Windows-Umgebungspfad gespeichert

  1. Aktivieren Sie den Debug-Modus in Android

  2. Verbindung zum PC über USB

  3. Öffnen Sie den Eingabeaufforderungstyp: adb tcpip 5555

  4. Trennen Sie Ihr Tablet oder Smartphone vom PC

  5. Öffnen Sie den Befehl Eingabeaufforderungstyp: adb connect IPADDRESS (IPADDRESS ist die DHCP/IP-Adresse Ihres Tablets oder Smartphones, die Sie über Wi-Fi finden können -> aktuelles Netzwerk).

Jetzt in der Eingabeaufforderung sollte das Ergebnis folgendermaßen aussehen: verbunden mit xxx.xxx.xxx.xxx:5555

47
MapleLover

Für PC-Benutzer:

Schritt 1:
Sie müssen die Entwickleroptionen in Ihrem Android-Telefon aktivieren.
Sie können Entwickleroptionen auf diese Weise aktivieren.
• Öffnen Sie Einstellungen> Info> Software-Informationen> Mehr.
• Tippen Sie dann sieben Mal auf „Nummer erstellen“, um die Entwickleroptionen zu aktivieren.
• Gehen Sie zurück zum Einstellungsmenü und Sie können dort jetzt "Entwickleroptionen" sehen. 
• Tippen Sie darauf und aktivieren Sie USB-Debugging im Menü des nächsten Bildschirms.

Schritt 2:

Öffnen Sie cmd und geben Sie adb ein.
Wenn Sie feststellen, dass der Befehl adb nicht gültig ist, müssen Sie der Umgebungsvariablen einen Pfad hinzufügen.

• Gehen Sie zuerst zu Ihrem installierten SDK-Ordner
Folgen Sie diesem Pfad und dieser Pfad dient nur als Beispiel . D:\Software\Entwicklung\Andoird\SDK\sdk\Plattform-Tools \; D:\Software\Entwicklung\Andoird\SDK\sdk\tools;
• Suchen Sie jetzt in den erweiterten Windows-Systemeinstellungen

 enter image description here

Öffnen Sie die Umgebungsvariable.

 enter image description here

Öffnen Sie dann den Pfad und fügen Sie den folgenden Pfad ein dies ist ein Beispiel.
Ihr SDK-Pfad unterscheidet sich von meinem. Bitte verwenden Sie Ihren. D:\Software\Entwicklung\Andoird\SDK\sdk\Plattform-Tools \;
D:\Software\Entwicklung\Andoird\SDK\sdk\tools;

 enter image description here

Schritt 3:

Öffnen Sie cmd und geben Sie adb ein. Wenn Sie immer noch feststellen, dass der Befehl adb nicht gültig ist, wurde Ihr Pfad nicht ordnungsgemäß festgelegt. Befolgen Sie die obigen Schritte.

 enter image description here

Jetzt können Sie Verbinden Sie Ihr Android-Telefon mit dem PC.

Öffnen Sie cmd und geben Sie adb-Geräte ein und Sie können Ihr Gerät sehen .Finden Sie die IP-Adresse Ihres Telefons.

 enter image description here

Geben Sie Folgendes ein: - adb tcpip 5555

 enter image description here

Rufen Sie die IP-Adresse Ihres Telefons ab

adb Shell netcfg

Jetzt,

adb connect "IP address of your phone"

Führen Sie nun Ihr Android-Projekt aus und wenn Ihr Gerät nicht angezeigt wird, geben Sie erneut adb connect IP-Adresse Ihres Telefons ein

 enter image description here

 enter image description here

Für Linux- und MAC-Benutzer:

Schritt 1: Öffnen Sie das Terminal und installieren Sie adb mit 

Sudo apt-get installiert Android-Tools-Adb Android-Tools-Fastboot

Verbinden Sie Ihr Telefon über ein USB-Kabel mit dem PC. Geben Sie den folgenden Befehl in das Terminal ein

adb tcpip 5555

Verbinden Sie mit adb die IP-Adresse Ihres Android-Telefons.

Entfernen Sie Ihr Telefon.

39
Raghav Thakkar

Ich musste beides USB und TCPIP für ADB (nicht fragen) zum Laufen bringen, deshalb habe ich Folgendes getan (mit Anweisungen, die andere von Xda-Entwicklern geschrieben haben)

adb Shell verwenden:

su
#Set the port number for adbd
setprop service.adb.tcp.port 5555

#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &

#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit
33
transistor1

So verbinden Sie Ihr Tablet über den TCP -Port. Stellen Sie sicher, dass Ihr System und Ihr Gerät mit demselben Netzwerk verbunden sind.

  1. Öffnen Sie die Konsole cmd.exe
  2. Typ adb tcpip 5555
  3. Gehen Sie zu System -> Entwicklungsoption -> USB-Debugging -> Deaktivieren Sie diese Option für die TCPIP-Verbindung
  4. Geben Sie adb connect 192.168.1.2 ein. Dies ist die IP-Adresse Ihres Geräts
  5. Verbunden mit 192.168.1.2

Verbunden über Portweiterleitung Versuchen Sie Portweiterleitung durchzuführen,

adb forward tcp: <PC port> tcp: <device port>

mögen:

adb forward tcp: 5555 tcp: 5555.

C:\Users\abc> adb forward tcp: 7612 tcp: 7612

C:\Users\abc> adb tcpip 7612 wird im TCP -Modus neu gestartet Port: 7612

C:\Users\abc> adb connect 10.0.0.1:7612

verbunden mit 10.0.0.1:7612

Wenn die Meldung angezeigt wird, dass das Gerät nicht gefunden wurde , schließen Sie ein USB-Gerät an das System an, und befolgen Sie die gleichen Schritte.
für ein gerootetes Gerät

setprop service.adb.tcp.port 5555
stop adbd
start adbd
32
rinkesh

Zuerst müssen Sie Ihr Gerät über USB anschließen

Verbinden Sie dann Ihr Gerät mit WIFI und erhalten Sie die IP-Adresse ... Wenn Sie sich noch über USB verbinden, geben Sie diese in die Befehlszeile oder über das Android Studio Terminal ein

adb tcpip 5555
adb connect <device IP>:5555

Sie sehen diese Meldungen:

restarting in TCP mode port: 5555
connected to 172.11.0.16:5555

Entfernen Sie jetzt das USB-Kabel, und Ihr Logcat wird weiterhin als normal angezeigt

Erledigt. Genießen 

28
Joolah

Ich weiß nicht, wie ich das Gerät ohne USB-Verbindung anschließen soll, aber wenn Sie es vielleicht an einem anderen Computer anschließen, können Sie den adbd durch Ausgeben in den Modus TCP umschalten 

adb tcpip <port>

von einem Terminal aus und von jedem PC im Netzwerk über WLAN mit Ihrem Gerät verbinden:

adb connect <ip>:<port>

Möglicherweise ist es auch möglich, von einem Terminal des Geräts in den Modus TCP zu wechseln.

27
Christoph

Von einem Computer auf einem nicht gerooteten Gerät

(Beachten Sie, dass dies auch mit einem gerooteten Gerät möglich ist, Sie können jedoch eine Shell auf einem gerooteten Gerät verwenden, für das keine USB-Verbindung erforderlich ist.)

Öffnen Sie zunächst die Eingabeaufforderung (CMD). Wenn Sie Android Studio oder IntelliJ verwenden, ist dort eine Konsole enthalten, die Sie verwenden können.

Öffnen Sie nach Möglichkeit den SDK-Speicherort, klicken Sie mit der rechten Maustaste, und drücken Sie "Startbefehl hier anfordern". Nicht alle haben diese Option, daher müssen Sie auch diese (/ diese) Befehle ausführen:

Wechseln Sie das Laufwerk (falls zutreffend)

D: 

Und greifen Sie auf die SDK- und Plattform-Tools zu. Ersetzen Sie diesen Pfad durch Ihren SDK-Speicherort:

D:/sdk/path/here/platform-tools

Jetzt haben Sie Zugriff auf die Android-Debug-Bridge.

Jetzt, wenn das Gerät an den Computer angeschlossen ist, führen Sie Folgendes aus:

adb tcpip <port> 
adb connect <ip>:<port>

Wo ist der Port, zu dem Sie eine Verbindung herstellen möchten (standardmäßig ist 5555) und ist die IP-Adresse des Geräts, zu dem Sie eine Verbindung herstellen möchten.

Bitte beachten Sie: 5555 ist der Standardport und durch das Schreiben der IP-Adresse wird dieser verbunden. Wenn Sie einen benutzerdefinierten Port verwenden, können Sie die Sicherheit zumindest ein wenig verbessern. USB-Debugging über WLAN kann missbraucht werden, jedoch nur, wenn das Gerät an den Computer angeschlossen ist, der das Gerät missbrauchen möchte. Die Verwendung eines nicht standardmäßigen Ports macht es zumindest etwas schwieriger, eine Verbindung herzustellen.

Wenn Sie einen benutzerdefinierten Port verwenden, müssen Sie ihn nach der IP-Adresse hinzufügen. Wenn Sie keinen Port schreiben, wird eine Verbindung zu 5555 hergestellt. Wenn Sie dies nicht verwenden, schlägt die Verbindung fehl.

Sie können die IP-Adresse eines Geräts auf zwei Arten ermitteln:

  • Die genauen Namen können je nach Gerät variieren. Einstellungen öffnen und zu Über Gerät -> Status -> IP-Adresse

  • Verwenden Sie ADB, um die IP zu erhalten

Führen Sie auf der Konsole Folgendes aus:

adb Shell ip -f inet addr show wlan0

Sobald Sie mit der Verbindung fertig sind, können Sie das Gerät von Ihrem Computer trennen, indem Sie Folgendes tun:

adb disconnect <ip>:<port>

Oder keine IP, um alle Geräte zu trennen. Wenn Sie einen benutzerdefinierten Port verwendet haben, müssen Sie angeben, welcher Port von getrennt werden soll. Der Standardwert ist hier ebenfalls 5555.

Um den Port zu deaktivieren (falls dies gewünscht wird), führen Sie diesen Befehl mit dem angeschlossenen Gerät aus:

adb usb

Oder Sie können das Gerät neu starten, um die TCP-Verbindung zu entfernen

Von einem Computer auf einem gerooteten Gerät

Zunächst benötigen Sie Zugriff auf die Shell. Sie können das Gerät entweder über ein USB-Kabel anschließen und adb Shell verwenden oder eine App von Google Play, FDroid oder einer anderen Quelle herunterladen.

Dann machst du:

su
setprop service.adb.tcp.port <port>
stop adbd
start adbd

Und um das Gerät anzuschließen, tun Sie dies wie in der nicht gerooteten Version, indem Sie adb connect <ip>:<port> ausführen.

Und wenn Sie den Port deaktivieren und wieder USB hören möchten:

setprop service.adb.tcp.port -1
stop adbd
start adbd

Sie können auch ein Android Studio-Plugin verwenden, um dies für Sie zu tun (den Namen können Sie sich derzeit nicht merken). Für gerootete Benutzer besteht außerdem die Möglichkeit, eine Android-App herunterzuladen, um die Telefonverbindung einzurichten (Adb Connect ist wahrscheinlich noch erforderlich ).

Einige Telefone verfügen über eine Einstellung in den Entwickleroptionen (dies gilt für einige ungerottete Telefone, wahrscheinlich auch für einige gerootete Telefone), die das Umschalten von ADB über WLAN vom Gerät selbst ohne Root- oder Computerverbindung ermöglichen. Es gibt zwar nur wenige Telefone, die das haben

26
Zoe

Wenn Sie Ihr Gerät problemlos anschließen möchten, um Ihre Android-Apps über WLAN auszuführen, zu debuggen oder bereitzustellen, können Sie ein von mir entwickeltes Open Source IntelliJ Plugin verwenden. Hier ist der Code und hier das Plugin kann verwendet werden.

Die Verwendung ist recht einfach. Hier hast du ein Gif:

 enter image description here

Wie Brian sagte:

Laut einem Beitrag über Xda-Entwickler können Sie ADB über WLAN vom Gerät aus mit den Befehlen aktivieren

setprop service.adb.tcp.port 5555

stop adbd

adbd starten

Sie können es deaktivieren und mit ADB wieder auf USB hören

setprop service.adb.tcp.port -1

stop adbd

adbd starten

Wenn Sie bereits über einen USB-Zugang verfügen, ist es noch einfacher, auf WLAN zuzugreifen. Geben Sie die Befehle über eine Befehlszeile auf dem Computer aus, an den das Gerät über USB angeschlossen ist

adb tcpip 5555

adb connect 192.168.0.101:5555

Um dem ADB-Dämon zu sagen, dass er wieder über USB hören möchte

adb usb

Es gibt auch mehrere Apps im Android Market, die diesen Prozess automatisieren.

Es funktioniert. Sie müssen nur auf die Android-Shell zugreifen und diese Befehle eingeben ...

Eine andere (einfachere) Lösung ist auf dem Markt: adbWireless stellt Ihr Telefon automatisch ein.

Wurzel ist erforderlich! für beide...

11
offcourse
adb tcpip 5555

Komisch, aber das funktioniert nur für mich, wenn ich das USB-Kabel angeschlossen habe. Dann kann ich den USB-Stecker abziehen und alles mit Adb loslegen. 

und das gleiche bei der Rückkehr zu usb,

adb usb

funktioniert nur, wenn USB angeschlossen ist.

Es ist egal, ob ich das ausstelle 

setprop service.adb.tcp.port 5555

oder 

setprop service.adb.tcp.port -1

dann stoppen und starten sie adbd, ich brauche immer noch das usb-kabel oder es funktioniert nicht.

Wenn also meine ADB über USB nicht funktioniert, würde ich auch nicht in der Lage sein, ADB über WLAN zu aktivieren.

9
Chris

SCHRITT 1.

Stelle sicher beide Ihr ADB-Host-Computer und Ihr Android-Gerät befinden sich im selben WLAN-Netzwerk .

SCHRITT 2.

Verbinden Sie das Android-Gerät über ein USB-Kabel mit dem Computer. Sobald Sie dies tun, erkennt Ihr Host-Computer Ihr Gerät und Adb wird im USB-Modus des Computers ausgeführt. Sie können die angeschlossenen Geräte mit adb devices überprüfen, während Sie sicherstellen, dass adb im USB-Modus ausgeführt wird, indem Sie adb usb ausführen.

$ adb usb
restarting in USB mode
$ adb devices
List of devices attached
ZX1D63HX9R  device


SCHRITT 3.

Starten Sie adb im TCP-Modus mit diesem Befehl neu:

$ adb tcpip 5556
restarting in TCP mode port: 5556


SCHRITT 4.

Ermitteln Sie die IP-Adresse des Android-Geräts. Dafür gibt es mehrere Möglichkeiten:

  • WEG: 1 Gehen Sie zu Einstellungen -> Über Telefon/Tablet -> Status -> IP-Adresse.
  • WEG: 2 Gehen Sie zur Liste der verfügbaren Wi-Fi-Netzwerke. Tippen Sie auf das, mit dem Sie verbunden sind, tippen Sie darauf und lernen Sie Ihre IP-Adresse kennen.
  • WEG: 3 Versuchen Sie $ adb Shell netcfg.

Nachdem Sie nun die IP-Adresse Ihres Geräts kennen, verbinden Sie Ihren Adb-Host damit.

$ adb connect 192.168.0.102:5556
already connected to 192.168.0.102:5556
$ adb devices
List of devices attached
ZX1D63HX9R  device
192.168.0.102:5556  device


SCHRITT 5.

Entfernen Sie das USB-Kabel, und Sie sollten mit Ihrem Gerät verbunden sein. Wenn Sie es nicht in adb devices sehen, dann verbinden Sie sich einfach wieder mit dem Befehl des vorherigen Schritts:

$ adb connect 192.168.0.102:5556
connected to 192.168.0.102:5556
$ adb devices
List of devices attached
192.168.0.102:5556  device

Entweder Sie können jetzt los, oder Sie müssen Ihren ADB-Server durch Ausführen von adb kill-server beenden und alle Schritte noch einmal wiederholen.

Hoffentlich hilft das!


Referenz:

7
Eddy

Um mit nur einem Befehl zwischen TCP und USB-Modus zu wechseln, können Sie dies zu /init.rc hinzufügen:

on property:service.adb.tcp.port=*
    restart adbd

on property:service.adb.tcp.enable=1
    setprop service.adb.tcp.port 5555

on property:service.adb.tcp.enable=0
    setprop service.adb.tcp.port -1

Jetzt können Sie die Eigenschaft service.adb.tcp.enable verwenden, um die Überwachung an Port 5555 zu aktivieren oder zu deaktivieren. Führen Sie netstat aus, um zu überprüfen, ob die Überwachung erfolgt. Wie Sie sehen, wird es auch ausgelöst, wenn Sie service.adb.tcp.port manuell ändern möchten.

7
errordeveloper

Sie können auch die lokale SSH-Portweiterleitung verwenden. Es handelt sich jedoch immer noch um ein USB-Kabel. Verbinden Sie Ihr Telefon über USB mit einem Computer (Host), auf dem eine sshd ausgeführt wird. Starten Sie auf einem entfernten (Gast-) PC einen SSH-Client, der Portforwarding/Tunneling ausführen kann. Beispiel:

plink -L 5037:localhost:5037 <Host_IP_address>

Ich verwende diese Konstruktion, um mein Gerät mit einer virtuellen Maschine zu verbinden. Eltima USB to Ethernet war nicht stabil genug (Zeitüberschreitungen beim Debuggen).

SSH-Tunneln funktioniert kostenlos und ist zuverlässiger.

5
Ron

Ich finde die anderen Antworten verwirrend. Weitaus einfacher, adbWireless zu verwenden:

http://ppareit.github.com/AdbConnect/

Installieren Sie einfach eine App auf Ihrem Telefon, um das Debugging über WLAN umzuschalten, installieren Sie ein Eclipse-Plug-In und fertig.

4
user146043

Ich habe eine Batch-Datei für die automatische Aktivierung und Verbindung von ADB über TCP mit einem über USB verbundenen Gerät zusammengestellt. Damit müssen Sie die IP-Adresse nicht manuell eingeben.

@echo off
setlocal

REM Use a default env variable to find adb if possible
if NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools

REM If off is first parameter then we turn off the tcp connection.
if "%1%" == "off" goto off

REM Set vars
set port=%1
set int=%2
if "%port%" == "" set port=5557
if "%int%" == "" set int=wlan0

REM Enable TCP
adb -d wait-for-device tcpip %port%

REM Get IP Address from device
set shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"
for /f %%i in ('adb wait-for-device Shell %shellCmd%') do set IP=%%i

REM Connect ADB to device
adb connect %IP%:%port%

goto end

:fail
echo adbWifi [port] [interface]
echo adbWifi off
goto end

:off
adb wait-for-device usb

:end
3
Felizk

Hier ist eine Erweiterung zu Brians Antwort über Bluetooth:

  1. Verwenden Sie unter Linux Blueman, um das PC-Internet über Bluetooth mit Ihrem Gerät zu teilen:

    $ Sudo apt-get install blueman
    $ blueman-manager
    Pair them: Search devices after enabling Bluetooth
    on your phone and making it visible
    $ blueman-services
    Network > [X] Network Access Point (NAP)
    Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
    
  2. Verwenden Sie das Bluetooth-Netzwerk für ADB-Befehle:

    $ adb tcpip 5555
    $ adb connect $(adb Shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555
    

Sobald Sie fertig sind, um zum USB-Modus zurückzukehren:

$ adb disconnect
$ adb usb

Hinweis: Bluetooth 3.0 und 4.0 können bis zu 24 Mbit/s sein .

3
Wernight

Schritte :

  1. su - Um zum Superuser zu wechseln.
  2. setprop service.adb.tcp.port 5555 - Zur Angabe des TCP-Ports - 5555 ist hier die Portnummer
  3. stop adbd - Um den adbd-Dienst zu stoppen.
  4. start adbd - um den adbd-Dienst zu starten.

das funktioniert perfekt mit ssh von meinem Windows-PC

Ich versuche, dies auf meinem Cyanogen Mobile zu tun oder es mit Plink zu starten. Mit Plink kann ich Shell nicht mit su richtig starten ... Sudo oder su-Befehl funktioniert nicht. Beim Booten weiß ich nicht, wie es funktioniert! Mein Shell-Programm arbeitet von ssh mit su -c "sh /storage/sdcard1/start_adb.sh" mit den letzten 3 Befehlen (ohne su -)

Vielen Dank

3
beguinner

Bash util-Funktion:

function adb-connect-to-wifi {
    ip="$(adb Shell ip route | awk '{print $9}')"
    port=5555
    adb tcpip ${port}
    adb connect ${ip}:${port}
}
3
eleven

Sie müssen folgende Dinge tun:

  • Fügen Sie zunächst ADB zu Ihrem Umgebungspfad hinzu.
  • Geben Sie über Ihre CLI diesen Befehl ein adb connect YOUR_DEVICE_IP: PORT_NUMBER (Beispiel adb connect 192.168.100.100:5555 )
2
noman404

Ich habe eine bequeme Methode gefunden, die ich gerne teilen möchte.

Für Windows

Einmal USB-Zugang

Kein root erforderlich

Verbinden Sie Ihr Telefon und Ihren PC mit einem Hotspot, oder führen Sie einen tragbaren Hotspot von Ihrem Telefon aus aus und verbinden Sie Ihren PC damit.

Holen Sie sich die IP-Adresse Ihres Telefons wie von brian vorgeschrieben (Wird nicht benötigt, wenn Sie einen Hotspot von Ihrem Telefon erstellen)

adb Shell ip -f inet addr show wlan0

Öffnen Sie den Editor

Schreiben Sie diese

@echo off
cd C:\Android\android-sdk\platform-tools
adb tcpip 5555
adb connect 192.168.43.1:5555

Ändern Sie den oben angegebenen Speicherort dahin, wo sich auf Ihrem PC die Datei abd.exe befindet

Ändern Sie die IP-Adresse in die IP-Adresse Ihres Telefons. 

Hinweis : Die oben angegebene IP-Adresse ist die Basis-IP-Adresse eines Android-Geräts, wenn ein Hotspot erstellt wird. Wenn Sie eine Verbindung zu einem WLAN-Netzwerk herstellen und die IP-Adresse Ihres Geräts sich jedes Mal ändert, während Sie eine Verbindung zu einem Hotspot herstellen, können Sie es als statisch festlegen, indem Sie es innerhalb der WLAN-Einstellungen konfigurieren. Google es.

Speichern Sie jetzt die Datei als ABD_Connect.bat (MS-DOS-Stapeldatei).

Speichern Sie es irgendwo und verweisen Sie eine Verknüpfung auf die Desktop- oder Start-Schaltfläche.

Verbinden Sie sich einmal über USB und versuchen Sie, eine Anwendung auszuführen. Doppelklicken Sie anschließend auf die Verknüpfung, wenn Sie eine drahtlose Verbindung herstellen möchten.

Hinweis : Manchmal müssen Sie die Verknüpfung jedes Mal öffnen, wenn Sie die Anwendung debuggen. Das Erstellen einer Tastenkombination für die Verknüpfung auf dem Desktop ist daher bequemer. Ich habe eine Tastenkombination wie Ctrl+Alt+S gemacht. Wann immer ich debuggen möchte, drücke ich Shift+F9 und Ctrl+Alt+S

Hinweis : Wenn Sie im cmd-Fenster device = null error finden, überprüfen Sie Ihre IP-Adresse. Möglicherweise hat sich diese geändert.

1
Sayka

Auf meinem System ging es so:

Auf meinem Android-Gerät in meiner Linux-Shell gab mir ein einfaches "ifconfig" keine IP-Adresse. Ich musste schreiben:

ifconfig eth0

-oder-

netcfg

um meine IP-Adresse zu erhalten. (Ich wusste, dass eth0 konfiguriert wurde, weil ich es in meinem dmesg gesehen habe.) Dann tat ich das:

setprop service.adb.tcp.port -1

stop adbd

adbd starten

Dann auf meine Win7-Box (die Eclipse 3.7.1). Ich öffnete eine Eingabeaufforderung 

\ Android-sdk\Plattform-Tools>

ohne als admin zu laufen. Dann habe ich eine

aDB verbinden 12.345.678.90

Ich habe nie einen Hafen gelegt. Wenn ich eine 

adb tcpip 5555

es sagte, dass es das Gerät nicht finden konnte, dann erschien nichts in meiner Liste "Adb-Geräte". Das heißt es funktioniert nur, wenn ich nicht den tcpip-Befehl oben ausführt. 

Ich kann eine "Adb-Shell" erstellen und mit meinem Android-Gerät verwirren. Mein Android-Gerät wird jedoch momentan nicht auf der Registerkarte Run-> Run Configurations-> Target angezeigt. Auf der anderen Seite, wenn ich die Target-Registerkarte auf "Automatisch" setzen lasse. Wenn ich meine App über Ausführen ausführen, wird sie jedoch auf meinem Android-Gerät ausgeführt, obwohl mein Android-Gerät nicht einmal als eines meiner Ziele aufgeführt ist.

1
Joe C

Ich folgte den folgenden Schritten und es begann zu arbeiten, so dass ich mich mit meinem Android-Gerät verbinden kann.

Schritt 1: Öffnen Sie das Terminalfenster in Android-Geräten und führen Sie den folgenden Befehl aus.

  1. su - Um zum Superbenutzer zu wechseln.
  2. setprop service.adb.tcp.port 5555 - Zur Angabe des TCP-Ports - 5555 ist hier die Portnummer
  3. stop adbd - Stoppen des adbb-Dienstes.
  4. adbd starten - Zum Starten des Adbd-Dienstes.

Schritt 2: Führen Sie den folgenden Befehl über ADB aus (über den Pfad, auf dem ADB konfiguriert ist)

adb connect 10.10.10.50:5555 - Hier ist 10.10.10.50 die IP-Adresse des Android-Geräts und 5555 ist die Portnummer.

1
Avinash M

Ich habe das zum Laufen gebracht. Kein USB-Kabel verwendet.

  • app ADB Wireless. 
  • Starte es. Das wird IP und Port einstellen; Dann in dos

    cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"
    

In Verbindung gebracht.

1
lee

Noch ein Hinweis (hart erlernt): Sie sollten nicht gleichzeitig Ihre Firmen-VPN-Verbindung aktiv haben ... 

1
TuomasG

Verwenden Sie die adbwireless-App, um das Telefon zu aktivieren, und verwenden Sie dann adb connect vom Windows-Computer aus, um mit ihm zu sprechen. Die adbwireless-App am Telefon informiert Sie darüber, wie Sie eine Verbindung herstellen können, und gibt die IP-Adresse und alles an.

Die viel weniger spaßige Alternative besteht darin, eine Verbindung über USB herzustellen, dem Telefon mitzuteilen, dass TCPIP über adb tcpip 5555 verwendet wird, dann die USB-Verbindung zu trennen und adb connect zu verwenden. Dies ist viel schwieriger, da Sie auf diese Weise die IP-Adresse des Telefons selbst herausfinden müssen (adbwireless gibt die IP-Adresse an), Sie müssen sich über USB verbinden und Sie müssen adb tcpip ausführen (adbwireless kümmert sich auch darum).

Also: installiere adbwireless auf deinem Handy. Benutze es. Es ist möglich, ich mache das routinemäßig unter Linux und unter Windows.

1
ConcernedParty

Wenn Sie dies auf einer Schaltfläche tun möchten, klicken Sie auf und dann:

  1. In Android Studio -> Einstellungen/Voreinstellungen -> Plugins -> Repositorys durchsuchen
  2. Suche 'ADB wifi'
  3. Installieren und starten Sie Android Studio neu
  4. Verbinden Sie Ihr Gerät (mit aktiviertem USB-Debugging) über USB mit Ihrem Computer (dies ist nur einmal pro Sitzung erforderlich)
  5. Extras -> Android -> ADB WIFI -> ADB USB TO WIFI (Oder verwenden Sie die angegebene Tastenkombination. Für MacOS: Strg + Umschalt + W)

Hinweis: Wenn es nicht funktioniert hat:

  1. Die Firewall Ihres WLAN-Routers blockiert möglicherweise die Verbindung.
  2. ABD ist möglicherweise nicht auf Ihrem Computer installiert.
0
Abdul Wasae

adb kann über den TCP-Socket mit dem ADB-Server kommunizieren. Sie können dies über Telnet überprüfen.

$ telnet 127.0.0.1 5037
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
000chost:version
OKAY00040020

im Allgemeinen hat der Befehl das Format %04x%s with <message.length><msg> Das Folgende ist der Ruby-Befehl, der den Adb-Befehl cmd gegen den TCP-Socket socket sendet.

def send_to_adb(socket, cmd)
  socket.printf("%04x%s", cmd.length, cmd)
end

das erste Beispiel sendet den Befehl Host:version mit einer Länge von 12 (000c in hex) . Sie können einen aufregenderen Befehl wie framebuffer: genießen, der einen Screenshot aus dem Framebuffer macht, wie Sie aus dem Namen entnehmen können.

0
9re