Android Debug Bridge (ADB) Verbinding maken met apparaat via USB, WiFi

โšก Slimme samenvatting

Android Debug Bridge verbindt een werkstation met een emulator of een fysiek apparaat, opent een shell, installeert builds en stelt het apparaat beschikbaar aan automatiseringstools via een USB-kabel of een draadloze verbinding.

  • ???? Drie delen: ADB is een client, een achtergrondserver op TCP-poort 5037 en een daemon die op het apparaat draait.
  • โ˜‘๏ธ Eerste vereiste: USB-debugging moet zijn ingeschakeld in de ontwikkelaarsopties voordat er apparaten worden weergegeven.
  • โœ… Controleer de link: adb devices geeft een lijst weer van alle aangesloten emulators en handsets, inclusief hun serienummer.
  • ๐Ÿงช Target รฉรฉn apparaat: adb -s Verstuurt een commando naar รฉรฉn apparaat wanneer er meerdere zijn aangesloten.
  • ๏ธ Draadloze optie: Met `adb tcpip 5555` gevolgd door `adb connect` wordt een bestaande sessie overgezet naar Wi-Fi.
  • ๐Ÿ“Š Moderne apparaten: Android 11 en hoger maken verbinding via Wi-Fi met adb pair, dus er is helemaal geen kabel nodig.

Android Debug Bridge verbindt een apparaat via USB en Wi-Fi.

Wat is Android Debug-bridge (ADB)?

Android Debug Bridge (ADB) is een commandoregelprogramma waarmee je met een apparaat kunt communiceren. Het overbrugt een emulatorinstantie (Android apparaat) en het achtergronddaemonproces (server), zodat je builds kunt installeren, een apparaat kunt debuggen en commando's kunt uitvoeren via een Unix-shell.

Het gebruik van een echt apparaat voor mobiele automatisering. het testen van Dat is altijd een uitdaging geweest. Android biedt oplossingen om verbinding te maken via USB (Universal Serial Bus) โ€” namelijk Android Debug Bridge.

USB-foutopsporing en ADB-configuratie

Appium Tests kunnen op echte apparaten worden uitgevoerd, maar hiervoor moeten eerst de volgende voorwaarden worden vervuld.

  • USB-foutopsporing moet zijn ingeschakeld
  • ADB-configuratie
  • Gewenste capaciteitsconfiguratie volgens de hardwarewijzigingen.

We behandelen zowel een emulator als een echt apparaat. De stappen voor de emulator komen eerst aan bod.

Verbinding maken met een emulator

Vereiste: de SDK (Software Development Kit) moet op de machine geรฏnstalleerd zijn. ADB in Android is verpakt met Google's Android SDK's.

Stappen om ADB in te schakelen vanuit SDK Manager.

Stap 1) Open Android SDK-map

Stap 2) Double klik op SDK-beheer

Stap 3) Selecteer Tools uit de lijst met alle pakketten en vink het selectievakje aan voor

  • Android SDK-hulpmiddelen en
  • Android SDK Platform-tools.

De pakketlijst van SDK Manager met beide items aangevinkt, wordt hieronder weergegeven.

Android SDK Manager pakketlijst met Android SDK-tools en platformtools geselecteerd

โš ๏ธ Versie-opmerking: De bovenstaande zelfstandige SDK Manager is afgeschaft in SDK Tools 25.2.3 en de bijbehorende launcher is verwijderd in 25.3.0. Open dezelfde pakketlijst vanuit Android Studio (Tools > SDK Manager) of de sdkmanager CLI. Het pakket is nog steeds Android SDK-platformtools, Die bevat adb.

Hoe te verbinden Android Apparaat met ADB (Android Foutopsporingsbrug)

Stap 1) Schakel USB-debugging in op uw apparaat.

Schakel de USB-debuggingoptie in via 'Ontwikkelaarsopties' op de Android Sluit de telefoon aan op de computer met een USB-kabel, zoals hier weergegeven.

De USB-debugging-schakelaar is ingeschakeld in de ontwikkelaarsopties op een Android Telefoon

