Android ADB stellt eine Verbindung zu einem Gerät mit defektem USB und ohne Root her

Ich habe den Thread unten durchgelesen und bin auf 2 Lösungen gestoßen, um ein Gerät mit ADB zu verbinden.

https://stackoverflow.com/questions/4893953/android-run-install-debug-applications-over-wifi/19940301#19940301

Die erste ist die Verwendung von USB, und dies ist keine Option, da der USB-Anschluss an meinem Droid Razr Maxx kaputt ist. Die zweite ist über WLAN, aber mit Root-Berechtigungen.. und ich möchte mein Telefon nicht wirklich rooten.

Kann ich kein striktes WLAN ohne Root verwenden, um ADB einzurichten?

Ich glaube nicht, dass du das kannst. Sie können jedoch Anwendungen aus E-Mail-Anhängen, Websites, die mit dem richtigen Mime-Typ bereitgestellt werden, usw. installieren
@bughi Der USB-Anschluss ist kaputt und hätte im Rahmen der Garantie repariert werden können, und dann möchten Sie nicht rooten. Gibt es einen Grund, das Gerät nicht zu rooten?
@Firelord Einige Geräte können nicht gerootet werden Husten verizon Husten .
@ChrisStratton Neben der Installation von Anwendungen gibt es viele Gründe für die Verwendung von ADB
@Michael natürlich gibt es andere geringere Gründe. Aber der wörtliche Name ist "Android Debug Bridge", was die primäre Verwendung zum Installieren und Abrufen von Debug-Meldungen von Apps, die entwickelt werden, impliziert. Ein Gerät mit unterbrochener Datenkonnektivität am USB-Anschluss behält weiterhin die Möglichkeit, neue Builds von Apps zu installieren, die mit den anderen unterstützten Sideloading-Methoden entwickelt werden, wenn „unbekannte Quellen“ in den Einstellungen aktiviert sind.

Antworten (3)

Ich habe das selbst nicht ausprobiert, aber es gibt eine App namens ADB Wireless (kein Root) , die, wie der Name schon sagt, behauptet, dies ohne Beteiligung von Root zu ermöglichen:

Diese App ist für Entwickler gedacht, die adb-Zugriff über WLAN wünschen, ohne Ihr Telefon zu rooten.

*** KEIN ROOT ERFORDERLICH ***

Gebrauchsanweisungen finden Sie auf der Playstore-Seite der App – sieht ziemlich einfach und geradlinig aus. Und die Berechtigungen sehen phantastisch aus: nichts, was nicht notwendig oder erklärbar ist. Tatsächlich nur eine einzige, um WiFi-Verbindungen anzuzeigen. Also keine Werbung oder Spyware zu erwarten ;)


Gleiches gilt für eine App namens ADB Wireless (no-root) (ja, gleicher Name – anderer Entwickler), die jedoch anscheinend nicht mehr gepflegt wird (letzte Veröffentlichung war 6/2013):

die erste Android-Anwendung im Google Play Store, die eine drahtlose ADB-Verbindung ohne Root bietet.

Fragt jedoch ein paar mehr Berechtigungen (ua volles Netzwerk).


Beachten Sie jedoch, dass all diese Nicht-Root-Lösungen anscheinend eine (USB-)Kabelverbindung für die Ersteinrichtung erfordern – daher gibt es wahrscheinlich nichts für Ihren speziellen Fall.


Fazit:

Keine App dafür, wenn Ihr USB-Anschluss kaputt ist. Wenn Sie also Ihren kaputten Port nicht reparieren lassen oder Ihr Gerät rooten, sehe ich keine Möglichkeit, ADB drahtlos zum Laufen zu bringen. Da die Initialisierung mehr Berechtigungen erfordert als jeder "Standardbenutzer" auf Android, gibt es auch keine Befehlszeilentricks, es sei denn, Sie haben bereits Root-Zugriff: Die Initialisierung über USB nutzt die erhöhten Berechtigungen des ADB-Daemons, die nur so zugänglich sind.

Für andere Leser:

Bei der anfänglichen Formulierung meiner Antwort wurde diese Tatsache ausgelassen, da der USB-Anschluss des OP defekt / unbrauchbar ist: Wenn Ihr USB-Anschluss funktionsfähig ist und Sie ein USB-Kabel zum Anschließen verwenden können, benötigen Sie keinen dieser ausgefallenen Enabler Apps (siehe hier für mehr), nur um ADB drahtlos verwenden zu können (obwohl einige nützlich sein könnten, wenn sie z. B. ein Plugin anbieten, damit Sie drahtloses ADB in Ihrem Heimnetzwerk automatisch aktivieren und ausschalten können, wenn Sie es verlassen) . Wie Firelord in seinem Kommentar betonte und Lucky mit einem Beitrag auf SO verknüpfte , sind die Schritte zum Aktivieren von drahtlosem ADB einfach:

  1. Aktivieren Sie das auf Ihrem Gerät
  2. Verbinden Sie Ihr Gerät über ein USB-Kabel mit Ihrem Computer
  3. auf Ihrem Computer ausführen adb tcpip <IP address>:<PORT>(z. B. adb tcpip 192.168.1.50:5555– finden Sie die richtige IP-Adresse in den WLAN-Eigenschaften Ihres Android-Geräts).
  4. noch auf Ihrem Computer, führen Sie adb connect <PORT>(zB adb connect 5555)
  5. Ziehen Sie Ihr USB-Kabel ab, es muss nicht mehr angeschlossen werden – ADB läuft jetzt über WLAN
