Network Inspector — vad det är, arbetsprincip och övervakning av nätverksförfrågningar

Författare: IT Sectr Publicerad: 2026-05-07 Lästid: 8 min

Network Inspector i Android Studio är ett inbyggt profileringsverktyg utformat för att övervaka och analysera nätverkstrafik för mobilappen i realtid. Enligt officiell dokumentation från Android Developers (2025) gör verktyget det möjligt att spåra svarstider, mängden överförd data och HTTP-status för varje anrop. Verktyget kräver inga ändringar i appkoden och fungerar "direkt ur lådan" med alla projekt på API Level 14 och högre.

Huvudpunkter

  • Network Inspector — är en komponent i Android Profiler för övervakning av nätverksförfrågningar med möjlighet att visa rubriker och svarstext
  • Trafikavlyssning sker automatiskt för alla HTTP-anrop från appen, inklusive OkHttp, Retrofit, Ktor och WebView
  • Tidslinje visar sekvensen av förfrågningar med angivelse av varaktighet, storlek och status för varje anrop
  • Detaljerad vy av varje förfrågan inkluderar rubriker, förfråge- och svarstext, cookies och exekveringstid per fas
  • Export av data i HAR-format gör det möjligt att överföra nätverksinteraktion till kollegor eller spara för senare analys

Vad är Network Inspector?

Network Inspector är ett profileringsverktyg för nätverksaktivitet som är inbyggt i Android Studio. Det låter utvecklare i realtid se alla HTTP- och HTTPS-förfrågningar som skickas av appen, inklusive rubriker, förfråge- och svarstext, statuskoder och exekveringstid. Tillgängligt via panelen Android Profiler från och med Android Studio 3.0.

Syfte och tillämpningsområde

Huvuduppgiften för Network Inspector är felsökning av nätverksinteraktion mellan mobilappen och servern. Verktyget används för att kontrollera korrektheten av överförda data, analysera svarstider, söka efter API-fel samt upptäcka icke-optimala nätverksmönster — till exempel flera förfrågningar vid laddning av en skärm. Network Inspector fungerar på alla enheter med API Level 14.

Kompatibilitet och bibliotek

Verktyget stöder alla större Android HTTP-klienter: OkHttp (från version 2.x), Retrofit, Ktor (KMM), UrlConnection, Apache HttpClient (föråldrad) och WebView. För OkHttp och Retrofit krävs biblioteket OkHttp Profiler — det läggs till automatiskt när Android Studio 4.1+ används. För Ktor krävs separat konfiguration av avlyssnare.

Hur fungerar Network Inspector

Network Inspector fångar upp nätverksanrop på systemnivå med hjälp av Profiler Agent-mekanismen, som injiceras tillsammans med Android Profiler. För korrekt funktion krävs en debug-build av appen. Verktyget ändrar inte appkoden och kräver inga tillägg av beroenden för grundläggande funktionalitet.

Mekanism för trafikavlyssning

När profilering startas ansluter Network Inspector till appens Debug-process och lyssnar på alla HTTP-anrop som går via OkHttp Client, UrlConnection eller andra bibliotek som stöds. Varje förfrågan registreras med en tidsstämpel, vilket gör det möjligt att skapa en tidslinje över nätverksaktivitet. För HTTPS används ett systemmellanlager som bevarar kryptering under överföring men tillåter visning av avkodat innehåll i Studio.

Arkitektur för datainsamling

Datainsamling sker via Android Studios Profiler Service, som körs i en separat värdprocess. På enheten körs en lätt agent som överför förfrågningsmetadata via ADB-kanalen. Detta minimerar påverkan på appens prestanda — overheaden är mindre än 3% enligt Google. Själva förfrågningsdata (text, rubriker) överförs endast vid aktiv visning av detaljer.

kotlin
// Ansluta OkHttp för integration med Network Inspector
val client = OkHttpClient.Builder()
    .addInterceptor(HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BASIC
    })
    .build()

// Network Inspector fångar automatiskt upp alla anrop via client
client.newCall(Request.Builder()
    .url("https://api.example.com/data")
    .build()).execute()

Huvudfunktioner i Network Inspector

Network Inspector tillhandahåller en uppsättning verktyg för omfattande analys av nätverkstrafik. Varje funktion är inriktad på att lösa en specifik felsökningsuppgift — från kontroll av rubriker till analys av API-prestanda.

Tidslinje för förfrågningar

