| commit | bd98b551000d1f2a317cf1c5ece797a3f36561e0 | [log] [tgz] |
|---|---|---|
| author | Ulya Trafimovich <skvadrik@google.com> | Mon Dec 09 16:00:01 2019 +0000 |
| committer | Ulya Trafimovich <skvadrik@google.com> | Fri Jan 10 15:29:42 2020 +0000 |
| tree | e3c16e02a52c59af229adba47f840598aa30d7fb | |
| parent | c30b734f427915ecc92677017b71d6e005d806bf [diff] |
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
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.