+1 dazu, aber ich denke adb tcpip <PORT>-> adb connect IP:PORT-> adb shellkann auch hinzugefügt werden. Tatsächlich machen diese Nicht-Root-Apps wahrscheinlich dasselbe.
@Firelord Das könnte gut sein. Aber sie können dies nur tun, wenn sie es mit „erhöhten Rechten“ ausführen – entweder über root oder über den ADB-Daemon. Ohne Root ist das also ein „Huhn-und-Ei“-Problem: Sie benötigen ADB-Zugriff, um diese Befehle auszuführen, um ADB-Zugriff zu erhalten. IOW: In dieser konkreten Situation lautet die Antwort „nein, nicht möglich“. Es sei denn, ich habe etwas übersehen – was ich nicht sagen möchte, ist unmöglich, aber zumindest unwahrscheinlich.
@Izzy Ich habe gerade die erste App installiert und funktioniert wie in der Playstore-Beschreibung beschrieben einwandfrei. Ich konnte nicht verstehen, wofür diese App verwendet wurde. Ich weiß, dass wir adb-Befehle über WLAN ausführen können. Bei nicht gerooteten Telefonen funktioniert es nur, wenn wir über ein USB-Kabel verbunden sind. Wie funktioniert dann diese App mit dem Namen Wireless? Es macht nur Sinn, wenn alle Geräte, die mit diesem WLAN verbunden sind, adb-Befehle über WLAN an dieses Gerät senden können. Ist das überhaupt möglich - nur zur Klarstellung? ;)
Und für Entwickler verwenden die oben genannten Apps dasselbe Konzept, das in dieser Antwort von SO erwähnt wird .
@Lucky, dafür sind diese Apps da ( weitere Informationen finden Sie hier ): Aktivieren des Geräts, um über WLAN auf ADB-Befehle zu warten. Alle Geräte, die mit demselben Netzwerk verbunden sind, könnten dann einen adb connectBefehl ausgeben, gefolgt von adb shell, adb install, oder anderen ADB-Befehlen. Diese Apps dienen nichts anderem als dem Starten der TCP/IP-Schnittstelle für ADB, die standardmäßig deaktiviert ist. Wenn Ihre USB-Verbindung also funktioniert, benötigen Sie keine solche App – sondern könnten einfach die Befehle aus Ihrem verlinkten SO-Post verwenden, richtig.
Jederzeit, @Lucky. Vielleicht sollte ich das wirklich in meine Antwort aufnehmen. Ich habe das weggelassen, da der USB-Anschluss des OP sowieso kaputt ist – aber ich sollte "andere Leser" nicht verwirren, in Ordnung :)
Ist es möglich, dass Sie nach dem Anschließen Ihres USB-Geräts nie wieder eine Verbindung herstellen und WLAN-ADB aktivieren / deaktivieren müssen, ohne die Verbindung jemals wieder herzustellen? Ich muss die Einrichtung einiger Konfigurationen automatisieren, die nur mit ADB durchgeführt werden können und die mein Telefon regelmäßig "vergisst", und mein Telefon ist nicht rootbar
@Michael ohne Root Mir ist eine solche Möglichkeit nicht bekannt.

Wenn Sie Ihr Telefon noch nie mit dem Computer verbunden haben, haben Sie möglicherweise Pech. Seit den späteren Versionen von 4.X (ich denke mindestens JB 4.3) müssen Sie den Hostcomputer autorisieren, sich über ADB zu verbinden, das beim ersten Verbinden mit USB angezeigt wird.

Bei der Verwendung von WLAN MUSS diese Autorisierung bereits eingerichtet sein, sonst wird die ADB-über-WLAN-Verbindung nicht akzeptiert.

Dies ist jetzt für Geräte mit Android 11 oder höher möglich.

Es gibt ein Wireless debuggingMenü unter Developer options. Die Kopplung erfolgt über einen 6-stelligen Kopplungscode oder einen QR-Code.

So verwenden Sie den Kopplungscode:

  1. erhalten Sie die IP-Adresse, den Port und den Wi-Fi-Pairing-Code von Developer options/Wireless debugging/ Pair device with pairing code,
  2. Koppeln Sie das Gerät mit einem Terminal:
    adb pair IP:port pairing-code
    

Sie können jetzt eine Verbindung herstellen. Holen Sie sich Ihre Portnummer vom Wireless debuggingBildschirm Ihres Telefons (Achtung, der Verbindungsport unterscheidet sich höchstwahrscheinlich vom Pairing-Port) und verbinden Sie sich vom Terminal aus:

adb connect IP:port

Die Menüoptionen können auf Ihrem Android-Build etwas anders benannt sein. Die oben genannten stammen von Android 11 und werden Mi 9Tmit MIUI 12.1.1.0installiertem Betriebssystem ausgeführt.

Wenn Sie möchten, können Sie auch die Kopplungsschnittstelle von Android Studio verwenden. Die Anleitung ist hier .

Für beide Optionen benötigen Sie platform-tools32 oder höher. Derzeit kann es hier heruntergeladen werden .