Chromium Browser for Android

Custom Chromium browser development for Android with performance optimizations and privacy enhancements.

Project Goal

The current plan is to fork Brave Browser and apply custom patches for enhanced performance and features on Android devices.


Base Project

Brave Browser

Repository: brave/brave-browser

Why Brave?

  • Built on Chromium with privacy-first approach
  • Active development and maintenance
  • Built-in ad/tracker blocking
  • Strong Android support
  • Open source with permissive license

Planned Patches

Performance Optimizations

1. Skia Scale Patch

Source: thorium/skia_scale.patch

Purpose: Optimizes Skia graphics rendering for better performance and reduced memory usage on mobile devices.

Benefits:

  • Improved scrolling performance
  • Better canvas rendering
  • Reduced GPU memory consumption
  • Smoother animations

Reference Projects

These projects serve as inspiration and reference for custom Chromium builds:

Core References

Project Description Key Features Link
Brave Core Brave’s core functionality Privacy features, crypto wallet, rewards GitHub
Cromite Privacy-focused Chromium fork Enhanced security, debloated GitHub
Bromite Android Chromium fork Ad blocking, privacy features, wiki docs GitHub
Thorium Performance-optimized Chromium Speed optimizations, patches GitHub

Additional References

Project Focus Area Link
Ultimatum Custom Chromium build GitHub
Trivalent Secure Chromium variant GitHub
Helium Browser Android-optimized browser GitHub

Development Setup

Prerequisites

# Install depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH:/path/to/depot_tools"

# System requirements
# - Ubuntu 20.04+ or Debian 11+
# - 64GB+ RAM recommended
# - 200GB+ free disk space
# - Python 3.8+

Clone Brave Browser

# Clone the repository
git clone https://github.com/brave/brave-browser.git
cd brave-browser

# Initialize and sync
npm install
npm run init

# Sync Chromium and dependencies
npm run sync

Apply Custom Patches

# Create patches directory
mkdir -p patches/custom

# Download Skia scale patch
curl -o patches/custom/skia_scale.patch \
  https://raw.githubusercontent.com/Alex313031/thorium/main/other/skia_scale.patch

# Apply patch
cd src
git apply ../patches/custom/skia_scale.patch

Planned Features

Privacy Enhancements

  • Built-in ad/tracker blocking (from Brave)
  • Enhanced fingerprinting protection (planned)
  • Cookie auto-deletion (planned)
  • Advanced privacy settings (planned)

Performance Optimizations

  • Skia rendering improvements (planned)
  • Memory usage optimization (planned)
  • Faster JavaScript execution (planned)
  • Reduced startup time (planned)

Android-Specific

  • Better battery optimization (planned)
  • Improved gesture controls (planned)
  • Enhanced mobile UI/UX (planned)
  • Better support for low-end devices (planned)

Build Process

Building for Android

# Set up Android build environment
npm run build -- --target_os=android --target_arch=arm64

# Configure build
gn args out/android_arm64

# Build flags (add to args.gn)
target_os = "android"
target_cpu = "arm64"
is_official_build = true
is_debug = false

# Build
ninja -C out/android_arm64 chrome_public_apk

# Output APK location
# out/android_arm64/apks/BraveMonoPublic.apk

Build Variants

Variant Target Description
arm 32-bit ARM Older devices
arm64 64-bit ARM Modern devices (recommended)
x86 32-bit Intel Emulators
x86_64 64-bit Intel Emulators, Chrome OS

Testing

Installation

# Install APK via ADB
adb install -r out/android_arm64/apks/BraveMonoPublic.apk

# Or install on emulator
adb -e install -r out/android_arm64/apks/BraveMonoPublic.apk

Performance Testing

# Monitor performance
adb shell dumpsys meminfo com.brave.browser
adb shell dumpsys gfxinfo com.brave.browser

# Capture logs
adb logcat | grep -i chromium

Patch Management

Creating Patches

# Make changes in src/
cd src
git add .
git commit -m "Description of changes"

# Create patch file
git format-patch HEAD~1 --stdout > ../patches/custom/my_patch.patch

Applying Multiple Patches

# Apply all patches in directory
for patch in patches/custom/*.patch; do
    git apply "$patch"
done

Useful Resources

Documentation

Patch Repositories

Communities


Development Status

Component Status Notes
Base Fork Planning Brave browser fork
Skia Patch Pending Performance optimization
Build System Pending Android build configuration
Testing Pending Device testing
Release Pending Initial release

Contributing

Areas for Contribution

  1. Performance patches
  2. Privacy enhancements
  3. UI/UX improvements
  4. Bug fixes
  5. Documentation

Patch Submission

  1. Fork the repository
  2. Create a feature branch
  3. Implement changes
  4. Test thoroughly
  5. Submit pull request with patch file

Important Notes

  • Respect Chromium and Brave licenses
  • Maintain attribution
  • Don’t use official Brave branding without permission
  • Comply with WebKit/Chromium trademark policies

Build Requirements

  • Time: Initial build takes 2-4 hours
  • Storage: ~200GB for full checkout
  • RAM: 16GB minimum, 64GB recommended
  • CPU: Multi-core processor recommended