Build instructions

General considerations

The SDK is built using:

Not sure what build variant should be used: user should be optimized (but fails sometimes for win_sdk targets), documentation mentions to eng, and system images product targets default to userdebug.

Product and variant can be selected using lunch:

lunch <product_name>-<build_variant>
e.g. lunch sdk-eng

or using a PRODUCT target:

PRODUCT-$TARGET_BUILD_PRODUCT-$TARGET_BUILD_VARIANT
  if $TARGET_BUILD_VARIANT is in (user, userdebug, eng)

PRODUCT-$TARGET_BUILD_PRODUCT-$GOAL
  => TARGET_PRODUCT=$TARGET_BUILD_PRODUCT make $GOAL
     variant 'userdebug'
e.g. make PRODUCT-sdk_arm64-sdk => TARGET_PRODUCT='sdk_arm64' make sdk

The build architecture allow building emulator system images for other architectures than armv7 (x86, arm64...).

Modifiers:

  • showcommands: verbose mode
  • dist: in addition to scattering files in out/host/, copies important build results in out/dist/
  • sdk_repo: re-zips the SDK as individual components (build-tools, platform...) and generates XML for a sdkmanager repository

Targeted rebuilds

Package versions

Unrelated to binaries versions.
Check the development.git repository to locate version changes.