Stap 2) Ga naar uw Android SDK-map

Open de map waarin de Android SDK-bestanden zijn opgeslagen, 'Android SDK >> Platformtools โ€” bijvoorbeeld C:\android-sdk\platform-tools, hieronder weergegeven.

Windows Open Verkenner in de map platform-tools. Android SDK

Stap 3) Open het opdrachtvenster

Houd de volgende inhoud van de map vast: Shift Gebruik het rechtermuisklikmenu >> selecteer 'Opdrachtprompt hier openen', zoals hieronder weergegeven. Je kunt het mappad ook via de opdracht 'Uitvoeren' bereiken.

Shift plus het contextmenu dat verschijnt wanneer u met de rechtermuisknop klikt en 'Opdrachtprompt hier openen' wordt weergegeven

De opdrachtprompt wordt vervolgens geopend en is al gekoppeld aan de map platform-tools.

Het opdrachtpromptvenster is direct geopend in de map platform-tools.

Stap 4) Een extern apparaat aansluiten Android apparaat

Een extern apparaat aansluiten Android apparaat (mobiele telefoon) met de USB-kabel. Typ vervolgens in de bovenstaande opdrachtprompt:

'adb devices' & press Enter

Het zal een lijst weergeven van alle verbonden apparaten, zoals hieronder te zien is.

De uitvoer van het commando `adb devices` in de opdrachtprompt geeft een lijst weer van het serienummer van een aangesloten apparaat.

Controleer eerst of de ADB-server als achtergrondproces draait: typ 'adb' in dezelfde opdrachtprompt en druk op Enter. Er zou een lijst moeten verschijnen met de actieve ADB-processen.

Wanneer de server opstart, bindt deze de lokale TCP-poort 5037. Alle ADB-clients gebruiken poort 5037 om de server te bereiken, die vervolgens de poorten scant om alle verbonden emulators of apparaatinstanties te vinden.

De ADB-daemon draait op een oneven poortnummer en de bijbehorende emulatorconsole gebruikt de even poort ernaast. Android's ADB-documentatie Hiermee wordt het gescande bereik ingesteld op de oneven poorten 5555 tot 5585, waarmee de eerste 16 emulators worden afgedekt.

Als er slechts รฉรฉn apparaat is aangesloten, vindt de server dit automatisch en maakt er verbinding mee. Bij meerdere apparaten of emulators moet u het doelapparaat op de commandoregel specificeren. De instantie op oneven poort 5557 heeft zijn console op even poort 5556 โ€“ รฉรฉn oneven en รฉรฉn even poort.

emulator 1: console 5556
emulator 1: adb 5557
emulator 2: console 5554
emulator 2: adb 5555

Commando om alle aangesloten apparaten te detecteren:

<$ adb devices>
emulator-5554 device
emulator-5556 device
emulator-5558 device

Commando om รฉรฉn apparaat te detecteren uit meerdere aangesloten apparaten:

<$ adb -s emulator-5554 install Guru99.apk>

Het richt zich op de adb-verbinding voor apparaat 5554 en installeert de applicatie โ€” zo kun je een enkele ADB-instantie vanaf de commandoregel benaderen.

Syntax used to access ADB instances from the command line:
adb -d โ€” An adb command when a single USB device is connected
adb -e โ€” An adb command when only a single emulator is running
adb devices โ€” This will print the list of emulators / devices attached.
adb version โ€” List the adb version number.
adb help โ€” Print the list of supported commands.

Hoe configureer je ADB voor Wi-Fi-ondersteuning?

ADB kan ook via Wi-Fi worden geconfigureerd, waardoor het toestel tijdens langere gesprekken niet meer aan een kabel vastzit. Appium rennen.

Voorwaarde

  • Beide Android Het apparaat en de hostcomputer moeten met hetzelfde draadloze netwerk verbonden zijn.
  • De Bluetooth-optie van het apparaat moet worden uitgeschakeld.

