Android WebView¶
To run WPT on WebView on an Android device, some additional set-up is required.
Currently, Android WebView support is experimental.
Prerequisites¶
Please check Chrome for Android for the common instructions for Android support first.¶
Ensure you have a userdebug or eng Android build installed on the device.¶
Install an up-to-date version of system webview shell.¶
- Go to chromium-browser-snapshots
- Find the subdirectory with the highest number and click it, this number can be found in the “Commit Position” column of row “LAST_CHANGE” (at bottom of page).
- Download
chrome-android.zip
file and unzip it. - Install
SystemWebViewShell.apk
. - On emulator, system webview shell may already be installed by default. Then you may need to remove the existing apk:
- Choose a userdebug build.
- Run an emulator with writable system partition from command line
If you have an issue with ChromeDriver version mismatch, try one of the following.¶
Try removing
_venv/bin/chromedriver
such that wpt runner can install a matching version automatically. Failing that, please check your environment path and make sure that no other ChromeDriver is used.Download the ChromeDriver binary matching your WebView’s major version and specify it on the command line
./wpt run --webdriver-binary <binary path> ...
Configure host remap rules in the webview commandline file.¶
adb shell "echo '_ --host-resolver-rules=\"MAP nonexistent.*.test ~NOTFOUND, MAP *.test 127.0.0.1\"' > /data/local/tmp/webview-command-line"