Entwickeln
Entwickeln
Deine Plattform auswählen

ADB mit Meta Quest verwenden

Android Debug Bridge (ADB) ist ein im Android SDK enthaltenes Befehlszeilentool für die Kommunikation mit Meta Quest-Headsets in sämtlichen Entwicklungsphasen. ADB ist ein vielseitiges Tool, das zum Installieren von Apps und zum Übermitteln anderer wichtiger Befehle vom Computer zum Headset benötigt wird.
Dieser Leitfaden beschreibt häufig verwendete Aktionen, aber du solltest dich auch mit der offiziellen Android-Dokumentation vertraut machen.
Gib nach der Installation von ADB Folgendes ein, um eine Liste der verfügbaren Befehle und Optionen abzurufen:
adb help

Mit ADB eine Verbindung zu einem Gerät herstellen

In der OS-Shell kannst du entweder direkt über USB oder über TCP/IP über eine WLAN-Verbindung eine Verbindung zu einem Android-Gerät herstellen und mit diesem kommunizieren.
Um ein Gerät über USB zu verbinden, schließe es über ein kompatibles USB-Kabel an den PC an. Sobald es verbunden ist, öffne eine OS-Shell und gib Folgendes ein:
adb devices
Wenn das Gerät ordnungsgemäß verbunden ist, zeigt ADB die Geräte-ID-Liste an, die in etwa wie folgt aussieht:
List of devices attached
    ce0551e7                device
Du kannst ADB nicht verwenden, wenn kein Gerät erkannt wurde. Sollte dein Gerät nicht aufgeführt sein, hast du wahrscheinlich nicht den richtigen USB-Treiber installiert (siehe Oculus ADB-Treiber). Vergewissere dich zudem, dass der Entwicklungsmodus für dein Gerät in der mobilen Meta Horizon-App aktiviert ist. Manchmal kann ein anderes USB-Kabel oder ein anderer Port Verbindungsprobleme lösen.

ADB über WLAN verbinden

Die Verbindung eines Geräts über USB ist in der Regel schneller als eine TCP/IP-Verbindung. In manchen Fällen kann jedoch eine TCP/IP-Verbindung unverzichtbar sein.
Stelle für die Verbindung über TCP/IP zunächst sicher, dass das Gerät bereits über USB verbunden ist, und verwende anschließend diesen Befehl, um die IP-Adresse des Geräts zu bestimmen:
adb shell ip route
Die Ausgabe sollte in etwa so aussehen:
10.0.30.0/19 dev wlan0  proto kernel  scope link  src 10.0.32.101
Die IP-Adresse des Geräts steht hinter src. Führe unter Verwendung der IP-Adresse und des Ports (in der Regel 5555) die folgenden Befehle aus:
adb tcpip <port>
adb connect <ipaddress>:<port>
Zum Beispiel:
> adb tcpip 5555
    restarting in TCP mode port: 5555
> adb connect 10.0.32.101:5555
    connected to 10.0.32.101:5555
Das Gerät kann nun vom USB-Port getrennt werden. Solange adb devices nur ein Gerät zeigt, werden alle ADB-Befehle für das Gerät über WLAN ausgeführt.
Damit die WLAN-Verbindung nicht mehr verwendet wird, führe den folgenden ADB-Befehl in der OS-Shell aus:
adb disconnect

ADB für die Installation von Apps verwenden

Für die Installation eines APK auf dem Mobilgerät mit ADB musst du eine Verbindung zum Zielgerät herstellen und die Verbindung mit ADB-Geräten wie oben beschrieben prüfen. Installiere anschließend das APK mit dem folgenden Befehl:
adb install <apk-path>
Verwende die Option -r, um ein vorhandenes APK mit demselben Namen auf dem Zielgerät zu überschreiben. Zum Beispiel:
adb install -r C:\Dev\Android\MyProject\VrApp.apk
Beachte, dass bei dieser Art der Installation die normale Quest-Installationsroute umgangen wird. Daher nehmen Cloud-Backups die Installation dieser App nicht wahr und führen keine Backups durch.
Weitere Informationen findest du im Abschnitt App installieren des Android-Leitfadens für Android Debug Bridge.

