System WebViews

The WebView: Android System WebView and WKWebView

Capacitor 243,123 ships no browser engine. BridgeActivity inflates a CapacitorWebView, a thin subclass of Android's android.webkit.WebView, and on iOS CAPBridgeViewController creates a WKWebView. Your code runs in whatever engine the phone already has:

The two WebViews Capacitor hosts, and the channels it opens in each
Android iOS
Engine Android System WebView (Chromium 4,389 ) WKWebView (WebKit 15,343 )
JS to native addWebMessageListener WKScriptMessageHandler
Native to JS JavaScriptReplyProxy evaluateJavaScript
Remote debugging Chrome DevTools 3,948 Safari Web Inspector 10

The Android engine updates through Google Play 1 , apart from the OS. Capacitor checks for a minimum, android.minWebViewVersion (default 60), and below it loads your errorPath page. To see a device's engine:

Which WebView the emulator runsShell
adb -s emulator-5558 shell dumpsys package com.google.android.webview | grep -m1 versionName
Output
    versionName=133.0.6943.137

That is Chromium 133, on a Google APIs emulator image that has no Play Store to update it. Phones in the field vary the same way, so test on the engines your users have: WebView speed, not Capacitor, sets your rendering performance. A WebView is also not Chrome 1 : there is no address bar, and window.open or file downloads behave differently, which is why the Browser plugin (Browser) exists. In debug builds Bridge.java turns on WebView.setWebContentsDebuggingEnabled(), so chrome://inspect can attach (Remote Debugging Android).