How to install Mulch System WebView?

Hello everyone.

Please tell me how to install Mulch System WebView correctly?

If I’m not mistaken Mulch System WebView is a fork of Bromite WebView and /e/OS uses it by default. In other words /e/OS uses Bromite WebView which is now called Android System Webview.

There is an instruction on Github: GitHub - A4Alpha/mulch-webview-overlay: Easily install the security-hardened Mulch SystemWebView from DivestOS

  1. Reboot device into recovery mode, either from the power menu, via a device-specific key combination or by typing the following command if the device has USB debugging enabled:
    adb reboot recovery
    Select Apply update then Apply from ADB and install the package using the following command:
    adb sideload MulchSystemWebViewOverlay.zip
    If the installer complains about signature verification, install anyway by selecting Yes.
    Reboot the device.
    Download the latest Mulch SystemWebView release from F-Droid or gitlab and install it as you would a regular app.
    Lastly, navigate to Settings > Developer options > WebView implementation and select the appropriate package or run the following command:
    adb shell cmd webviewupdate set-webview-implementation us.spotco.mulch_wv

Before installing, I wanted to clarify why we need the MulchSystemWebViewOverlayMagisk.zip module

Why arm_SystemWebView.apk (Bromite) https://github.com/bromite/bromite/releases/download/108.0.5359.156/arm_SystemWebView.apk weighs 50.7Mb and MulchSystemWebViewOverlay.zip https://github.com/A4Alpha/mulch-webview-overlay/releases/download/v0.1/MulchSystemWebViewOverlay.zip 10.8 KB

Regain your privacy! Adopt /e/OS the deGoogled mobile OS and online servicesphone

I tried to follow the instructions but it doesn’t work 100%, here are my steps:

  1. Extract 99-mulch-webview.sh from MulchSystemWebViewOverlay.zip

  2. adb device

  3. adb push treble-overlay-mulch-webview.apk /sdcard

  4. adb push 99-mulch-webview.sh /sdcard

  5. adb shell

  6. $ su

  7. # mount -o rw,remount /

  8. # cd /sdcard

  9. # cp 99-mulch-webview.sh /system/addon.d

  10. # chmod 755 /system/addon.d/99-mulch-webview.sh

  11. # cp treble-overlay-mulch-webview.apk /system/product/overlay

  12. # reboot

Unfortunately this method did not work, if anyone has a successful experience I would be grateful for help

@marcdw Hi. Saw your message:
All of my ROMs, including /e/OS, use Mulch WebView (updated regularly) making for a trustworthy (IMO) combo.

Please tell me how you installed Mulch WebView?

When trying to install MulchSystemWebViewOverlay.zip using TWRP

$ adb sideload MulchSystemWebViewOverlay.zip

I get the same error

Updater process ended with ERROR:1

and just above the message: Your device is not Treble-enabled!

When trying to install BromiteSystemWebViewOverlay.zip

$ adb sideload BromiteSystemWebViewOverlay.zip

I get the error

Updater process ended with ERROR:1

The link below is a starting point. One either flashes a zip file to install the overlay or do it manually via adb. Not sure but maybe rooted debugging may be required.

For most of my devices I have TWRP or similar. So it is as easy as dropping in the Mulch overlay file to /vendor/overlay/ or similar then install Mulch WebView while in the ROM. Keeping it regularly updated via a favorite F-Droid client with the DivestOS repo added.

Been doing this a long time. On my multibooting Oreo setup I did my manual method (TWRP) as I didn’t use Magisk nor did the overlay zip work for me.
On one of my /e/OS setups I am using a Magisk module.

Do note that I don’t use anything over Android 11. Can’t speak to current Android.

GitHub - A4Alpha/mulch-webview-overlay: Easily install the security-hardened Mulch SystemWebView from DivestOS


With regard to modern Android (A12+ or A13+) this dev has zips that take into account that the overlay file may need to be in a different location (/product/overlay/ vs /vendor/overlay/)…

Releases · lss4/mulch-webview-overlay