Verbindungsprobleme beheben

Die nachfolgenden Abschnitte enthalten mögliche Lösungen für häufige Verbindungsprobleme mit ADB.

Computer erkennt das Gerät nicht

Es kann mehrere Gründe dafür geben, dass dein Computer das Headset nicht erkennt. Hier ein paar Vorschläge:
  • Stelle sicher, dass der Entwicklungsmodus in der Meta Quest-App auf deinem Mobilgerät aktiviert ist.
  • Prüfe, ob das Problem durch ein fehlerhaftes USB-Kabel verursacht wird. Verbinde das Gerät über ein zweites USB-Kabel. Wenn du kein zweites USB-Kabel hast, verbinde das Gerät mit einem anderen Android-Gerät, um zu prüfen, ob das Problem auf das USB-Kabel zurückzuführen ist.
  • Stelle sicher, dass dein Computer über alle notwendigen Berechtigungen verfügt, um auf dein Headset zuzugreifen. Normalerweise wird eine Aufforderung angezeigt, deinem Computer den Zugriff auf das Gerät zu gestatten, wenn du das Gerät über ein USB-Kabel mit dem Computer verbindest. Wenn der Zugriff verweigert wurde, trenne das USB-Kabel vom Gerät, führe einen Neustart des Geräts durch und verbinde das Kabel erneut. Wenn die Aufforderung zur Zugriffsberechtigung angezeigt wird, wähle Allow (Erlauben) aus.
  • Auf einigen Geräten wird verhindert, dass das Gerät richtig erkannt wird, weil die Verbindung hergestellt wird, während eine VR-App läuft oder während ADB auf ein Gerät wartet. In diesen Fällen kannst du versuchen, die App zu beenden und ADB zu stoppen, indem du Strg-C verwendest, bevor du das Gerät erneut verbindest. Alternativ kann der ADB-Service mit dem folgenden Befehl gestoppt werden. Im Anschluss wird der ADB-Service automatisch neu gestartet, wenn der Befehl ausgeführt wird:
adb kill-server

Terminal gibt Fehler aus: adb-Befehl nicht gefunden

  • Prüfe zunächst, ob adb korrekt installiert ist. Gehe zum Ordner /Android/SDK/platform-tools/ und suche nach dem adb-Tool. Wenn das Tool fehlt, lade das Standalone-Paket Android SDK Platform-Tools herunter.
  • Überprüfe, ob du die Umgebungsvariablen korrekt eingestellt hast.
  • Du kannst adb aus dem Ordner /Android/SDK/platform-tools/ ausführen, indem du das Präfix ./ an den adb-Befehl anhängst. Anstelle von adb devices verwendest du zum Beispiel ./adb devices.

Es sind mehrere Geräte gleichzeitig verbunden

Häufig sind mehrere Geräte gleichzeitig angeschlossen, und dies ist oft hilfreich zum Debuggen von Client-/Server-Anwendungen. Beachte, dass ADB ein Gerät als zwei Geräte anzeigt, wenn das Gerät gleichzeitig über WLAN und USB verbunden ist. Wenn mehrere Geräte aufgeführt werden, muss an ADB kommuniziert werden, welches Gerät anvisiert werden soll. Dazu verwendest du den -s-Schalter. Berücksichtige zum Beispiel, ob adb devices Folgendes angezeigt hat:
List of devices attached
    ce0551e7                device
    10.0.32.101:5555        device
Bei den aufgeführten Geräte könnte es sich um zwei separate Geräte handeln oder um ein Gerät, das sowohl über WLAN als auch über USB verbunden ist (vielleicht, um den Akku aufzuladen). In diesem Fall müssen alle ADB-Befehle die folgende Form haben, bei der <device id (Geräte-ID) die Kennung ist, die von adb devices berichtet wird:
adb -s <device id> <command>
Um zum Beispiel einen logcat-Befehl an das Gerät auszugeben, das über TCP/IP verbunden ist:
adb -s 10.0.32.101:55555 logcat -c
Um den gleichen Befehl an das Gerät auszugeben, das über USB verbunden ist:
adb -s ce0551e7

Mehr dazu

In den folgenden Ressourcen findest du mehr Informationen über Entwicklungstools: