background image

eng

development configuration with additional debugging tools

For more information about building for and running on actual hardware, see 

Building for devices

Build the Code 

Build  everything with make. GNU make can handle parallel  tasks with a -jN argument,  and it's 
common to use a number of tasks N that's between 1 and 2 times the number of hardware threads 
on the computer being used for the build. E.g. on a dual-E5520 machine (2 CPUs, 4 cores per CPU, 
2 threads per core), the fastest builds are made with commands betweenmake -j16 and make -j32.

$ make -j4 Run It! 

You can either run your build on an emulator or flash it on a device. Please note that you have 
already selected your build target with lunch, and it is unlikely at best to run on a different target than 
it was built for.

Flash a Device 

To flash a device, you will need to use fastboot, which should be included in your path after a 
successful build. Place the device in fastboot mode either manually by holding the appropriate key 
combination at boot, or from the shell with

$ adb reboot bootloader 

Once the device is in fastboot mode, run

$ fastboot flashall -w 

The -w option wipes the /data partition on the device; this is useful for your first time flashing a 
particular device, but is otherwise unnecessary.

For more information about building for and running on actual hardware, see 

Building for devices

Emulate an Android Device 

The emulator is added to your path automatically by the build process. To run the emulator, type

$ emulator Using ccache 

ccache is a compiler cache for C and C++ that can help make builds faster. In the root of the source 
tree, do the following:

$   export   USE_CCACHE=1   $   export   CCACHE_DIR=/<path_of_your_choice>/.ccache   $ 
prebuilt/linux-x86/ccache/ccache -M 20G 

You can watch ccache being used by doing the following:

$ watch -n1 -d prebuilt/linux-x86/ccache/ccache -s