Any WebView

neoblackxt

LSPosed
v1.4.5
Version
68.64 KB
Size
Oct 24, 2026
Updated

Module Info

  • Contributors neoblackxt, Starmania, markozajc, Alhugh233, IzzySoft
  • Source Code View Repository
  • Tags
    #AnyWebView #WebView #Xposed #LSPosed #Bromite #Vanadium #Rendering Engine #neoblackxt

About this module

AnyWebView by neoblackxt is an LSPosed module that finds the WebView apps on your phone and adds them to Developer options > WebView implementation. That lets you pick a WebView such as Bromite, Vanadium, Mulch or Cromite, even when your ROM doesn't list it. It needs Android 7.0 or newer and a framework with libxposed API 101 or newer.

How it works

Android only offers the WebView providers your ROM declares. AnyWebView extends that list.

Finds installed WebViews

It looks through installed packages for the com.android.webview.WebViewLibrary meta-data, which marks an app as a WebView provider.

Adds them to the list

It hooks the system's getWebViewPackages() and returns the stock list with the new providers appended. This runs in the Android framework, which is why that's the module's scope.

Uses each app's own signature

Each added provider is registered with its own signature, so it passes Android's validation. The WebView can be a normal install, and doesn't need to be a system app.

Handles reused package names

Some builds, like Cromite's SystemWebView.apk, install as com.android.webview. Since 1.4.3, the module rewrites the stock entry with the installed APK's signature, so you don't need a Magisk module.

Requirements

  • Android 7.0 or newer. WebView provider selection arrived in Android 7, so there's nothing to hook on older versions.
  • A framework with libxposed API 101 or newer, such as Vector-SR or LSPosed 1.11+. Vector 2.0 only has API 100 and can't load v1.4, but newer Vector canary builds can. A legacy de.robv entry point is still included for older frameworks.
  • Android Framework (system) selected as the scope in LSPosed.

Reported Android versions

These are from real-device reports on the latest release:

AndroidStatusReported on
7 to 9Not establishedThe hooked code has been stable since Android 7, but there are no reports yet
10 to 12WorkingVector-SR with AOSmium or Cromite
13 to 14WorkingVector-SR with AOSmium on an SM-G780G
15WorkingVector-SR with AOSmium on an SM-G780G
16WorkingLineageOS with Vector canary and KowSU, and stock Pixel with Cromite
17WorkingPixelOS with Vector-SR and AOSmium

Setup

  1. Install the module and enable it in LSPosed with Android Framework as the scope.
  2. Install your WebView for all users on the device.
  3. Reboot, then choose the WebView in Developer options.

If it isn't selectable, these ADB commands can help. The first one may not work, and the developer says that's fine:

adb shell cmd webviewupdate enable-redundant-packages
adb shell pm list users
adb install --user USER_ID PATH/TO/APK/ON/COMPUTER
adb shell pm install-existing --user USER_ID PACKAGE.NAME

Each entry from pm list users looks like UserInfo{USER_ID:USERNAME:INT}, and 0 is the main user. In a root terminal on the phone, you can run the pm commands without adb shell. Removing a user with pm remove-user also works, but the developer doesn't recommend it because you can lose data.

Limits and OEM ROMs

  • Chrome: only works as the WebView on Android 8 and 9. On Android 10 and newer it may appear in the list, but it won't work, because Google stopped using Chrome as a WebView provider.
  • Samsung One UI on Android 16: some OEM builds remove getWebViewPackages(). Since 1.4.5, the module sets the provider field directly in that case. If a build has renamed the field and it can't be identified safely, the module gives up and logs a message rather than risk writing the wrong one.

Source and license

AnyWebView is licensed under MIT, and it's very small: the APK is about 60 KB. The repo's discussions and issues hold the device reports mentioned above, which is the best place to check your own ROM.