Network Inspector: Was ist das, Funktionsprinzip und Überwachung von Netzwerkanfragen

Autor: IT Sectr Veröffentlicht: 2026-05-07 Lesezeit: 8 Min.

Network Inspector in Android Studio ist ein integriertes Profiler-Tool, das zur Echtzeitüberwachung und -analyse des Netzwerkverkehrs einer mobilen App entwickelt wurde. Laut der offiziellen Dokumentation von Android Developers (2025) ermöglicht das Tool, die Ausführungszeit von Anfragen, die Menge der übertragenen Daten und den HTTP-Status jedes Aufrufs zu verfolgen. Das Tool erfordert keine Änderungen am App-Code und funktioniert „out of the box“ mit jedem Projekt ab API Level 14.

Das Wichtigste

  • Network Inspector ist eine Komponente von Android Profiler zur Überwachung von Netzwerkanfragen mit der Möglichkeit, Header und Antworttext anzusehen
  • Die Verkehrserfassung erfolgt automatisch für alle HTTP-Aufrufe, die aus der App heraus erfolgen, einschließlich OkHttp, Retrofit, Ktor und WebView
  • Die Zeitleiste zeigt die Abfolge der Anfragen mit Angabe von Dauer, Größe und Status jedes Aufrufs
  • Die Detailansicht jeder Anfrage umfasst Header, Anforderungs- und Antworttext, Cookies und die Ausführungszeit nach Phasen
  • Der Datenexport im HAR-Format ermöglicht es, die Netzwerkinteraktion an Kollegen weiterzugeben oder für spätere Analysen zu speichern

Was ist Network Inspector?

Network Inspector ist ein Profiler-Tool für Netzwerkaktivität, das in Android Studio integriert ist. Es ermöglicht Entwicklern, alle HTTP- und HTTPS-Anfragen, die von der App gesendet werden, in Echtzeit zu betrachten, einschließlich Header, Anforderungs- und Antworttext, Statuscodes und Ausführungsdauer. Verfügbar über das Android-Profiler-Panel seit Android Studio 3.0.

Zweck und Anwendungsbereich

Die Hauptaufgabe von Network Inspector ist das Debuggen der Netzwerkkommunikation zwischen mobiler App und Server. Das Tool wird verwendet, um die Korrektheit der übertragenen Daten zu prüfen, die Antwortzeit zu analysieren, API-Fehler zu finden und nicht optimale Netzwerkmuster zu erkennen – zum Beispiel mehrfache Anfragen beim Laden eines einzelnen Bildschirms. Network Inspector funktioniert auf jedem Gerät mit API Level 14.

Kompatibilität und Bibliotheken

Das Tool unterstützt alle gängigen Android-HTTP-Clients: OkHttp (ab Version 2.x), Retrofit, Ktor (KMM), UrlConnection, Apache HttpClient (veraltet) und WebView. Für OkHttp und Retrofit ist die Bibliothek OkHttp Profiler erforderlich – sie wird bei Verwendung von Android Studio 4.1+ automatisch angebunden. Für Ktor ist eine separate Interceptor-Konfiguration erforderlich.

Wie funktioniert Network Inspector

Network Inspector fängt Netzwerkaufrufe auf Systemebene ab, indem es den Profiler-Agent-Mechanismus verwendet, der zusammen mit Android Profiler eingebettet wird. Für eine korrekte Funktion ist ein Debug-Build der App erforderlich. Das Tool ändert den App-Code nicht und erfordert keine zusätzlichen Abhängigkeiten für die Basisfunktionalität.

Mechanismus der Verkehrserfassung

Beim Start des Proflings verbindet sich Network Inspector mit dem Debug-Prozess der App und hört alle HTTP-Aufrufe ab, die über OkHttp Client, UrlConnection oder andere unterstützte Bibliotheken laufen. Jede Anfrage wird mit einem Zeitstempel erfasst, sodass eine Zeitleiste der Netzwerkaktivität erstellt werden kann. Für HTTPS wird eine Systemebene verwendet, die die Verschlüsselung bei der Übertragung beibehält, aber das Anzeigen des dekodierten Inhalts innerhalb von Studio ermöglicht.

