Skip to content

Chromium Extend v1.4

Latest

Choose a tag to compare

@Shshtwy Shshtwy released this 18 Aug 17:51

A de-Googled build of Chromium Desktop Android that keeps browser extensions and video
playback working.

Built from Chromium 153.0.7999.0 (commit 945b5115) with thirty-seven patches and five build
flags.

This is the last release in the 1.x line. Version 2.0 is next, with a lot of exciting things
in the works.

New in v1.4

Add your own search engine

  • Create a search engine by hand with a name, a shortcut and a search URL, then set it as your
    default
  • Found under Settings, Search engine, Manage search engines and site search
  • Chromium already contained this screen, finished, but left it switched off on Android
  • The add button sits under Site search; use Make default on the entry to promote it to your
    default search engine

Google AI removed from search

  • The built-in @gemini and @aimode shortcuts are gone. They searched gemini.google.com and
    google.com with the AI Mode parameter, and appeared under site search
  • The AI Mode button in the address bar is off by default
  • Existing profiles drop the two shortcuts on upgrade rather than keeping cached copies

Dark mode no longer flashes white

  • Loading a page on a dark theme used to flash white first. Three separate parts of the browser
    painted white before a page appeared, and all three now follow your theme
  • Measured with screen recordings: peak brightness fell from 214 of 255, held for about
    0.6 seconds, to 44 with no frames bright enough to register
  • A new setting, Apply dark theme to sites, when possible, under Settings, Theme, lets the
    browser darken light pages itself. Off by default

Easier to reach with one hand

  • The search box sits in the middle of the new tab page rather than near the top
  • The tab switcher buttons moved to the bottom, so they are no longer stranded at the top while
    the address bar sits at the bottom
  • A new incognito button in the bottom bar, as a toggle. Tap to go incognito, tap again to come
    back. It turns red while active. It fills the slot left empty when the Ask Gemini button was
    removed

Smaller touches

  • A cleaner new tab page. The shortcuts row and the suggestion cards start hidden. Both were
    already optional; only the starting state changed
  • Share is the default toolbar shortcut. It used to be based on your usage, which quietly
    swapped the button as browsing habits changed
  • The search engine icon is round in the address bar. It rendered as a white square there while
    looking correct on the new tab page
  • Clearer wording in settings. A note reading Only available for small windows sounded like it
    excluded phones, when it means the opposite

Screenshots

Left: the new tab page, with the search box within thumb reach and the incognito toggle in the
bottom bar. Middle and right: the download manager setting and the chooser it produces, both
carried over from v1.3.

Verifying this release

SHA-256  e70364b58f215c3a390fe92622d844112462ea21a604da15e77ec40f3e082105

To confirm the binary matches the source rather than trusting it:

  1. Check out Chromium at base commit 945b5115
  2. Apply the series with git am patches/*.patch
  3. Use the args.gn documented in the README
  4. Run gn gen out/<name> && autoninja -C out/<name> -j 12 chrome_public_apk
  5. Compare sha256sum out/<name>/apks/ChromePublic.apk against the hash above

Two things this does not yet prove, stated plainly:

  • Reproducibility has been confirmed within one container image. A rebuild on different hardware,
    or in a container built at a different time, has not been tested. The Dockerfile installs
    packages with apt-get and so drifts over time, though Chromium ships a hermetic toolchain
    through DEPS, which should make the host package set irrelevant.
  • If your rebuild produces a different hash, please open an issue. That is the missing
    measurement, and a report would be genuinely useful.

What you get

  • Real browser extensions. Password managers, ad blockers, dark mode, the same extensions you
    would use on a desktop. Upstream exposes this only at tablet widths; here it works on a phone.
  • DuckDuckGo by default, and you can now add any search engine you like and make it the
    default.
  • No sign-in surfaces. No settings row, no Google services page, no first-run screen, no new
    tab page promo cards, no avatar button.
  • No Gemini. The bottom bar button is gone, it cannot be added back from Settings, and the
    built-in @gemini and @aimode search shortcuts are removed.
  • Links open in the browser, not handed off to whichever app claims the domain.
  • Video that behaves. Ordinary and paid streaming both play. Fullscreen respects your
    rotation lock, fills the screen properly, and keeps its controls on the video.
  • Dark mode that stays dark, with no white flash between pages.
  • Security kept deliberately. Protections against fake certificates and downgraded
    connections remain.

Install

Requires an arm64 Android device, Android 10 (SDK 29) or newer.

adb install -r ChromiumExtend-v1.4-153.0.7999.0-arm64.apk

Or copy the APK to the device and open it, allowing installation from unknown sources.

Signed with a local debug key, so it will not upgrade over a Play Store Chrome or Chromium
install. It installs as its own app, org.chromium.chrome, and upgrades cleanly over v1.0
through v1.3.

Upgrading from an earlier version keeps your current search engine. Chromium stores the
chosen engine per profile and prefers it over the shipped default, so only a fresh install gets
DuckDuckGo. Change it under Settings, Search engine.

Some new defaults apply to new profiles only. The toolbar shortcut and the new tab page
layout are read once per profile, so an existing install keeps what it already had. Everything
under New in v1.4 can still be set by hand.

Known limitations

  • External downloads lose your sign-in. With the external download manager setting on, a file
    requiring you to be signed in will fail in the other app. The interception point carries no
    cookie, and passing credentials needs a different layer.
  • Passkeys do not work. FIDO2_PRIVILEGED_API is restricted to Google-signed browsers, so
    any self-built Chromium is refused. Inherent to self-building, not caused by these patches.
  • Web Push is gone, as a consequence of removing the Google Cloud Messaging channel.
  • Manifest V2 extensions are not supported. Upstream removed both the manifest support and
    the renderer bindings the extensions rely on. Re-enabling only the manifest check causes
    renderer crashes, so it was tried and reverted. Use uBlock Origin Lite rather than uBlock
    Origin.
  • Extension popups can be cropped, since extensions size their popup to content and may
    request more width than a phone has.
  • The omnibox is squeezed when several extensions are pinned.
  • A custom search engine has no logo on the new tab page. Engines added by hand carry no logo
    image, so the new tab page shows none. Cosmetic only.
  • Widevine is detected, but protected playback has not been exercised end to end.

License

BSD-3-Clause. The patches modify Chromium source and are subject to Chromium's license.
Chromium is a trademark of Google LLC. This project is unaffiliated.