No description
Find a file
Isaac Chen 5bf9ac508c Move emulator specific configurations to vendor
The moved files are all emulator specific so should reside in vendor
directory/partition. This modification resolves a Launcher crash
issue when GSI boots on the emulator. Directly relevant file is
handheld_core_hardware.xml, which is absent from the GSI.

All other files moved in this change can cause similar issues (if they
stay under /system) since they aren't present on GSI, either.

Bug: 67987112
Test: x86 GSI boots to home screenon with 2 emulator products, aosp_x86,
      and sdk_gphone_x86 on the x86 emulator (on internal master).
      Both aosp_x86 and aosp_x86_64 boot to home screen on the emulator.
      Both aosp_arm and sdk_phone_arm boot to home screen on the arm
      emulator.

Change-Id: I2ff4f71b89d84dab322d00cf846cf06c98a1e8a7
2017-11-07 11:41:51 +08:00
core Merge changes Ib37508d4,Ia46ac30e am: dcd46870f2 2017-11-06 23:04:35 +00:00
target Move emulator specific configurations to vendor 2017-11-07 11:41:51 +08:00
tests Only set TARGET_PLATFORM version in lunch when explicitly requested 2017-05-03 02:47:59 +00:00
tools Merge changes Ib37508d4,Ia46ac30e am: dcd46870f2 2017-11-06 23:04:35 +00:00
.gitignore Add build subprojects to .gitignore 2015-07-23 13:18:47 -07:00
Android.mk Fix the build when using findleaves.py 2017-08-08 09:45:12 -07:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
CleanSpec.mk Remove PRODUCT_AAPT2_CFLAGS and PRODUCT_AAPT_FLAGS 2017-10-27 16:25:55 -07:00
envsetup.sh resolve merge conflicts of 0c8b471be3 to stage-aosp-master 2017-10-23 11:41:58 -04:00
help.sh Consolidate build system usage documentation into source control 2017-08-09 12:58:30 -07:00
OWNERS Add OWNERS in build/make 2017-06-21 16:09:56 -07:00
README.txt Consolidate build system usage documentation into source control 2017-08-09 12:58:30 -07:00
tapasHelp.sh Support 'tapas help' for more-detailed tapas help 2017-09-11 15:03:50 -07:00

Android build system usage:

m [-j] [<targets>] [<variable>=<value>...]


Ways to specify what to build:
  The common way to specify what to build is to set that information in the
  environment via:

    # Set up the shell environment.
    source build/envsetup.sh # Run "hmm" after sourcing for more info
    # Select the device and variant to target. If no argument is given, it
    # will list choices and prompt.
    lunch [<product>-<variant>] # Selects the device and variant to target.
    # Invoke the configured build.
    m [<options>] [<targets>] [<variable>=<value>...]

      <product> is the device that the created image is intended to be run on.
        This is saved in the shell environment as $TARGET_PRODUCT by `lunch`.
      <variant> is one of "user", "userdebug", or "eng", and controls the
        amount of debugging to be added into the generated image.
        This gets saved in the shell environment as $TARGET_BUILD_VARIANT by
          `lunch`.

    Each of <options>, <targets>, and <variable>=<value> is optional.
      If no targets are specified, the build system will build the images
      for the configured product and variant.

  An alternative to setting $TARGET_PRODUCT and $TARGET_BUILD_VARIANT,
  which you may see in build servers, is to execute:

    make PRODUCT-<product>-<variant>


  A target may be a file path. For example, out/host/linux-x86/bin/adb .
    Note that when giving a relative file path as a target, that path is
    interpreted relative to the root of the source tree (rather than relative
    to the current working directory).

  A target may also be any other target defined within a Makefile. Run
    `m help` to view the names of some common targets.

  To view the modules and targets defined in a particular directory, look for:
    files named *.mk (most commonly Android.mk)
      these files are defined in Make syntax
    files named Android.bp
      these files are defined in Blueprint syntax

  For now, the full (extremely large) compiled list of targets can be found
    (after running the build once), split among these two files:

    ${OUT}/build-<product>*.ninja
    ${OUT}/soong/build.ninja

    If you find yourself interacting with these files, you are encouraged to
    provide a more convenient tool for browsing targets, and to mention the
    tool here.

Targets that adjust an existing build:
  showcommands              Display the individual commands run to implement
                            the build
  dist                      Copy into ${DIST_DIR} the portion of the build
                            that must be distributed

Flags
  -j <N>                    Run <N> processes at once
  -j                        Autodetect the number of processes to run at once,
                            and run that many

Variables
  Variables can either be set in the surrounding shell environment or can be
    passed as command-line arguments. For example:
      export I_AM_A_SHELL_VAR=1
      I_AM_ANOTHER_SHELL_VAR=2 make droid I_AM_A_MAKE_VAR=3
  Here are some common variables and their meanings:
    TARGET_PRODUCT          The <product> to build # as described above
    TARGET_BUILD_VARIANT    The <variant> to build # as described above
    DIST_DIR                The directory in which to place the distribution
                            artifacts.
    OUT_DIR                 The directory in which to place non-distribution
                            artifacts.

  There is not yet known a convenient method by which to discover the full
  list of supported variables. Please mention it here when there is.