Go to file
Ulya Trafimovich bd98b55100 Use boot image extension in the JIT-zygote experiment.
Test: temporarily enable JIT-zygote configuration, build, boot the
  device and ensure that the JIT-zygote specific boot image
  apex-framework.art is mapped in the zygote address space:

  1. enable Jit zygote in the product device config (in my case
    device/google/muskie/aosp_walleye.mk):

    +# System server should not contain compiled code.
    +PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := verify
    +
    +# Use the apex image for preopting.
    +DEXPREOPT_USE_APEX_IMAGE := true
    +
    +# Have the runtime pick up the apex image.
    +PRODUCT_PROPERTY_OVERRIDES += \
    +    dalvik.vm.boot-image=/apex/com.android.art/javalib/apex.art:/system/framework/apex-framework.art

  2. lunch aosp_walleye-userdebug \
    && m \
    && adb reboot bootloader \
    && fastboot flashall -w

  3. adb shell cat /proc/`adb shell ps | grep zygote64 | awk {'print $2'}`/maps | grep apex-framework.art
  6fe44000-7025c000 rw-p 00000000 fc:02 1179718                            /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art
  70571000-70696000 rw-p 0072d000 fc:02 1179718                            /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art
  75a339f000-75a33ac000 r--p 00852000 fc:02 1179718                        /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art

Change-Id: I6818fde087ec562057631003265bc1ec0e91688c
2020-01-10 15:29:42 +00:00
common Move TOP/TOPDIR to build/make/common/core.mk 2019-08-08 10:58:09 -07:00
core Use boot image extension in the JIT-zygote experiment. 2020-01-10 15:29:42 +00:00
packaging Fix creating _dist_<goal> targets under !dist 2018-10-21 08:56:27 -07:00
target Merge "Revert "unbreak sdk_phone_x86 boot"" 2020-01-09 16:56:35 +00:00
tests Only set TARGET_PLATFORM version in lunch when explicitly requested 2017-05-01 14:26:40 -07:00
tools Merge "Add system_ext to VINTF search paths." 2020-01-07 23:04:54 +00:00
.gitignore Add build subprojects to .gitignore 2015-07-23 13:18:47 -07:00
Changes.md Add BUILD_BROKEN_NINJA_USES_ENV_VARS 2020-01-02 20:09:25 -08:00
CleanSpec.mk Remove Soong intermdiates after moving image mutator 2019-12-17 14:53:49 -08:00
Deprecation.md Start the deprecation of BUILD_HOST_STATIC_LIBRARY 2019-06-14 09:37:42 -07:00
OWNERS Add more OWNERS 2019-06-17 15:22:33 -07:00
README.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
Usage.txt Remove the PRODUCT-* goal 2019-07-29 14:27:04 -07:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
envsetup.sh Merge "Update the docs for 'mm[m][a]'" 2019-11-01 06:42:14 +00:00
help.sh Rename product_services to system_ext 2019-07-09 08:57:19 +00:00
navbar.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
tapasHelp.sh Remove armv5te 2018-01-08 15:26:16 -08:00

README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.