Architektur der Datenerfassung

Die Datenerfassung erfolgt über den Profiler Service von Android Studio, der in einem separaten Host-Prozess läuft. Auf dem Gerät läuft ein leichtgewichtiger Agent, der die Anfrage-Metadaten über den ADB-Kanal überträgt. Dies minimiert den Einfluss auf die App-Leistung – die Zusatzkosten betragen laut Google weniger als 3%. Die Anfragedaten selbst (Text, Header) werden nur bei aktiver Detailansicht übertragen.

kotlin
// Einrichtung von OkHttp für die Integration mit Network Inspector
val client = OkHttpClient.Builder()
    .addInterceptor(HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BASIC
    })
    .build()

// Network Inspector fängt automatisch alle Aufrufe über client ab
client.newCall(Request.Builder()
    .url("https://api.example.com/data")
    .build()).execute()

Hauptfunktionen von Network Inspector

Network Inspector bietet einen Satz von Werkzeugen für eine umfassende Analyse des Netzwerkverkehrs. Jede Funktion zielt darauf ab, eine konkrete Debugging-Aufgabe zu lösen – von der Prüfung der Header bis zur Analyse der API-Leistung.

Zeitleiste der Anfragen

Der Hauptbildschirm von Network Inspector zeigt die Chronologie aller Anfragen als Zeitleiste. Jede Anfrage wird als farbiger Balken dargestellt: Grün – erfolgreiche Antwort (2xx), Blau – Weiterleitung (3xx), Gelb – Client-Fehler (4xx), Rot – Server-Fehler (5xx). Die Länge des Balkens entspricht der Ausführungszeit der Anfrage von der Verbindung bis zum Empfang der vollständigen Antwort. So lassen sich langsame oder fehlgeschlagene Anfragen sofort erkennen.

Parameter Beschreibung Beispiel für den Wert
URL Vollständige Adresse der Anfrage https://api.example.com/v2/users
Method HTTP-Methode der Anfrage POST
Status HTTP-Code der Antwort 200 OK
Size Größe der Anfrage + Antwort in Bytes 12.4 KB
Time Gesamte Ausführungszeit 342 ms

Detailansicht der Anfrage

Beim Auswählen einer konkreten Anfrage öffnet sich ein Panel mit Details: Headers (alle Header der Anfrage und Antwort), Request Body (Anforderungstext im Text- oder Binärformat), Response Body (Antworttext mit JSON-Formatierungsoption), Cookies (gesendete und empfangene), Timing (Zeitaufschlüsselung nach Phasen: DNS, Connection, TLS Handshake, Request, Response).

Filtern und Suchen

Network Inspector unterstützt das Filtern von Anfragen nach URL, HTTP-Methode, Statuscode und Inhaltstyp. Anfragen an bestimmte Domains können ausgeschlossen werden, um sich nur auf die gewünschte API zu konzentrieren. Die Suche funktioniert über alle Felder der Anfrage, einschließlich Text und Header, was beim Debuggen einer bestimmten App-Funktion praktisch ist. Kombinierte Filter ermöglichen die Erstellung eines Regelsatzes, der bei jedem Start des Proflings automatisch angewendet wird.

Gruppieren und Vergleichen von Anfragen

