If you want to build the Android client then you will need to follow instructions here to sync Android related code as well.

Using GN

Blimp only supports building using GN. A quick overview over how to use GN can be found in the GN quick start guide.


There are two different build configurations depending on what you want to build, either the client or the engine.

Regardless of which you build, it is helpful to setup the following environment variable in your shell to get a better view of how the build is progressing:

export NINJA_STATUS="[%r %f/%s/%u/%t] "

It will give you a count for the following values: [RUNNING FINISHED/STARTED/NOT_STARTED/TOTAL]. See the ninja manual for a full list of template values.

Android client

Create an out-directory and set the GN args:

mkdir -p out-android/Debug
echo "import(\"//build/args/\")" > out-android/Debug/
gn gen out-android/Debug

To build:

ninja -C out-android/Debug blimp chrome_public_apk_incremental

This will also generate an incremental APK, which you can install with this command:


During development, it might be beneficial to put these two commands together like this:

ninja -C out-android/Debug blimp chrome_public_apk_incremental && \

To add your own build preferences:

gn args out-android/Debug

For example, you can build x86 APK by adding target_cpu = "x86" to the gn args.


Create another out-directory and set the GN args:

mkdir -p out-linux/Debug
echo "import(\"//build/args/\")" > out-linux/Debug/
gn gen out-linux/Debug

To build:

ninja -C out-linux/Debug blimp

To add your own build preferences

gn args out-linux/Debug

Adding new build arguments

Adding new build arguments should be fairly rare. Arguments first need to be declared.

They can then be used to change how the binary is built or passed through to code as a defines.

Finally the Blimp argument templates should be updated to reflect the (non-default for Chrome) behavior desired by Blimp (see below).

Updating bulid arguments in templates

Build argument templates exist for the client and engine at build/args/ and build/args/

These can be updated as in the same manner as your personal files to override default argument values.