Android build for ungoogled-chromium. https://uc.droidware.info
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
7.6 KiB

3 years ago
# ungoogled-chromium-android
1 year ago
Please see [CHANGELOG](CHANGELOG.md) for latest updates.
3 years ago
*A lightweight approach to removing Google web service dependency*
*Note: this is an **Android** build.*
3 years ago
1 year ago
**Help is welcome!**
3 years ago
For more information on `ungoogled-chromium`, please visit the original repo: [Eloston/ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium).
3 years ago
## Content Overview
1 year ago
* [Objectives](#objectives)
3 years ago
* [Differences from ungoogled-chromium](#differences-from-ungoogled-chromium)
* [Limitations](#limitations)
* [Platforms and Versions](#platforms-and-versions)
3 years ago
* [Building Instructions](#building-instructions)
* [Reporting and Contributing](#reporting-and-contributing)
* [Extensions](#extensions)
3 years ago
* [F-droid Repository](#f-droid-repository)
* [Credits](#credits)
* [Related Projects](#related-projects)
2 years ago
* [Sponsors](#sponsors)
3 years ago
* [License](#license)
1 year ago
## Objectives
In descending order of significance (i.e. most important objective first):
3 years ago
1 year ago
1. **ungoogled-chromium is Google Chromium, sans dependency on Google web services**.
2. **ungoogled-chromium retains the default Chromium experience as closely as possible**. Unlike other Chromium forks that have their own visions of a web browser, ungoogled-chromium is essentially a drop-in replacement for Chromium.
3. **ungoogled-chromium features tweaks to enhance privacy, control, and transparency**. However, almost all of these features must be manually activated or enabled. For more details, see [Feature Overview](https://github.com/eloston/ungoogled-chromium#feature-overview).
## Differences from ungoogled-chromium
3 years ago
1 year ago
*These are the differences between a Linux build of ungoogled-chromium and ungoogled-chromium-android.*
* Disable/Remove Android specific functionalities:
* Contextual search
* Lite mode
* Offline indicator
* Prefetch
* Home page links
* Unnecessary account permissions
1 year ago
* Android specific enhancements:
* Add `Startpage.com` and `Qwant.com` as search engine options
* Add new folder button in bookmark manager
* Add back flags to enable deprecated TLS warnings
* Add flag to enable update notifications (disabled by default and will only send a single `GET` request to my server periodically)
* Add flags to always send `save-data` flag in header
* Add flags to force tablet UI and desktop mode
2 months ago
* Add flag to disable WebRTC. This flag is enabled by default.
1 year ago
* Borrowed from Bromite:
* Always incognito mode
* Bookmark import/export options
* Clear open tabs between sessions
1 year ago
* Disable DRM media preprovisioning which leaks connections
* DNS-over-https by default
* Exit menu item
* Proxy configuration
* WebGL flag
* Borrowed from Vanadium:
* Disable seed-based field trials
* Disable media router
* Disable metrics
* Enable user-agent freeze
* Enable split cache, partitioning connections, strict site isolation
* Various compiling time enhancements
1 year ago
* All Google play and Google service related blobs are removed. This includes Firebase, GCM (Google Cloud Messaging), GMS (Google Mobile Services) and bridge to Google Play.
* Releases are built for `arm`, `arm64` and `x86`. There is no `x86_64` build.
3 years ago
## Limitations
The enhancements included in ungoogled-chromium **are not to be considered useful for journalists, people living in countries with freedom limitations, and those who are facing government-level adversaries**. Please look at tools specifically developed for these purposes, for example [Tor Browser](https://www.torproject.org/download/) in such cases.
## Platforms and Versions
3 years ago
Pre-built apks are named as `{BUILD_TARGET}_{CPU_ARCH}.apk`, where:
* `{BUILD_TARGET}` is one of `ChromeModernPublic`, `Trichrome`, `SystemWebview`.
* `ChromeModernPublic` is for API >= 21 (Android 5.0) and only contains the browser.
* `Trichrome` is for API >= 29 (Android 10) and only contains the browser. *Note: `Trichrome` has two apks, you need to install both for ungoogled-chromium to work.*
* `SystemWebview` is for >= API 21 (Android 5.0) and only contains the webview.
* `{CPU_ARCH}` is one of `x86`, `arm` (armeabi-v7a), `arm64` (arm64-v8a).
* Please also read this [important note](https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Important-notes-for-N_P) about Webview on Android N-P.
* The [Bromite Wiki](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) can also be helpful.
3 years ago
3 years ago
## Building Instructions
6 months ago
*This build is built using [Android rebuilds](https://github.com/wchen342/android-rebuilds) instead of SDK/NDK binaries from Google.*
3 years ago
3 years ago
* Clone this repository
1 year ago
* Make sure you have enough disk space and memory to build chromium
3 years ago
* enter repo directory and run `./build.sh`.
1 year ago
Build time dependencies (*package names as in Fedora 33. Other distributions may have different package names*):
<details>
<summary>required packages</summary>
```
bison
bzip2
clang
curl
dbus-devel
expat-devel
fakeroot-libs.i686
flex
git
glib2
glib2-devel
glibc.i686
glibc-devel.i686
gnupg2
gperf
java-1.8.0-openjdk-devel
java-1.8.0-openjdk-headless
java-11-openjdk
java-11-openjdk-devel
java-11-openjdk-headless
krb5-devel
libatomic-static
libdrm-devel
libgcc.i686
libstdc++-static
libtool-ltdl.i686
libtool-ltdl-devel.i686
libuuid-devel
libxkbcommon-devel
lld
llvm
make
maven
ninja-build
nodejs
npm
nss-devel
passwd
patch
perl
protobuf
python2.7
python3
rsync
tar
unzip
yasm
wget
```
</details>
3 years ago
For a more customized building process, see building instructions from [the original repo](https://github.com/Eloston/ungoogled-chromium/blob/master/docs/building.md).
3 years ago
## Reporting and Contributing
* For reporting issues and contacting, see [SUPPORT](SUPPORT.md)
* Bug reports and code contributions are welcomed.
3 years ago
## Extensions
*The extension support version has been discontinued.* The last version is `88.0.4324.182`. It will still be available for downloading, but no new version will be released.
The extension patches can be found at [chromium-android-extension](https://github.com/wchen342/chromium-android-extension). Anyone interested is welcomed to fork and keeps working on it.
1 year ago
## F-Droid Repository
3 years ago
I have set up a F-Droid repository. You can use F-Droid client and add the following repository, depending on your device:
3 years ago
- For 32-bit `arm` devices, add [this repository](https://www.droidware.info/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
- For 64-bit `arm64` devices, add [this repository](https://www.droidware.info/arm64/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
- For `x86` devices, add [this repository](https://www.droidware.info/x86/fdroid/repo?fingerprint=2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851)
3 years ago
3 years ago
## Credits
2 years ago
* [The Chromium Project](https://www.chromium.org/)
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium)
* [xsmile's fork](https://github.com/xsmile/ungoogled-chromium/tree/android)
* [Bromite](https://github.com/bromite/bromite)
* [Kiwi Browser](https://github.com/kiwibrowser)
* [dvalter's patches](https://github.com/dvalter/chromium-android-ext-dev)
3 years ago
## Related Projects
2 years ago
* [Bromite](https://github.com/bromite/bromite) (Another build for Android. Has some own features.)
3 years ago
2 years ago
## Sponsors
* Thanks to [Gandi.net](https://www.gandi.net/) for kindly providing us with building servers.
3 years ago
## License
2 years ago
See [LICENSE](LICENSE.md).