Huvudskärmen i Network Inspector visar kronologin över alla förfrågningar i form av en tidslinje. Varje förfrågan representeras av ett färgat fält: grönt — lyckat svar (2xx), blått — omdirigering (3xx), gult — klientfel (4xx), rött — serverfel (5xx). Fältets längd motsvarar exekveringstiden från anslutning till mottagande av fullständigt svar. Detta gör det möjligt att omedelbart identifiera långsamma eller felaktiga förfrågningar.

ParameterBeskrivningExempelvärde
URLFullständig adress för förfråganhttps://api.example.com/v2/users
MethodHTTP-metod för förfråganPOST
StatusHTTP-statuskod för svar200 OK
SizeStorlek på förfrågan + svar i byte12.4 KB
TimeTotal exekveringstid342 ms

Detaljerad vy av förfrågan

När en specifik förfrågan väljs öppnas en panel med detaljer: Headers (alla rubriker för förfrågan och svar), Request Body (förfrågans text i text- eller binärformat), Response Body (svarstext med möjlighet till JSON-formatering), Cookies (skickade och mottagna), Timing (tidsindelning per fas: DNS, Connection, TLS Handshake, Request, Response).

Filtrering och sökning

Network Inspector stöder filtrering av förfrågningar efter URL, HTTP-metod, statuskod och innehållstyp. Förfrågningar till specifika domäner kan uteslutas för att fokusera endast på det nödvändiga API:et. Sökning fungerar i alla fält i förfrågan, inklusive text och rubriker, vilket är praktiskt vid felsökning av en specifik appfunktion. Kombinerade filter gör det möjligt att skapa en uppsättning regler som automatiskt tillämpas vid varje profileringstart.

Gruppering och jämförelse av förfrågningar