Die Zeitleiste unterstützt das Gruppieren von Anfragen nach URL-Mustern. Zum Beispiel können alle Anfragen der Form /api/v2/users/* zu einer Gruppe zusammengefasst werden. Dies vereinfacht die Analyse, wenn die App in kurzer Zeit Hunderte von Anfragen durchführt. Die Vergleichsfunktion benachbarter Anfragen hilft, Änderungen in den Serverantworten bei wiederholten Aufrufen zu erkennen.

Debuggen von Netzwerkanfragen mit Network Inspector

Die praktische Nutzung von Network Inspector umfasst typische Debugging-Szenarien: Prüfung des Datenformats, Erkennung langsamer Endpunkte, Auffinden von Speicherlecks durch nicht geschlossene Verbindungen und Analyse des Cachings.

Prüfung der Struktur der JSON-Antwort

Eine häufige Aufgabe ist sicherzustellen, dass der Server die Daten im erwarteten Format zurückgibt. Network Inspector zeigt den Antworttext mit JSON-Formatierung einschließlich Syntaxhervorhebung. Wenn die Antwort im Client nicht geparst werden kann, ist im Inspector sofort die Ursache zu sehen: fehlendes Feld, falscher Datentyp (Zeichenkette statt Zahl) oder übermäßige Verschachtelung. Wenn der Server einen Fehler zurückgibt, zeigt der Inspector die Fehlerstruktur mit Code und Meldung. Für binäre Formate (Protocol Buffers, Bilder) werden Größe und Content-Type angezeigt.

Analyse der Ausführungszeit

Der Tab Timing unterteilt die Ausführung der Anfrage in Phasen: DNS Resolution, TCP Connection, TLS Handshake, Request Send, Response Receive. Wenn die Gesamtzeit 1–2 Sekunden überschreitet, lässt sich anhand der Phasenaufschlüsselung die Ursache ermitteln. Zum Beispiel deutet ein langsames DNS auf Probleme mit dem Resolver hin, ein langsames TLS Handshake auf eine veraltete Protokollversion auf dem Server und ein langsames Response auf langsamen Servercode oder eine ineffiziente Anfrage mit überflüssigen Daten. Die Timing-Analyse hilft, Engpässe zu erkennen, bevor mit der Optimierung der Serverseite begonnen wird.

Suche nach doppelten Anfragen

Network Inspector hilft, redundante Anfragen zu erkennen – zum Beispiel, wenn die Activity bei jeder Bildschirmdrehung das Laden der Daten neu erstellt. In der Zeitleiste weist eine Serie identischer aufeinanderfolgender Anfragen deutlich auf das Problem hin. Die Lösung kann Caching, die Verwendung eines ViewModel mit Zustandserhalt oder SingleLiveEvent für ein einmaliges Laden sein.

kotlin
// Caching von Anfragen mit OkHttp zur Vermeidung von Duplikaten
val cache = Cache(
    File(context.cacheDir, "http_cache"),
    cacheSize = 10L * 1024 * 1024 // 10 MB
)

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

Einschränkungen von Network Inspector und Alternativen

Trotz der vielfältigen Möglichkeiten hat Network Inspector eine Reihe von Einschränkungen, die zu beachten sind. Für einige Szenarien – etwa das Abfangen von HTTPS mit selbstsignierten Zertifikaten oder die Analyse des Verkehrs von Drittanbieter-Bibliotheken – können alternative Tools erforderlich sein.

Einschränkungen bei Plattformen und Bibliotheken

Network Inspector funktioniert nur mit Android-Apps und unterstützt kein iOS. Für Kotlin Multiplatform (KMM) kann ein Teil der Anfragen nicht angezeigt werden, wenn sie im nativen Teil ausgeführt werden. Einige Bibliotheken – zum Beispiel gRPC, WebSocket (nicht HTTP), GraphQL über Apollo (bis Version 3.x) – können teilweise oder gar nicht abgefangen werden, bis zusätzliche Interceptoren konfiguriert sind.

Alternative Tools

Für eine tiefere Analyse des Netzwerkverkehrs gibt es Drittanbieter-Lösungen: Charles Proxy (vollwertiger Proxy-Server mit HTTPS-Abfang), Proxyman (Analogon für macOS), Wireshark (Analyse auf Paketebene), Stetho by Facebook (Integration mit Chrome DevTools), Chucker (Bibliothek zur Inspektion von Anfragen innerhalb der App). Jedes Tool hat seine Nische: Charles und Proxyman sind beim Debuggen der Server-Interaktion in frühen Entwicklungsphasen unverzichtbar, Chucker dagegen zum Sammeln von Informationen in Test-Builds.

Tool Typ Plattform HTTPS HAR
Network Inspector In Android Studio integriert Android Ja Ja
Charles Proxy Proxy-Server Plattformübergreifend Ja Ja
Proxyman Proxy-Server macOS, iOS Ja Ja
Chucker In-App-Inspektor Android Ja Nein
Wireshark Paketanalysator Plattformübergreifend Nein Nein

Häufig gestellte Fragen

Warum zeigt Network Inspector keine Anfragen an?

Stellen Sie sicher, dass die App in der Debug-Konfiguration erstellt und mit verbundenem Android Profiler gestartet wurde. Wenn OkHttp 4.x verwendet wird, muss die Bibliothek möglicherweise auf die neueste Version aktualisiert werden. Für Ktor werden Anfragen nur bei Verwendung des Ktor-Clients mit einem Engine angezeigt, das das Abfangen unterstützt.

Kann man HTTPS-Verkehr ansehen?

Ja, Network Inspector unterstützt HTTPS-Verkehr ohne zusätzliche Konfiguration. Im Gegensatz zu Charles Proxy ist keine Installation eines Stammzertifikats erforderlich. Das Tool verwendet den Systemmechanismus von Android Profiler, um den Verkehr innerhalb der Debug-Sitzung zu dekodieren.

Wie exportiere ich Daten aus Network Inspector?

Network Inspector ermöglicht den Datenexport im HAR-Format (HTTP Archive). Klicken Sie auf die Schaltfläche Export in der oberen rechten Ecke des Panels. Die HAR-Datei kann in jedem HAR-Viewer geöffnet oder für weitere Analysen in Charles Proxy und Proxyman importiert werden.

Beeinflusst Network Inspector die Leistung der App?

Laut Google überschreiten die Zusatzkosten beim aktiven Profling 3% nicht. Bei deaktiviertem Network Inspector entstehen keine Zusatzkosten. Das Tool wird nicht für Release-Builds empfohlen, aber für Debug-Sitzungen ist der Einfluss auf modernen Geräten kaum spürbar.

Was tun, wenn die Antwort als Rohdaten angezeigt wird?

Wenn der Antworttext als unlesbare Rohdaten angezeigt wird, kann dies mit gzip-Kompression oder einem binären Format (Protocol Buffers, MessagePack) zusammenhängen. Network Inspector dekodiert gzip automatisch. Verwenden Sie für benutzerdefinierte Formate den Content-Type-Hinweis in den Antwort-Headern.

Fazit

  • Network Inspector ist ein in Android Studio integriertes Tool zum Überwachen und Debuggen von Netzwerkanfragen in Echtzeit, ohne den App-Code zu ändern
  • Automatisches Abfangen aller HTTP-Aufrufe über OkHttp, Retrofit, Ktor und UrlConnection – das Tool funktioniert im Debug-Build „out of the box“
  • Die Zeitleiste mit farbcodierten Statuscodes ermöglicht es, langsame, fehlgeschlagene und wiederholte Anfragen sofort zu erkennen
  • Die Detailansicht jeder Anfrage umfasst Header, Text (mit JSON-Formatierung), Cookies und die phasenweise Aufschlüsselung der Ausführungszeit
  • Die phasenweise Timing-Aufschlüsselung (DNS, TCP, TLS, Request, Response) hilft, die Ursache langsamer Anfragen genau zu bestimmen
  • Der HAR-Export ermöglicht es, Sitzungen zu speichern, um sie an Kollegen weiterzugeben oder in Drittanbieter-Tools wie Charles Proxy zu analysieren
  • Für komplexere Szenarien verwenden Sie Charles Proxy oder Proxyman – sie unterstützen das Abfangen von Verkehr auf OS-Ebene und die Arbeit mit iOS

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch