ADB (Android Debug Bridge) — är ett mångfunktionellt konsolverktyg som ingår i Android SDK. Det gör det möjligt för datorn att direkt interagera med en Android-enhet via USB-kabel eller via Wi-Fi. Med ADB kan du installera och avinstallera appar, kopiera filer, köra shell-kommandon, visa systemloggar, ta skärmbilder och spela in skärmen, hantera inställningar och till och med utföra automatiserade tester. Verktyget är oumbärligt för utvecklare, testare och entusiaster som vill få fullständig kontroll över enheten.
Huvudpunkter
Android Debug Bridge (ADB) — är en klient-serverapplikation som består av tre komponenter: en klient (körs på datorn), en server (bakgrundsprocess på datorn) och en demon adbd (körs på själva Android-enheten). När en utvecklare eller ingenjör ansluter en smartphone till datorn skapar ADB en tillförlitlig kommunikationskanal genom vilken kommandon, filer och data kan överföras.
De huvudsakliga användningsscenarierna för ADB inkluderar felsökning av appar på en verklig enhet utan att behöva publicera APK:n i butiken, extrahera loggar för felanalys, automatisera testning, säkerhetskopiera data, flasha recovery-avbildningar och få root-åtkomst. Även om du inte skriver kod kan ADB vara användbart för att extrahera skärmbilder från appar, spela in en videoguide från telefonskärmen eller återställa enheten efter en misslyckad flashning.
ADB-stöd är inbyggt i alla officiella Android-byggen från och med version 2.1 (API 7). För att fungera krävs att alternativet "USB-felsökning" är aktiverat i utvecklarinställningarna. Från och med Android 4.2 begär enheten bekräftelse vid första anslutningen: du måste tillåta felsökning för den specifika datorn baserat på dess RSA-nyckel.
För Windows — ladda ner Platform Tools från den officiella Google Developers-webbplatsen, packa upp arkivet i mappen C:\adb och lägg till denna sökväg i miljövariabeln PATH. Efter omstart av terminalen kommer kommandot adb att vara globalt tillgängligt.
För macOS — det enklaste sättet är att installera ADB via pakethanteraren Homebrew: kör brew install android-platform-tools. Alla beroenden kommer att lösas automatiskt.
För Linux — i distributioner baserade på Debian / Ubuntu: sudo apt install adb. Efter installation, lägg till användaren i gruppen plugdev: sudo usermod -aG plugdev $USER och logga in igen så att ADB får åtkomst till USB-enheter.
Installationens korrekthet kan kontrolleras med kommandot adb version. Om versionsnumret för Android Debug Bridge visas är verktyget redo att användas.
Första anslutningen börjar alltid med kommandot adb devices. Det visar listan över anslutna enheter och deras status. Om enheten visas som unauthorized, lås upp skärmen och bekräfta felsökningen på telefonen.
adb devices
List of devices attached
emulator-5554 device
0123456789ABCD device
Installera app — en av de vanligaste operationerna. Det räcker med att ange sökvägen till APK-filen:
adb install C:\apps\myapp.apk
Om appen redan är installerad men behöver ersättas med en uppdaterad version, lägg till flaggan -r (replace):
adb install -r C:\apps\myapp-v2.apk
Avinstallera app görs med paketnamnet:
adb uninstall com.example.myapp
Kopiera filer — adb pull hämtar en fil från enheten till datorn, adb push laddar upp en fil till enheten:
adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/
Interaktivt shell — kommandot adb shell öppnar en kommandotolk på enheten. Inuti den kan du köra vanliga Linux-kommandon: ls, ps, top, dumpsys, pm, am och andra.
adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome
Starta en aktivitet via ADB gör att du kan öppna valfri app eller skärm utan att manuellt söka efter en ikon:
adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main
Logcat — är Android-loggingsystemet som samlar in meddelanden från appar, systemtjänster och kärnan. Verktyget är oumbärligt vid felsökning: från loggar kan du förstå varför appen kraschade, vilken metod som orsakade ett undantag eller hur länge en specifik operation tar.
Enkel start utan filter — adb logcat. Loggflödet är oändligt, tryck Ctrl+C för att stoppa. För att filtrera meddelanden efter tagg, använd parametern -s:
adb logcat -s MainActivity:V
Viktighetsnivåer för loggning (från mest detaljerad till kritisk): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). Kombinationen av tagg och nivå gör att du bara kan extrahera nödvändiga meddelanden.
För att rensa den ackumulerade bufferten före test:
adb logcat -c
Och för att spara loggar i en fil:
adb logcat -d > app_logs.txt
Flaggan -d (dump) visar den aktuella bufferten och avslutar utan att blockera terminalen. Detta är praktiskt för automatiseringsskript.
Skärmbild tas med kommandot adb shell screencap. Resultatet sparas i en fil som sedan hämtas via adb pull:
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png
Du kan kombinera båda operationerna i en rad med hjälp av substitution och pipelining. I praktiken påskyndar detta skapandet av dokumentation och testrapporter.
Skärminspelning är tillgänglig på Android 4.4+ (API 19). Standardinspelningstid — 180 sekunder, bitrate — 4 Mbit/s. Huvudkommando:
adb shell screenrecord /sdcard/demo.mp4
Tryck Ctrl+C för att stoppa inspelningen. Videoupplösningen motsvarar enhetens skärmupplösning men överstiger inte 1080p. För att ändra bitrate, ange --bit-rate:
adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4
Diagnostiska kommandon: adb shell dumpsys visar status för alla systemtjänster. För att få information endast om batteriet:
adb shell dumpsys battery
Listan över installerade paket kan hämtas via Package Manager:
adb shell pm list packages
Återställning av appinställningar (motsvarande att rensa data i inställningar):
adb shell pm clear com.example.myapp
Wi-Fi-felsökning eliminerar behovet av att hålla enheten ansluten via USB. Se till att datorn och enheten är i samma nätverk. Kör först adb tcpip 5555, koppla bort USB, anslut sedan via IP:
adb tcpip 5555
adb connect 192.168.1.100:5555
Om enhetens IP-adress är okänd, ta reda på den via adb shell ip addr show wlan0 innan du kopplar bort kabeln.
Säkerhetskopiering av data för en app eller hela systemet görs utan root:
adb backup -apk -shared -all -system -f mybackup.ab
Återställning från säkerhetskopia:
adb restore mybackup.ab
Inmatningsemulering — kommandot adb shell input gör det möjligt att simulera tryckningar, svep, knapptryckningar och textinmatning. Detta är grunden för att automatisera UI-tester utan extra ramverk:
adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"
Omstart i olika lägen:
adb reboot # vanlig omstart
adb reboot recovery # återställningsläge
adb reboot bootloader # bootloader (fastboot)
Fastboot-läget ger åtkomst till flashning av avbildningar, upplåsning av bootloadern och installation av anpassad återställning.
När flera enheter eller emulatorer är anslutna samtidigt, kräver ADB att ett specifikt serienummer anges. Kommandot adb devices visar alla anslutna enheter med deras serienummer.
För att adressera ett kommando till en specifik enhet, använd flaggan -s:
adb -s 0123456789ABCD install myapp.apk
Om det bara finns en enhet kan du arbeta utan flagga. Men i CI-miljöer där flera emulatorer körs samtidigt är det obligatoriskt att ange serienummer.
Döda ADB-servern — om enheten slutar att upptäckas eller ger ett fel, hjälper omstart av servern:
adb kill-server
adb start-server
Kör därefter adb devices — servern kommer att starta om och vidarebefordra förfrågningar till enhetens demoner.
| Kommando | Beskrivning |
|---|---|
| adb devices | Visa lista över anslutna enheter |
| adb install <path> | Installera APK-fil på enheten |
| adb uninstall <package> | Avinstallera app efter paketnamn |
| adb shell | Starta interaktiv kommandotolk |
| adb push <local> <remote> | Kopiera fil från dator till enhet |
| adb pull <remote> <local> | Kopiera fil från enhet till dator |
| adb logcat | Visa system- och apploggar |
| adb shell screencap | Ta skärmbild |
| adb shell screenrecord | Spela in video från skärmen |
| adb reboot | Starta om enheten |
| adb tcpip 5555 | Växla ADB till TCP/IP-läge för Wi-Fi |
| adb connect <IP>:5555 | Anslut till enhet via Wi-Fi |
Vanliga frågor
Öppna "Inställningar" → "Om telefonen" och tryck på "Byggnummer" 7 gånger. Gå tillbaka till huvudmenyn för inställningar — avsnittet "För utvecklare" visas. Aktivera "USB-felsökning" där inne. Från och med Android 4.2 måste du vid första anslutningen till en dator bekräfta RSA-felsökningsnyckeln på enhetens skärm.
Enheten litar inte på datorn. Lås upp telefonskärmen, när dialogrutan "Tillåt USB-felsökning?" visas, kryssa i "Tillåt alltid för den här datorn" och tryck på "OK". Om dialogrutan inte visas, koppla bort och återanslut USB-kabeln eller kör adb kill-server && adb start-server.
ADB kräver ingen interaktion med skärmen. Anslut enheten via USB, vänta på att den visas i adb devices (om felsökning redan var aktiverad) och kör adb install <sökväg_till_apk>. För att öppna appen, använd adb shell am start -n <paket>/<aktivitet>. Om felsökning inte var aktiverad i förväg är det betydligt svårare att återfå åtkomst utan skärm — anpassad återställning krävs.
ADB installerar APK direkt och kringgår Google Play Protect-kontroller under installationen, vilket gör det möjligt att testa appar före publicering. Den slutgiltiga kontrollen av skadlig kod körs dock fortfarande efter installationen. ADB kräver inget Google-konto, vilket är viktigt för företagskiosker och enheter utan Google-tjänster.
Ja, de allra flesta ADB-kommandon fungerar utan root. Undantag är kommandon som kräver åtkomst till skyddade systempartitioner (till exempel direkt dump av boot-partitionen eller ändring av systemfiler). För vardagliga uppgifter — installation av appar, loggning, skärmbilder, säkerhetskopiering, inmatningsemulering — krävs ingen root.
ADB (Android Debug Bridge) — är ett grundläggande verktyg för alla som arbetar med Android på professionell nivå. Från grundläggande appinstallation till komplex testautomatisering och enhetsåterställning — ADB täcker praktiskt taget alla scenarier för datorinteraktion med en smartphone eller surfplatta.
Genom att bemästra kommandona som beskrivs i den här artikeln kommer du att kunna hantera en Android-enhet via terminalen med självförtroende, analysera loggar, ta skärmbilder för dokumentation, göra säkerhetskopior och påskynda utvecklingsprocessen. Regelbunden övning och att studera utdata från adb help kommer att göra dig till en erfaren användare av detta kraftfulla verktyg.
Sammanfattning
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också