Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sie können Ihr JavaScript mit den console JavaScript APIs debuggen und die Ausgabemeldungen in Logcat ansehen. Wenn Sie mit dem Debuggen von Webseiten mit Firebug oder Web Inspector vertraut sind, kennen Sie wahrscheinlich die Verwendung von console (z. B. console.log()). Das WebKit-Framework von Android unterstützt die meisten dieser APIs, sodass Sie beim Debuggen in Ihrem WebView Protokolle von Ihrer Webseite erhalten können. In diesem Abschnitt wird beschrieben, wie Sie die Konsolen-APIs zum Debuggen verwenden.
Console-APIs in WebView verwenden
Die Console-APIs werden auch beim Debuggen in WebView unterstützt. Sie müssen ein WebChromeClient bereitstellen, das die Methode onConsoleMessage() implementiert, damit Konsolennachrichten in Logcat angezeigt werden.
Wenden Sie dann WebChromeClient auf Ihr WebView mit setWebChromeClient() an. Weitere Informationen finden Sie in der Dokumentation zu WebView.
Das folgende Beispiel zeigt, wie Sie Konsolen-APIs in WebView verwenden:
Kotlin
valmyWebView:WebView=findViewById(R.id.webview)myWebView.webChromeClient=object:WebChromeClient(){overridefunonConsoleMessage(message:ConsoleMessage):Boolean{Log.d("MyApplication","${message.message()} -- From line "+"${message.lineNumber()} of ${message.sourceId()}")returntrue}}
Java
WebViewmyWebView=findViewById(R.id.webview);myWebView.setWebChromeClient(newWebChromeClient(){@OverridepublicbooleanonConsoleMessage(ConsoleMessageconsoleMessage){Log.d("MyApplication",consoleMessage.message()+" -- From line "+consoleMessage.lineNumber()+" of "+consoleMessage.sourceId());returntrue;}});
Das ConsoleMessage enthält auch ein MessageLevel-Objekt, das den Typ der gesendeten Konsolennachricht angibt. Sie können die Meldungsebene mit messageLevel() abfragen, um den Schweregrad der Meldung zu ermitteln, und dann die entsprechende Log-Methode verwenden oder andere geeignete Maßnahmen ergreifen.
Unabhängig davon, ob Sie onConsoleMessage(String, int, String) oder onConsoleMessage(ConsoleMessage) verwenden, ruft Android beim Ausführen einer Konsolenmethode auf Ihrer Webseite die entsprechende onConsoleMessage()-Methode auf, damit Sie den Fehler melden können. Mit dem Beispielcode wird beispielsweise eine Logcat-Nachricht ausgegeben, die so aussieht:
Hello World -- From line 82 of http://www.example.com/hello.html
Hier finden Sie zusätzliche Ressourcen zur Fehlerbehebung:
Klicken Sie auf den Launcher für die WebView-Entwicklertools.
Abbildung 1. WebView DevTools-Symbol für eine App, die auf einem Gerät installiert ist.
Klicken Sie in den Entwicklertools auf Flags und suchen Sie nach experimentellen Funktionen, die Sie aktivieren oder deaktivieren möchten. Die Änderung wird auf alle WebView-Instanzen auf dem Gerät angewendet.
Beenden Sie Ihre App und starten Sie sie neu, um die neuen Funktionen zu testen.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-21 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-21 (UTC)."],[],[],null,["# Debug web apps\n\nYou can debug your JavaScript using the `console` JavaScript APIs and view the\noutput messages in Logcat. If you're familiar with debugging web pages with\nFirebug or Web Inspector, then you're probably familiar with using `console`\n(such as `console.log()`). Android's WebKit framework supports most of the same\nAPIs, so you can receive logs from your web page when debugging in your\n[`WebView`](/reference/android/webkit/WebView). This section describes how to use the console APIs for\ndebugging.\n| **Note:** You can also remotely debug your web pages in WebView with the Chrome Developer Tools. For more information, see [Remote debugging\n| WebViews](https://developer.chrome.com/docs/devtools/remote-debugging/webviews/).\n\nUse console APIs in WebView\n---------------------------\n\nThe console APIs are also supported when debugging in `WebView`. You must\nprovide a [`WebChromeClient`](/reference/android/webkit/WebChromeClient) that implements the\n[`onConsoleMessage()`](/reference/android/webkit/WebChromeClient#onConsoleMessage(android.webkit.ConsoleMessage)) method for console messages to appear in Logcat.\nThen, apply the `WebChromeClient` to your `WebView` with\n[`setWebChromeClient()`](/reference/android/webkit/WebView#setWebChromeClient(android.webkit.WebChromeClient)). For more information, see the [`WebView`](/reference/android/webkit/WebView)\ndocumentation.\n\nThe following example shows how to use console APIs in `WebView`: \n\n### Kotlin\n\n val myWebView: WebView = findViewById(R.id.webview)\n myWebView.webChromeClient = object : WebChromeClient() {\n\n override fun onConsoleMessage(message: ConsoleMessage): Boolean {\n Log.d(\"MyApplication\", \"${message.message()} -- From line \" +\n \"${message.lineNumber()} of ${message.sourceId()}\")\n return true\n }\n }\n\n### Java\n\n WebView myWebView = findViewById(R.id.webview);\n myWebView.setWebChromeClient(new WebChromeClient() {\n @Override\n public boolean onConsoleMessage(ConsoleMessage consoleMessage) {\n Log.d(\"MyApplication\", consoleMessage.message() + \" -- From line \" +\n consoleMessage.lineNumber() + \" of \" + consoleMessage.sourceId());\n return true;\n }\n });\n\n| **Warning:** Don't include personally-identifiable information (PII) in console messages.\n\nThe [`ConsoleMessage`](/reference/android/webkit/ConsoleMessage) also includes a [`MessageLevel`](/reference/android/webkit/ConsoleMessage.MessageLevel) object\nto indicate the type of console message being delivered. You can query the\nmessage level with [`messageLevel()`](/reference/android/webkit/ConsoleMessage#messageLevel()) to determine the severity of the\nmessage, then use the appropriate [`Log`](/reference/android/util/Log) method or take other appropriate\nactions.\n\nWhether you're using\n[`onConsoleMessage(String, int, String)`](/reference/android/webkit/WebChromeClient#onConsoleMessage(java.lang.String,%20int,%20java.lang.String)) or\n[`onConsoleMessage(ConsoleMessage)`](/reference/android/webkit/WebChromeClient#onConsoleMessage(android.webkit.ConsoleMessage)), when you execute a console method in\nyour web page, Android calls the appropriate `onConsoleMessage()` method so\nyou can report the error. For example, with the example code, a Logcat message\nis printed that looks like this: \n\n Hello World -- From line 82 of http://www.example.com/hello.html\n\n| **Note:** Logcat is a tool that dumps a log of system messages. The messages include a stack trace when the device throws an error as well as log messages written from your application and those written using the JavaScript `console` APIs. For more information, see [View logs with Logcat](/studio/debug/am-logcat).\n\nThe following are additional resources related to debugging:\n\n- [Remote debug Android devices](https://developer.chrome.com/docs/devtools/remote-debugging/)\n- [Debug your app](/studio/debug)\n\nTest experimental web features\n------------------------------\n\nSimilar to Google Chrome's `chrome://flags` page, you can also test experimental\nweb features in `WebView`.\n\nTo do this, take the following steps:\n\n1. [Install one of the `WebView` pre-release channels](https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/prerelease.md)\n (beta, dev, or canary){:.external}.\n\n2. [Switch the `WebView` channel](https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/prerelease.md#trichrome-beta) on your test device to the\n installed pre-release channel.\n\n3. Click the **WebView DevTools** launcher.\n\n **Figure 1.** WebView DevTools icon for app installed on a device.\n4. From DevTools, click the **Flags** item and search for any experimental\n features you'd like to enable or disable. The change applies to all\n `WebView` instances on the device.\n\n5. Stop and restart your app to start testing with the new features.\n\nFor more information about toggling flags, see the\n[`WebView` DevTools documentation](https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/developer-ui.md#Flag-UI)."]]