Tidslinjen stöder gruppering av förfrågningar efter URL-mönster. Till exempel kan alla förfrågningar av formen /api/v2/users/* slås samman i en grupp. Detta förenklar analysen när appen gör hundratals förfrågningar under kort tid. Funktionen för jämförelse av närliggande förfrågningar hjälper till att upptäcka förändringar i serversvar vid upprepade anrop.

Felsökning av nätverksförfrågningar med Network Inspector

Praktisk användning av Network Inspector omfattar typiska felsökningsscenarier: kontroll av dataformat, detektering av långsamma slutpunkter, hitta minnesläckor på grund av ej stängda anslutningar och analys av cachning.

Kontroll av JSON-svarsstruktur

En vanlig uppgift — att säkerställa att servern returnerar data i förväntat format. Network Inspector visar svarstexten med JSON-formatering, inklusive syntaxmarkering. Om svaret inte kan parsas på klientsidan syns orsaken omedelbart i inspektorn: saknat fält, felaktig datatyp (sträng istället för nummer) eller överdriven nästling. Om servern returnerar ett fel visar inspektorn felstrukturen med kod och meddelande. För binära format (Protocol Buffers, bilder) visas storlek och content-type.

Analys av exekveringstid

Fliken Timing delar upp exekveringen av förfrågan i faser: DNS Resolution, TCP Connection, TLS Handshake, Request Send, Response Receive. Om totaltiden överstiger 1-2 sekunder kan orsaken fastställas baserat på fasindelningen. Till exempel indikerar lång DNS problem med resolver, lång TLS Handshake — föråldrad protokollversion på servern, lång Response — långsam serverkod eller ineffektiv förfrågan med överflödiga data. Timing-analys hjälper till att identifiera flaskhalsar redan innan optimering av serverdelen påbörjas.

Hitta dubbletter av förfrågningar

Network Inspector hjälper till att upptäcka överflödiga förfrågningar — till exempel när Activity laddar om data vid varje skärmrotation. På tidslinjen indikerar en serie identiska förfrågningar efter varandra tydligt problemet. Lösningen kan vara cachning, användning av ViewModel med bevarande av tillstånd eller SingleLiveEvent för engångsladdning.

kotlin
// Cachelagra förfrågningar med OkHttp för att eliminera dubblicering
val cache = Cache(
    File(context.cacheDir, "http_cache"),
    cacheSize = 10L * 1024 * 1024 // 10 MB
)

val cachedClient = OkHttpClient.Builder()
    .cache(cache)
    .addNetworkInterceptor(CacheInterceptor())
    .build()

Begränsningar av Network Inspector och alternativ

Trots de omfattande funktionerna har Network Inspector ett antal begränsningar som är viktiga att beakta. För vissa scenarier — såsom HTTPS-avlyssning med självsignerade certifikat eller analys av trafik från tredjepartsbibliotek — kan alternativa verktyg krävas.

Plattforms- och biblioteksbegränsningar

Network Inspector fungerar endast med Android-appar och stöder inte iOS. För Kotlin Multiplatform (KMM) kan vissa förfrågningar inte visas om de körs i den inbyggda delen. Vissa bibliotek — till exempel gRPC, WebSocket (inte HTTP), GraphQL via Apollo (upp till version 3.x) — kan fångas upp delvis eller inte alls utan konfiguration av ytterligare avlyssnare.

Alternativa verktyg

För djupare analys av nätverkstrafik finns tredjepartslösningar: Charles Proxy (fullfjädrad proxyserver med HTTPS-avlyssning), Proxyman (motsvarighet för macOS), Wireshark (analys på paketnivå), Stetho by Facebook (integration med Chrome DevTools), Chucker (bibliotek för inspektion av förfrågningar inuti appen). Varje verktyg har sin nisch: Charles och Proxyman är oumbärliga vid felsökning av serverinteraktion i tidiga utvecklingsstadier, och Chucker — för insamling av information i testbyggen.

VerktygTypPlattformHTTPSHAR
Network InspectorInbyggt i Android StudioAndroidJaJa
Charles ProxyProxyserverPlattformsoberoendeJaJa
ProxymanProxyservermacOS, iOSJaJa
ChuckerIn-app-inspektörAndroidJaNej
WiresharkPaketanalysatorPlattformsoberoendeNejNej

Vanliga frågor

Varför visar inte Network Inspector några förfrågningar?

Se till att appen är kompilerad i Debug-konfiguration och körs med ansluten Android Profiler. Om OkHttp 4.x används kan det vara nödvändigt att uppdatera biblioteket till den senaste versionen. För Ktor visas förfrågningar endast när Ktor-klienten används med en Engine som stöder avlyssning.

Kan HTTPS-trafik visas?

Ja, Network Inspector stöder HTTPS-trafik utan extra konfiguration. Till skillnad från Charles Proxy krävs ingen installation av rotcertifikat. Verktyget använder systemmekanismen i Android Profiler för att avkoda trafik inom felsökningssessionen.

Hur exporterar man data från Network Inspector?

Network Inspector möjliggör export av data i HAR-format (HTTP Archive). Klicka på Export-knappen i panelens övre högra hörn. HAR-filen kan öppnas i valfri HAR-visare eller importeras till Charles Proxy och Proxyman för vidare analys.

Påverkar Network Inspector appens prestanda?

Enligt Google överstiger overheaden inte 3% vid aktiv profilering. När Network Inspector är avstängd finns ingen overhead. Verktyget rekommenderas inte för användning i release-byggen, men i Debug-sessioner är påverkan omärkbar på moderna enheter.

Vad gör man om svaret visas som rådata?

Om svarstexten visas som oläslig rådata kan detta bero på gzip-komprimering eller binärformat (Protocol Buffers, MessagePack). Network Inspector avkodar gzip automatiskt. För anpassade format, använd Content-Type-ledtråden i svarshuvuden.

Sammanfattning

  • Network Inspector — är ett inbyggt verktyg i Android Studio för realtidsövervakning och felsökning av nätverksförfrågningar utan att ändra appkoden
  • Automatisk avlyssning av alla HTTP-anrop via OkHttp, Retrofit, Ktor och UrlConnection — verktyget fungerar "direkt ur lådan" i Debug-bygge
  • Tidslinje med färgkodning av statuskoder möjliggör omedelbar detektering av långsamma, felaktiga och repetitiva förfrågningar
  • Detaljerad vy av varje förfrågan inkluderar rubriker, text (med JSON-formatering), cookies och fasindelning av exekveringstid
  • Fasindelning Timing (DNS, TCP, TLS, Request, Response) hjälper till att exakt fastställa orsaken till långsamma förfrågningar
  • Export till HAR gör det möjligt att spara sessioner för överföring till kollegor eller analys i externa verktyg som Charles Proxy
  • För mer komplexa scenarier, använd Charles Proxy eller Proxyman — de stöder trafikavlyssning på operativsystemsnivå och arbete med iOS

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.

Diskutera projektet

Läs också