Frage Ausführen / Installieren / Debuggen von Android-Anwendungen über WLAN?


Ich dachte, es gibt eine Möglichkeit, Ihre Anwendungen in der Entwicklung über WLAN zu testen. Ist das möglich?

Ich würde gerne in der Lage sein, mein Telefon zu trennen und drahtlos zu entwickeln.


764
2018-02-04 02:23


Ursprung


Antworten:


Siehe Forenbeitrag Gibt es eine Möglichkeit, den Android-Bildschirm ferngesteuert ohne root anzuzeigen? - Post # 9.

  1. Verbinden Sie das Gerät über USB und stellen Sie sicher, dass das Debugging funktioniert.
  2. adb tcpip 5555
  3. finde die IP-Adresse mit adb shell netcfg oder adb shell ifconfig mit 6.0 und höher
  4. adb connect <DEVICE_IP_ADDRESS>:5555
  5. Trennen Sie den USB-Anschluss und fahren Sie mit dem drahtlosen Debugging fort.
  6. adb -s <DEVICE_IP_ADDRESS>:5555 usb zurückschalten, wenn Sie fertig sind.

Keine Wurzel erforderlich!

Um die IP-Adresse des Geräts zu finden: run adb shell und dann netcfg. Du wirst es dort sehen. Um die IP-Adresse während der Verwendung von OSX zu finden, führen Sie den Befehl aus adb shell ip route.


WARNUNGWenn die aktivierte Option gefährlich ist, kann sich jeder in Ihrem Netzwerk mit dem Gerät im Debug verbinden, selbst wenn Sie sich im Datennetzwerk befinden. Tun Sie es nur, wenn Sie mit einem vertrauenswürdigen WLAN verbunden sind, und vergessen Sie nicht, es zu trennen, wenn Sie fertig sind!


@Sergei schlug vor, dass Zeile 2 geändert werden sollte, kommentieren: "-d-Option benötigt, um eine Verbindung mit dem USB-Gerät herzustellen, wenn die andere Verbindung bestehen bleibt (z. B. Emulator verbunden oder andere Wi-Fi-Gerät)".

Diese Information könnte sich für zukünftige Leser als wertvoll erweisen, aber ich habe auf die ursprüngliche Version zurückgesetzt, die 178 Upvotes erhalten hat.


Auf irgendeinem Gerät Sie können das Gleiche tun wenn Sie kein USB-Kabel haben:

  1. Aktivieren Sie ADB über Netzwerk in den Entwicklereinstellungen Screenshot Showing the option on Es sollte die IP-Adresse zeigen
  2. adb connect <DEVICE_IP_ADDRESS>:5555
  3. Deaktivieren Sie die Einstellung, wenn Sie fertig sind

Mit Android Studio gibt es ein Plugin Damit können Sie USB-Debugging verbinden, ohne einen ADB-Befehl von einem Terminal zu verwenden.


1316
2018-04-19 21:19



(Keine Wurzel erforderlich) Es gibt eine beste, einfache und mit UI-Methode für Android Studio

IntelliJ und Android Studio-Plugin erstellt, um Ihr Android-Gerät schnell über WiFi zu verbinden, um Ihre Anwendungen zu installieren, auszuführen und zu debuggen, ohne dass ein USB-Gerät angeschlossen ist. Drücken Sie eine Taste und vergessen Sie Ihr USB-Kabel.

Installiere einfach das Plugin Android WiFi ADB

Downloaden und installieren Sie Android WiFi ADB direkt von

Intellij / Android Studio: Einstellungen / Einstellungen-> Plugins-> Durchsuchen von Repositories

enter image description here

enter image description here

.

Merken! Um das Gerät zum ersten Mal zu initialisieren, müssen Sie sich mit USB verbinden

Alternativ können Sie das Plugin von der JetBrains Plugin-Site herunterladen und manuell installieren: Einstellungen / Einstellungen-> Plugins-> Plugin von der Festplatte installieren.

Sie können Ihre Geräte einfach verbinden und verwalten ....... mehr Informationen finden Sie hier https://github.com/pedrovgs/AndroidWiFiADB


68
2017-08-25 07:43



Wenn Sie das drahtlose adb auf dem Gerät ohne Verbindung mit einem USB-Kabel aktivieren möchten überhaupt (root erforderlich):

  1. Installieren Sie eine Terminal-App auf dem Gerät (wie Android Terminal Emulator) Geben Sie Folgendes ein
  2. su
  3. setprop service.adb.tcp.port 5555
  4. stopp adbd
  5. Start adbd

Da Sie das Terminal bereits geöffnet haben, finden Sie die IP-Adresse des Geräts:

ip addr show

Führen Sie dann in Ihrer Debugging-Umgebung den Befehl run:

adb connect ip.of.the.device

Dadurch wird das Gerät wie jeder andere Emulator aufgeführt. Beachten Sie, dass das TCP geöffnet bleibt, bis Sie das Gerät zurücksetzen. Möglicherweise möchten Sie auch eine Wi-Fi Keep Alive-App installieren, wenn häufig Verbindungsabbrüche auftreten.

Denken Sie daran, das TCP zu schließen, wenn Sie sich mit öffentlichen Netzwerken verbinden, wenn Sie sich sicher fühlen möchten. Sie können Folgendes tun oder das Gerät einfach neu starten:

  1. su
  2. setprop service.adb.tcp.port -1
  3. stopp adbd
  4. Start adbd

35
2017-11-12 21:30



