.github
Propagate Chromium patch update failuresbuild-config
Initial repository setup for Chromium Android Desktop foldable forkpatches
Fix FoldablePostureController to use correct AndroidX Window extensions APIscripts
Protect uncommitted Chromium source changestests
Protect uncommitted Chromium source changes.gitignore
Update to latest snapshot 1570819CHROMIUM_COMMIT
Update to latest snapshot 1570819README.md
Protect uncommitted Chromium source changesVERSION
Update to latest snapshot 1570819Chromium Foldable - Android Desktop ARM64 Fork
Custom Chromium build for Android foldable devices with desktop mode enhancements.
Overview
This repository maintains a customized Chromium fork targeting Android Desktop ARM64 with:
- Foldable device optimizations
- Desktop/mobile mode switching for foldable screens
- Extensions menu customizations for folded displays
- Upstream tracking via Chromium snapshots
Build Platform: Android ARM64 (arm64-v8a) Source: Android Desktop ARM64 Snapshots
Repository Structure
chromium-foldable/
├── README.md # This file
├── VERSION # Current Chromium version
├── CHROMIUM_COMMIT # Upstream commit hash
├── patches/ # Customization patches
│ └── series # Patch application order
├── build-config/
│ ├── args.gn # GN build arguments
│ └── .gclient # depot_tools checkout config
└── scripts/
├── setup-depot-tools.sh # One-time setup
├── fetch-chromium.sh # Fetch source
├── apply-patches.sh # Apply patches
├── build.sh # Build APK
├── create-patch.sh # Create new patch
└── update-to-version.sh # Update Chromium versionSystem Requirements
- OS: Linux (tested on Fedora 44)
- RAM: 32GB+ recommended (16GB minimum)
- Disk: 500GB+ free space
- CPU: 16+ cores recommended
Quick Start
1. Install System Dependencies (Fedora)
sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries"
sudo dnf install git python3 curl gperf bison flex ninja-build \
nss-devel alsa-lib-devel gtk3-devel libXScrnSaver-devel \
libdrm-devel libgbm-devel libxkbcommon-devel mesa-libGL-devel \
cups-devel pango-devel freetype-devel2. Setup depot_tools
./scripts/setup-depot-tools.sh
export PATH="$(pwd)/depot_tools:$PATH"3. Fetch Chromium Source
./scripts/fetch-chromium.shThis fetches the version specified in VERSION file. First fetch takes several hours.
4. Install Android Build Dependencies
cd chromium/src
./build/install-build-deps.sh --android
cd ../..5. Apply Patches
./scripts/apply-patches.sh6. Build
./scripts/build.shOutput APK: chromium/src/out/Release/apks/ChromePublic.apk
Managing Patches
Creating a New Patch
- Make changes in
chromium/src/ - Run:
./scripts/create-patch.sh "patch-name" "Description" - Add patch filename to
patches/series
Key Source Locations
For foldable desktop/mobile mode switching:
ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.javachrome/browser/ui/android/desktop_site/chrome/android/java/src/org/chromium/chrome/browser/toolbar/
For extensions menu customization:
chrome/browser/ui/android/toolbar/chrome/browser/ui/toolbar/app_menu_model.ccchrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
Updating to a New Chromium Version
./scripts/update-to-version.sh 133.0.6900.0This will:
- Refuse to proceed if
chromium/srccontains uncommitted work - Backup existing patches
- Fetch the new Chromium version
- Attempt to apply patches (may need rebasing)
Build Configuration
Build settings are in build-config/args.gn:
target_os = "android"
target_cpu = "arm64"
is_debug = false
is_official_build = true
enable_desktop_android = trueLicense
Chromium is licensed under the BSD license. See Chromium License.
Custom patches in this repository are available under the same license.