Stappen om verbinding te maken:

  1. Sluit het apparaat met een USB-kabel aan op de hostcomputer. Controleer of USB-debugging is ingeschakeld op het apparaat.
  2. Stel het doelapparaat in om te luisteren naar een TCP/IP-verbinding op poort 5555.
    $ adb tcpip 5555

De opdrachtprompt bevestigt de overschakeling naar de TCP/IP-modus, zoals hieronder weergegeven.

De opdrachtprompt toont de opdracht `adb tcpip 5555` waarmee de daemon opnieuw wordt opgestart in TCP-modus.

  1. Koppel nu de USB-kabel los van het apparaat.
  2. Zoek op het apparaat het IP-adres onder Instellingen >> Wi-Fi-instellingen >> Geavanceerd >> IP-adres. Maak verbinding en bevestig de sessie.
    $ adb connect 148.100.1.17:5555
    $ adb devices
    List of devices attached
    148.100.1.17:5555 device

De configuratie is nu voltooid en 'adb' werkt via het draadloze netwerk.

โš ๏ธ Versie-opmerking: De bovenstaande kabel-eerst-sequentie blijft de enige route op Android 10 en lager. Android Vanaf versie 11 (API 30) en hoger is draadloze foutopsporing toegevoegd: schakel dit in via de ontwikkelaarsopties. Koppelen met behulp van de koppelingscode, ren dan adb pair ipaddr:port Voer de code in. Geen kabel nodig.

LET OP: als er een verbindingsfout optreedt, verbreek dan de adb-hostverbinding hieronder en maak vervolgens opnieuw verbinding vanaf stap รฉรฉn.

$ adb kill-server

Als je op zoek bent naar een emulator, kijk dan hier. lijst van de beste Android emulators voor Windows.

Veelgestelde vragen

De prompt voor de RSA-toets op het toestel werd nooit geaccepteerd. Ontgrendel het scherm, sluit de kabel opnieuw aan en tik op 'USB-foutopsporing toestaan'. Als er geen prompt verschijnt, trek dan de machtigingen voor USB-foutopsporing in via de ontwikkelaarsopties en probeer het opnieuw.

Machine learning-groepen gebruiken vrijwel identieke stacks. tracDe gegevens uit logcat rangschikken crashes op basis van de getroffen sessies en markeren de eerste commit die waarschijnlijk een regressie heeft veroorzaakt, zodat een tester slechts een handvol clusters hoeft te lezen in plaats van duizenden regels.

Copilot voert routinematige lussen uit over adb-apparaten, installeert en haalt commando's op uit een opmerking. Controleer elk gegenereerd commando eerst op รฉรฉn handset, omdat een verkeerde vlag applicatiegegevens kan wissen zonder bevestigingsprompt.

Gebruik `adb install` met het pad naar het APK-bestand, voeg de `-r` vlag toe om opnieuw te installeren over een bestaande build, en gebruik `adb uninstall` met de pakketnaam om het te verwijderen. Voeg `-s` toe om รฉรฉn apparaat te selecteren.

Controleer of USB-debugging is ingeschakeld, probeer een kabel die ook data kan verzenden in plaats van een kabel die alleen kan opladen, en installeer het USB-stuurprogramma van de fabrikant. Windowsen voer vervolgens `adb kill-server` en daarna `adb devices` uit om de daemon opnieuw te starten.

adb tcpip schakelt een bestaande USB-sessie over naar een netwerkpoort en werkt in elke versie. adb pair gebruikt het scherm voor draadloze foutopsporing dat is toegevoegd in Android 11 en heeft op geen enkel moment een kabel nodig.

Nee. Het adb-binair bestand wordt meegeleverd in de Android Het SDK Platform-tools-pakket kan afzonderlijk worden gedownload. Voeg die map toe aan je PATH en de opdracht werkt vanuit elke map.

Gebruik `adb logcat` om het systeemlogboek te streamen en `adb logcat > log.txt` om het op te slaan. Voeg `adb bugreport` toe voor een volledig diagnostisch archief wanneer je bewijsmateriaal aan een defect wilt koppelen.

Vat dit bericht samen met: