Brave Android Browser
Building the Browser
System Requirements
- OS Linux, Ubuntu (14.04 - 18.04) is completely supported. Other distros may or may not work
- Make sure you have enough swapspace available
- node
Preparing the Build Environment
-
Clone Chromium's depot_tools repository:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git -
Add the absolute path of the cloned directory to the end of your PATH variable (You may want to put this in
~/.bashrcor~/.zshrc.). Assuming you cloneddepot_toolsto/path/to/depot_tools:export PATH=$PATH:/path/to/depot_tools -
Create a
browser-android-tabsparent directory:mkdir browser-android-tabs -
Switch to the directory you just created:
cd browser-android-tabs -
Clone the repository to the
srcsubdirectory:git clone https://github.com/brave/browser-android-tabs.git src -
Switch to the directory you just cloned:
cd src -
Execute the
scripts/getThirdParties.jsscript:sh scripts/getThirdParties.js -
Enter information as requested by the script.
-
Run
gn args out/Default. When asked to create a file for arguments, use this gn file.
Making the Build
Debug
-
From the
browser-android-tabs/srcdirectory, execute the following:ninja -C out/Default chrome_public_apk -
Deploy it to your Android device:
build/android/adb_install_apk.py out/Default/apks/Brave.apk
Release (arm)
-
Create configuration in a new folder:
gn args out/DefaultR -
Set these settings in
args.gnfile. -
From the
browser-android-tabs/srcdirectory, execute the following:ninja -C out/DefaultR chrome_public_apk -
Sign apk using these steps.
Release (x86)
-
Create configuration in a new folder:
gn args out/Defaultx86 -
Set these settings in
args.gnfile. -
From the
browser-android-tabs/srcdirectory, execute the following:ninja -C out/Defaultx86 chrome_public_apk -
Sign apk using these steps.
Build release apks with ./scripts/buildReleasesAllAndModern.sh
To run build release script and compress symbols, pv and 7z are required:
sudo apt-get update
sudo apt-get install pv
sudo apt-get install p7zip-full
Known Limitations
- The browser will not compile in an encrypted file system.
Debugging
-
See https://www.chromium.org/developers/how-tos/debugging-on-android for the general debug process.
-
See https://www.chromium.org/developers/android-eclipse-dev to configure the Eclipse IDE.