And some discussion…
This method apperently doesn’t work anymore · Issue #3 · A4Alpha/mulch-webview-overlay · GitHub

A long time ago when I first tried the zip it failed also. Regardless of device or Android version. That’s when I went manual or Magisk as last resort.

I assume you are on Android above 12(?). If so try the zips from the second link above. Some users say it works on A14.

EDIT: Actually, on all ROMs with the webview I am using an overlay file called MulchWebviewOverlay.apk from a Magisk Module called Mulch WebView Overlay v0.1 by mickey.
None use the overlays from the above links.

Spent the last two hours trying to figure out where I got it from. Don’t have a clue.
Not sure why I am not using the treble-overlay-mulch-webview.apk from the aforementioned links.

Hi. Thank you very much for your detailed answer.

I have an old Note2 (one of the test phones with TWRP) I installed LineageOS (Android 12) on it, checked the installation from “github” and it was very simple and without problems with mounting the “vendor” partition with the command:

$ adb shell mount -o rw,remount /vendor

I attached a photo.

When I checked the same installation for /e/OS on the test phone Samsung S3 (android 11)
then this command did not work, so I had to copy all the files to the sdcard and then copy them to other partitions, in short for /e/OS this instruction for Mulch WebView and also for Bromite WebView does not work.

How did you install Mulch WebView? Can you write the commands.


I forgot to add to my instructions that you need to download the Mulch WebView apk file and install it after rebooting. Here is the link for ARM.

https://gitlab.com/divested-mobile/mulch/-/raw/master/prebuilt/arm/webview.apk

I’ll try again through TWRP (not manualinstallation ), maybe it will work.

Maybe I didn’t understand something)) but with this installation everything works, although the instructions indicate

MulchSystemWebViewOverlay.zip instead of MulchSystemWebViewMagisk.zip (attached a screenshot)

So, how it worked for me:

  1. You have TWRP, as well as downloaded MulchSystemWebViewMagisk.zip https://github.com/A4Alpha/mulch-webview-overlay/releases/download/v0.1/MulchSystemWebViewOverlayMagisk.zip on your phone or computer depending on how you want to install, then reboot the phone into RECOVERY mode

$ adb reboot recovery

  1. Install MulchSystemWebViewMagisk.zip

$ adb sideload MulchSystemWebViewMagisk.zip

  1. Reboot the device.

  2. Download Mulch apk from this link https://gitlab.com/divested-mobile/mulch/-/raw/master/prebuilt/arm/webview.apk This is for ARM (you can check it like this:
    $ adb shell uname -m )

  3. Install webview.apk as a normal application

$ adb install webview.apk

  1. Change Android WebView to Mulch WebView with the command

$ adb shell cmd webviewupdate set-webview-implementation us.spotco.mulch_wv

You should get the output : Success!

  1. Let’s check on the phone

Settings > Developer options > WebView

or in the command line

$ adb shell dumsys webviewupdate

You will see

Current WebView package (name,version) : (us.spotco.mulch_wv, 128.0.6613.146)

I used the module

$ adb sideload MulchSystemWebViewMagisk.zip

So does that mean you have it working on the S3 also? If so, great news.

In most of my cases, with TWRP or OrangeFox or other capable recovery…

  1. Unzip MulchWevbiewOverlay.zip while in ROM. Yeah, that’s how the zip is spelled. Can’t remember if that was my bad. :grimacing:
  2. In recovery I mount System or Vendor if available.
  3. Via recovery’s file manager I copy MulchWebviewOverlay.apk to /system/vendor/overlay/ or /vendor/overlay/ (creating overlay directory first if not present - the case on some of the Oreo ROMs).
  4. Give overlay file permission 644 (rw-r-r).
  5. Reboot to ROM and install Mulch Webview if not already installed.
  6. Check developer options and see Mulch as the webview. The only one shown on my ROMs. Any existing webviews are ignored and not shown.