Das adb-Dienstprogramm kann über TCP / IP eine Verbindung mit einem Gerät herstellen. Adbd hört normalerweise nicht auf TCP-Verbindungen.

Wenn Sie es zum Laufen bringen wollen, brauchen Sie ein Engineering-Gerät (mit anderen Worten, Sie brauchen root). Folgen Sie dann den Anweisungen in diesem Post:

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

Da dies nur auf Geräten in englischer Sprache funktioniert, wird es nicht offiziell unterstützt. Verwenden Sie auf eigene Gefahr, erwarten Sie Fehler usw.


33
2018-02-04 03:13



Für alle gibt es das eine bessere Methode (Einfachste Methode):

1) Ein Plugin für Android Studio-Exits, genannt Android WLAN ADB 

2) Gehe zu Datei -> Einstellungen -> Plugins -> Repositories durchsuchen

3) Suchen Sie nach Android WiFi ADB  , klicke auf INSTALLIEREN , und dann bei Aufforderung neu starten

4) Sie werden sehen a Neues Symbol , das ist dein neues Plugin.

Jetzt um das zu schaffen :

5) Gehe zur Entwickleroption deines Handys und aktiviere DEBUGGING (muss)

6) Aktivieren Sie auch, ERLAUBEN DEBUG ÜBER TCP / NETZWERK

7) Schließen Sie Ihr Telefon über an USB und stellen Sie sicher, dass sowohl Ihr Telefon als auch Ihr PC / Laptop mit demselben Netzwerk verbunden sind (entweder Hotspot oder WLAN)

8) KLICKEN SIE AUF DAS NEUE ICON (dh dein ANDROID Wifi ABD)

9) Ihr Telefon wird erkannt und bekommen über WLAN / Hotspot verbunden und deshalb kannst du jetzt Trennen Sie den USB . Dies ist ein einmaliger Vorgang, daher müssen Sie das Telefon möglicherweise nicht über USB verbunden halten.

Dies wird Ihr Telefon vor unregelmäßigen Gebühren und auch ein Heilmittel für kurze USB-Kabel speichern.


23
2018-05-18 06:40



Ich habe meine Antwort gefunden Hier:

  1. Verbinden Sie das Android-Gerät und den adb-Host-Computer mit einem gemeinsamen Wi-Fi-Netzwerk, auf das beide zugreifen können. Wir haben festgestellt, dass nicht alle Zugangspunkte geeignet sind. Möglicherweise müssen Sie einen Zugriffspunkt verwenden, dessen Firewall ordnungsgemäß zur Unterstützung von adb konfiguriert ist.
  2. Verbinden Sie das Gerät mit dem USB-Kabel mit dem Host.
  3. Stellen Sie sicher, dass adb im USB-Modus auf dem Host ausgeführt wird.

    $ adb usb
    restarting in USB mode
    
  4. Verbinden Sie sich über USB mit dem Gerät.

     $ adb devices
     List of devices attached
     ######## device
    
  5. Starten Sie Host-Adb im Tcpip-Modus neu.

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    
  6. Ermitteln Sie die IP-Adresse des Android-Geräts: Settings -> About tablet -> Status -> IP address. Merken Sie sich die IP-Adresse des Formulars #.#.#.#. manchmal ist es nicht möglich, die IP-Adresse des Android-Geräts zu finden, wie in meinem Fall. So können Sie es mit adb wie folgt erhalten: $ adb Shell netcfg und das sollte in der letzten Zeile des Ergebnisses sein.

  7. Verbinden Sie adb host mit dem Gerät:

    $ adb connect #.#.#.#
    connected to #.#.#.#:5555
    
  8. Entfernen Sie das USB-Kabel vom Gerät und bestätigen Sie, dass Sie weiterhin auf das Gerät zugreifen können:

    $ adb devices
    List of devices attached
    #.#.#.#:5555 device
    

Du bist jetzt gut zu gehen!

Wenn die adb-Verbindung jemals verloren geht:

  1. Stellen Sie sicher, dass Ihr Host immer noch mit demselben Wi-Fi-Netzwerk verbunden ist wie Ihr Android-Gerät.
  2. Stellen Sie die Verbindung wieder her, indem Sie den Schritt "adb connect" erneut ausführen.
  3. Oder wenn das nicht funktioniert, setze deinen adb-Host zurück:

     adb kill-server
    

und dann von vorne beginnen.


23
2017-08-12 04:33



Ich hab geschrieben ein Shell-Skript mit dem Sie ein Android-Gerät über Wi-Fi debuggen können.

Hier ist der Code:

#!/usr/bin/env bash
#Notice: if unable to connect to [ip]:5555,
#try adb kill-server then try again.

adb shell ip route > addrs.txt
#Case 1:Nexus 7
#192.168.88.0/23 dev wlan0  proto kernel  scope link  src 192.168.89.48

#Case 2: Smartsian T1,Huawei C8813
#default via 192.168.88.1 dev eth0  metric 30
#8.8.8.8 via 192.168.88.1 dev eth0  metric 30
#114.114.114.114 via 192.168.88.1 dev eth0  metric 30
#192.168.88.0/23 dev eth0  proto kernel  scope link  src 192.168.89.152  metric 30
#192.168.88.1 dev eth0  scope link  metric 30

ip_addrs=$(awk {'if( NF >=9){print $9;}'} addrs.txt)

echo "the device ip address is $ip_addrs"

echo "connecting..."

rm addrs.txt

adb tcpip 5555

adb connect "$ip_addrs"

8
2017-09-17 11:55