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 |
| 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
- β³ Cookie auto-deletion
- β³ Advanced privacy settings
Performance Optimizations
- β³ Skia rendering improvements
- β³ Memory usage optimization
- β³ Faster JavaScript execution
- β³ Reduced startup time
Android-Specific
- β³ Better battery optimization
- β³ Improved gesture controls
- β³ Enhanced mobile UI/UX
- β³ Better support for low-end devices
π¦ 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 |
| Legend: β Complete | β³ In Progress | β Blocked | π Planned |
π€ Contributing
Areas for Contribution
- Performance patches
- Privacy enhancements
- UI/UX improvements
- Bug fixes
- Documentation
Patch Submission
- Fork the repository
- Create a feature branch
- Implement changes
- Test thoroughly
- Submit pull request with patch file
β οΈ Important Notes
Legal Considerations
- 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