Now that you have the webview installed you can keep it updated by either adding the DivestOS repo to your favorite F-Droid client or use FFUpdater | F-Droid.
Mulch WebView is constantly updated.

1 Like

Your way is more complicated)) via Magisk Modul is more convenient, but your method will always come in handy as a backup option.

Yes, I tested my scheme on S3 (attached a screenshot), but since a lot of phones have stopped having support, I will have to sell it))



1 Like

Hi. I was wondering if it is possible to install Mulch on later versions of Android, like 6 or 7? Have you tried it?

Oh yes, of course. The manual method was for devices without Magisk.

I had Mulch webview on Android 7 in the past.
Not too long ago Privacy Browser dropped support for Android 7, claiming that Chromium webview only supports Oreo and up now. Maybe after a certain version?
I do have a Nougat device I can test on.

1 Like

Thank you for your answer. I would appreciate it if you test your phone on Android 7 and try to install Mulch webview or Bromite webview. I am also testing, unsuccessfully so far))

As for browsers, as this table says Browsers - DivestOS Mobile, Mull and Bromite have better indicators than Privacy Browser. There is also a fork of Bromite, which is called Cromite GitHub - uazo/cromite: Cromite a Bromite fork with ad blocking and privacy enhancements; take back your browser!

Privacy Browser is webview-based. One can compare features among browsers but the underlying engine is what differentiates the different browser camps. Mull is based on Firefox (as is Iceraven, Waterfox). Bromite, Cromite, Kiwi, Vivaldi, Thorium are Chromium-based.
Webview-based browsers (DuckDuckGo, Fulguris, Via, et al) don’t have their own engine and rely on a ROM’s offering. Some such browsers are more than capable when used with updated/current webviews. Non-Google preferred :slight_smile: .

If I am not mistaken, /e/'s browser is based on Cromite. Previously on Bromite.

1 Like

Thanks for your opinion. My experience with Privacy Browser was positive at first, I liked everything, but then I stopped using it)) Although I think it’s a good add-on, if I may say so.

As for installing Bromite | Mulch WebView, I tried this option, but it didn’t work…
I changed it a little because in /e/OS there is a different location of webview

$ adb root
$ adb remount
$ adb shell "rm /system/app/BrowserWebView/BrowserWebView.apk"
# Download `SystemWebview` 
from here: https://www.bromite.org/system_web_view
$ adb push arm_SystemWebView.apk /system/app/BrowserWebView/BrowserWebView.apk
$ adb reboot
$ adb push arm_SystemWebView.apk /sdcard/Download/webview.apk
# Now manually install `webview.apk` from your device; note that it has to be installed from the device, installing it over ADB does not work

Howdy, I never did get around to putting Nougat on my tablet. Been ultra busy but will do soon. For reasons I do not understand, with Oreo ROMs on the tablet (Nexus 7 2013), every single Gecko-based browser crashes the OS. Mull, Fennec, Iceraven, Firefox Focus, SmartCookie Web-Preview, all would crash. Weird. So I’ll be putting my old fave XenonHD Nougat on it.
I have another same Nexus with /e/OS 2.2-r (running nicely) so the other I can just mess around.

Anyway, back on topic. In a recent thread about Mulch WebView in the F-Droid forum…
I can’t install Mulch WebView - General - F-Droid Forum
… a link to the last Nougat version of the webview was provided. Version 119 from almost a year ago. Still makes it years newer than any Nougat-provided webview. Hopefully it’ll work with the existing overlay apk.

The APKs can be found here…
prebuilt · m119 · DivestOS Mobile / Mulch · GitLab

1 Like

Installed XenonHD Nougat on the tablet. Did the manual Mulch webview thing by placing the overlay file in /vendor/overlay and/or /system/vendor/overlay (creating if necessary).Then installed Mulch WebView apk.

Not recognized by the system. I did not want to put Magisk on the ROM to try anything else.

Alternative for me. I replaced the ROM’s webview with Thorium WebView v119. It has the same package name (com.android.webview). Heh. a point of contention at its GitHub.