aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk1
-rw-r--r--core/Makefile14
-rw-r--r--core/OWNERS2
-rw-r--r--core/clear_vars.mk1
-rw-r--r--core/config.mk53
-rw-r--r--core/definitions.mk6
-rw-r--r--core/dex_preopt.mk2
-rw-r--r--core/dex_preopt_config.mk11
-rw-r--r--core/dex_preopt_libart_boot.mk4
-rw-r--r--core/package_internal.mk66
-rw-r--r--core/prebuilt_internal.mk6
-rw-r--r--core/product.mk1
-rw-r--r--core/product_config.mk12
-rw-r--r--core/soong_config.mk2
-rw-r--r--target/Android.mk23
-rw-r--r--target/board/BoardConfigEmuCommon.mk4
-rw-r--r--target/board/BoardConfigGsiCommon.mk19
-rw-r--r--target/board/generic_arm64_a/BoardConfig.mk5
-rw-r--r--target/board/generic_arm64_ab/BoardConfig.mk11
-rw-r--r--target/board/generic_arm_a/BoardConfig.mk8
-rw-r--r--target/board/generic_arm_ab/BoardConfig.mk12
-rw-r--r--target/board/generic_x86_64_a/BoardConfig.mk5
-rw-r--r--target/board/generic_x86_64_ab/BoardConfig.mk11
-rw-r--r--target/board/generic_x86_a/BoardConfig.mk8
-rw-r--r--target/board/generic_x86_ab/BoardConfig.mk12
-rw-r--r--target/board/treble_common.mk69
-rw-r--r--target/board/treble_common_32.mk17
-rw-r--r--target/board/treble_system.prop8
-rw-r--r--target/product/aosp_arm64_a.mk2
-rw-r--r--target/product/aosp_arm64_ab.mk2
-rw-r--r--target/product/aosp_arm_a.mk2
-rw-r--r--target/product/aosp_arm_ab.mk2
-rw-r--r--target/product/aosp_x86_64_a.mk2
-rw-r--r--target/product/aosp_x86_64_ab.mk2
-rw-r--r--target/product/aosp_x86_a.mk2
-rw-r--r--target/product/aosp_x86_ab.mk2
-rw-r--r--target/product/base_system.mk3
-rw-r--r--target/product/base_vendor.mk4
-rw-r--r--target/product/gsi/current.txt1
-rw-r--r--target/product/handheld_system.mk19
-rw-r--r--target/product/handheld_vendor.mk24
-rw-r--r--target/product/languages_default.mk105
-rw-r--r--target/product/languages_full.mk97
-rw-r--r--target/product/mainline.mk (renamed from target/board/treble_common_64.mk)11
-rw-r--r--target/product/mainline_arm64.mk41
-rw-r--r--target/product/mainline_system.mk6
-rw-r--r--target/product/media_vendor.mk5
-rw-r--r--target/product/telephony_system.mk2
-rw-r--r--target/product/telephony_vendor.mk6
-rw-r--r--tools/Android.mk23
-rw-r--r--tools/droiddoc/Android.mk17
-rwxr-xr-xtools/releasetools/add_img_to_target_files.py5
-rw-r--r--tools/signapk/Android.bp6
-rw-r--r--tools/signapk/Android.mk26
54 files changed, 362 insertions, 448 deletions
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 5053e7d64..000000000
--- a/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
1include $(call all-subdir-makefiles)
diff --git a/core/Makefile b/core/Makefile
index 1b2b7041e..f6a246bcb 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -3426,6 +3426,8 @@ define dump-dynamic-partitions-info
3426 echo "lpmake=$(notdir $(LPMAKE))" >> $(1) 3426 echo "lpmake=$(notdir $(LPMAKE))" >> $(1)
3427 $(if $(filter true,$(PRODUCT_BUILD_SUPER_PARTITION)), $(if $(BOARD_SUPER_PARTITION_SIZE), \ 3427 $(if $(filter true,$(PRODUCT_BUILD_SUPER_PARTITION)), $(if $(BOARD_SUPER_PARTITION_SIZE), \
3428 echo "build_super_partition=true" >> $(1))) 3428 echo "build_super_partition=true" >> $(1)))
3429 $(if $(filter true,$(BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE)), \
3430 echo "build_retrofit_dynamic_partitions_ota_package=true" >> $(1))
3429 echo "super_metadata_device=$(BOARD_SUPER_PARTITION_METADATA_DEVICE)" >> $(1) 3431 echo "super_metadata_device=$(BOARD_SUPER_PARTITION_METADATA_DEVICE)" >> $(1)
3430 $(if $(BOARD_SUPER_PARTITION_BLOCK_DEVICES), \ 3432 $(if $(BOARD_SUPER_PARTITION_BLOCK_DEVICES), \
3431 echo "super_block_devices=$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)" >> $(1)) 3433 echo "super_block_devices=$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)" >> $(1))
@@ -3886,7 +3888,7 @@ $(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) \
3886.PHONY: otapackage 3888.PHONY: otapackage
3887otapackage: $(INTERNAL_OTA_PACKAGE_TARGET) 3889otapackage: $(INTERNAL_OTA_PACKAGE_TARGET)
3888 3890
3889ifeq ($(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS),true) 3891ifeq ($(BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE),true)
3890name := $(TARGET_PRODUCT) 3892name := $(TARGET_PRODUCT)
3891ifeq ($(TARGET_BUILD_TYPE),debug) 3893ifeq ($(TARGET_BUILD_TYPE),debug)
3892 name := $(name)_debug 3894 name := $(name)_debug
@@ -3912,7 +3914,7 @@ $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): $(BUILT_TARGET_FILES
3912 3914
3913otapackage otardppackage: $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET) 3915otapackage otardppackage: $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET)
3914 3916
3915endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS 3917endif # BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE
3916 3918
3917endif # build_ota_package 3919endif # build_ota_package
3918 3920
@@ -4132,7 +4134,7 @@ $(INSTALLED_QEMU_SYSTEMIMAGE): $(INSTALLED_SYSTEMIMAGE_TARGET) $(MK_QEMU_IMAGE_S
4132 4134
4133systemimage: $(INSTALLED_QEMU_SYSTEMIMAGE) 4135systemimage: $(INSTALLED_QEMU_SYSTEMIMAGE)
4134droidcore: $(INSTALLED_QEMU_SYSTEMIMAGE) 4136droidcore: $(INSTALLED_QEMU_SYSTEMIMAGE)
4135ifeq ($(BOARD_USES_VENDORIMAGE),true) 4137ifdef INSTALLED_VENDORIMAGE_TARGET
4136INSTALLED_QEMU_VENDORIMAGE := $(PRODUCT_OUT)/vendor-qemu.img 4138INSTALLED_QEMU_VENDORIMAGE := $(PRODUCT_OUT)/vendor-qemu.img
4137$(INSTALLED_QEMU_VENDORIMAGE): $(INSTALLED_VENDORIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG) 4139$(INSTALLED_QEMU_VENDORIMAGE): $(INSTALLED_VENDORIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG)
4138 @echo Create vendor-qemu.img 4140 @echo Create vendor-qemu.img
@@ -4141,7 +4143,7 @@ $(INSTALLED_QEMU_VENDORIMAGE): $(INSTALLED_VENDORIMAGE_TARGET) $(MK_QEMU_IMAGE_S
4141vendorimage: $(INSTALLED_QEMU_VENDORIMAGE) 4143vendorimage: $(INSTALLED_QEMU_VENDORIMAGE)
4142droidcore: $(INSTALLED_QEMU_VENDORIMAGE) 4144droidcore: $(INSTALLED_QEMU_VENDORIMAGE)
4143endif 4145endif
4144ifeq ($(BOARD_USES_PRODUCTIMAGE),true) 4146ifdef INSTALLED_PRODUCTIMAGE_TARGET
4145INSTALLED_QEMU_PRODUCTIMAGE := $(PRODUCT_OUT)/product-qemu.img 4147INSTALLED_QEMU_PRODUCTIMAGE := $(PRODUCT_OUT)/product-qemu.img
4146$(INSTALLED_QEMU_PRODUCTIMAGE): $(INSTALLED_PRODUCTIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG) 4148$(INSTALLED_QEMU_PRODUCTIMAGE): $(INSTALLED_PRODUCTIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG)
4147 @echo Create product-qemu.img 4149 @echo Create product-qemu.img
@@ -4150,7 +4152,7 @@ $(INSTALLED_QEMU_PRODUCTIMAGE): $(INSTALLED_PRODUCTIMAGE_TARGET) $(MK_QEMU_IMAGE
4150productimage: $(INSTALLED_QEMU_PRODUCTIMAGE) 4152productimage: $(INSTALLED_QEMU_PRODUCTIMAGE)
4151droidcore: $(INSTALLED_QEMU_PRODUCTIMAGE) 4153droidcore: $(INSTALLED_QEMU_PRODUCTIMAGE)
4152endif 4154endif
4153ifeq ($(BOARD_USES_PRODUCT_SERVICESIMAGE),true) 4155ifdef INSTALLED_PRODUCT_SERVICESIMAGE_TARGET
4154INSTALLED_QEMU_PRODUCT_SERVICESIMAGE := $(PRODUCT_OUT)/product_services-qemu.img 4156INSTALLED_QEMU_PRODUCT_SERVICESIMAGE := $(PRODUCT_OUT)/product_services-qemu.img
4155$(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE): $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG) 4157$(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE): $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) $(SIMG2IMG)
4156 @echo Create product_services-qemu.img 4158 @echo Create product_services-qemu.img
@@ -4159,7 +4161,7 @@ $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE): $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGE
4159productservicesimage: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE) 4161productservicesimage: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE)
4160droidcore: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE) 4162droidcore: $(INSTALLED_QEMU_PRODUCT_SERVICESIMAGE)
4161endif 4163endif
4162ifeq ($(BOARD_USES_ODMIMAGE),true) 4164ifdef INSTALLED_ODMIMAGE_TARGET
4163INSTALLED_QEMU_ODMIMAGE := $(PRODUCT_OUT)/odm-qemu.img 4165INSTALLED_QEMU_ODMIMAGE := $(PRODUCT_OUT)/odm-qemu.img
4164$(INSTALLED_QEMU_ODMIMAGE): $(INSTALLED_ODMIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST) 4166$(INSTALLED_QEMU_ODMIMAGE): $(INSTALLED_ODMIMAGE_TARGET) $(MK_QEMU_IMAGE_SH) $(SGDISK_HOST)
4165 @echo Create odm-qemu.img 4167 @echo Create odm-qemu.img
diff --git a/core/OWNERS b/core/OWNERS
index 570ede8a4..750f1fa20 100644
--- a/core/OWNERS
+++ b/core/OWNERS
@@ -1 +1,3 @@
1per-file dex_preopt*.mk = ngeoffray@google.com,calin@google.com,mathewi@google.com,dbrazdil@google.com 1per-file dex_preopt*.mk = ngeoffray@google.com,calin@google.com,mathewi@google.com,dbrazdil@google.com
2per-file construct_context.sh = ngeoffray@google.com,calin@google.com,mathieuc@google.com
3per-file verify_uses_libraries.sh = ngeoffray@google.com,calin@google.com,mathieuc@google.com
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index d3cadb5b3..b47071a23 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -51,7 +51,6 @@ LOCAL_CTS_TEST_PACKAGE:=
51LOCAL_CTS_TEST_RUNNER:= 51LOCAL_CTS_TEST_RUNNER:=
52LOCAL_CXX:= 52LOCAL_CXX:=
53LOCAL_CXX_STL := default 53LOCAL_CXX_STL := default
54LOCAL_DATA_BINDING:=
55LOCAL_DEX_PREOPT_APP_IMAGE:= 54LOCAL_DEX_PREOPT_APP_IMAGE:=
56LOCAL_DEX_PREOPT_FLAGS:= 55LOCAL_DEX_PREOPT_FLAGS:=
57LOCAL_DEX_PREOPT_GENERATE_PROFILE:= 56LOCAL_DEX_PREOPT_GENERATE_PROFILE:=
diff --git a/core/config.mk b/core/config.mk
index 59b8de00b..c0a159dce 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -687,7 +687,7 @@ AVBTOOL := $(HOST_OUT_EXECUTABLES)/avbtool$(HOST_EXECUTABLE_SUFFIX)
687else 687else
688AVBTOOL := $(BOARD_CUSTOM_AVBTOOL) 688AVBTOOL := $(BOARD_CUSTOM_AVBTOOL)
689endif 689endif
690APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX) 690APICHECK := $(HOST_OUT_JAVA_LIBRARIES)/metalava$(COMMON_JAVA_PACKAGE_SUFFIX)
691FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) 691FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX)
692MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/mke2fs$(HOST_EXECUTABLE_SUFFIX) 692MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/mke2fs$(HOST_EXECUTABLE_SUFFIX)
693MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs 693MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs
@@ -755,13 +755,7 @@ else
755MD5SUM:=md5sum 755MD5SUM:=md5sum
756endif 756endif
757 757
758APICHECK_CLASSPATH_ENTRIES := \ 758APICHECK_COMMAND := $(JAVA) -Xmx4g -jar $(APICHECK) --no-banner --compatible-output=yes
759 $(HOST_OUT_JAVA_LIBRARIES)/apicheck$(COMMON_JAVA_PACKAGE_SUFFIX) \
760 $(HOST_JDK_TOOLS_JAR) \
761 )
762APICHECK_CLASSPATH := $(subst $(space),:,$(strip $(APICHECK_CLASSPATH_ENTRIES)))
763
764APICHECK_COMMAND := $(APICHECK) -JXmx1024m -J"classpath $(APICHECK_CLASSPATH)"
765 759
766# Boolean variable determining if the whitelist for compatible properties is enabled 760# Boolean variable determining if the whitelist for compatible properties is enabled
767PRODUCT_COMPATIBLE_PROPERTY := false 761PRODUCT_COMPATIBLE_PROPERTY := false
@@ -1064,31 +1058,52 @@ endif
1064# The metadata device must be supplied to init via the kernel command-line. 1058# The metadata device must be supplied to init via the kernel command-line.
1065BOARD_KERNEL_CMDLINE += androidboot.super_partition=$(BOARD_SUPER_PARTITION_METADATA_DEVICE) 1059BOARD_KERNEL_CMDLINE += androidboot.super_partition=$(BOARD_SUPER_PARTITION_METADATA_DEVICE)
1066 1060
1067else # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS 1061BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE := true
1068 1062
1069# These should not be specified on devices launching with dynamic partition support. 1063# If "vendor" is listed as one of the dynamic partitions but without its image available (e.g. an
1070ifdef BOARD_SUPER_PARTITION_BLOCK_DEVICES 1064# AOSP target built without vendor image), don't build the retrofit full OTA package. Because we
1071$(error BOARD_SUPER_PARTITION_BLOCK_DEVICES can only be used if PRODUCT_RETROFIT_DYNAMIC_PARTITIONS is true.) 1065# won't be able to build meaningful super_* images for retrofitting purpose.
1072endif 1066ifneq (,$(filter vendor,$(BOARD_SUPER_PARTITION_PARTITION_LIST)))
1073ifdef BOARD_SUPER_PARTITION_METADATA_DEVICE 1067ifndef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE
1074$(error BOARD_SUPER_PARTITION_METADATA_DEVICE can only be used if PRODUCT_RETROFIT_DYNAMIC_PARTITIONS is true.) 1068ifndef BOARD_PREBUILT_VENDORIMAGE
1075endif 1069BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE :=
1070endif # BOARD_PREBUILT_VENDORIMAGE
1071endif # BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE
1072endif # BOARD_SUPER_PARTITION_PARTITION_LIST
1073
1074else # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
1076 1075
1077# For normal devices, we populate BOARD_SUPER_PARTITION_BLOCK_DEVICES so the 1076# For normal devices, we populate BOARD_SUPER_PARTITION_BLOCK_DEVICES so the
1078# build can handle both cases consistently. 1077# build can handle both cases consistently.
1079BOARD_SUPER_PARTITION_BLOCK_DEVICES := super 1078ifeq ($(BOARD_SUPER_PARTITION_METADATA_DEVICE),)
1080BOARD_SUPER_PARTITION_METADATA_DEVICE := super 1079BOARD_SUPER_PARTITION_METADATA_DEVICE := super
1081BOARD_SUPER_PARTITION_SUPER_DEVICE_SIZE := $(BOARD_SUPER_PARTITION_SIZE) 1080endif
1081
1082ifeq ($(BOARD_SUPER_PARTITION_BLOCK_DEVICES),)
1083BOARD_SUPER_PARTITION_BLOCK_DEVICES := $(BOARD_SUPER_PARTITION_METADATA_DEVICE)
1084endif
1085
1086# If only one super block device, default to super partition size.
1087ifeq ($(word 2,$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)),)
1088BOARD_SUPER_PARTITION_$(call to-upper,$(strip $(BOARD_SUPER_PARTITION_BLOCK_DEVICES)))_DEVICE_SIZE ?= \
1089 $(BOARD_SUPER_PARTITION_SIZE)
1090endif
1091
1092ifneq ($(BOARD_SUPER_PARTITION_METADATA_DEVICE),super)
1093BOARD_KERNEL_CMDLINE += androidboot.super_partition=$(BOARD_SUPER_PARTITION_METADATA_DEVICE)
1094endif
1095BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE :=
1082 1096
1083endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS 1097endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
1084endif # BOARD_SUPER_PARTITION_SIZE 1098endif # BOARD_SUPER_PARTITION_SIZE
1085.KATI_READONLY := BOARD_SUPER_PARTITION_BLOCK_DEVICES 1099.KATI_READONLY := BOARD_SUPER_PARTITION_BLOCK_DEVICES
1086.KATI_READONLY := BOARD_SUPER_PARTITION_METADATA_DEVICE 1100.KATI_READONLY := BOARD_SUPER_PARTITION_METADATA_DEVICE
1101.KATI_READONLY := BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE
1087 1102
1088$(foreach device,$(call to-upper,$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)), \ 1103$(foreach device,$(call to-upper,$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)), \
1089 $(eval BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE := $(strip $(BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE))) \ 1104 $(eval BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE := $(strip $(BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE))) \
1090 $(if $(BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE),, \ 1105 $(if $(BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE),, \
1091 $(error $(BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE must not be empty))) \ 1106 $(error BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE must not be empty)) \
1092 $(eval .KATI_READONLY := BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE)) 1107 $(eval .KATI_READONLY := BOARD_SUPER_PARTITION_$(device)_DEVICE_SIZE))
1093 1108
1094endif # PRODUCT_BUILD_SUPER_PARTITION 1109endif # PRODUCT_BUILD_SUPER_PARTITION
diff --git a/core/definitions.mk b/core/definitions.mk
index 768403c4a..a67508018 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -2704,9 +2704,9 @@ $(3): $(1) $(CLASS2GREYLIST) $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST)
2704$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): $(2) 2704$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): $(2)
2705$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): PRIVATE_FLAGS_INPUTS := $$(PRIVATE_FLAGS_INPUTS) $(2) 2705$(INTERNAL_PLATFORM_HIDDENAPI_FLAGS): PRIVATE_FLAGS_INPUTS := $$(PRIVATE_FLAGS_INPUTS) $(2)
2706 2706
2707$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): $(5) 2707$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): $(3)
2708$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \ 2708$(INTERNAL_PLATFORM_HIDDENAPI_GREYLIST_METADATA): \
2709 PRIVATE_METADATA_INPUTS := $$(PRIVATE_METADATA_INPUTS) $(5) 2709 PRIVATE_METADATA_INPUTS := $$(PRIVATE_METADATA_INPUTS) $(3)
2710 2710
2711endif 2711endif
2712endef 2712endef
@@ -2904,7 +2904,7 @@ endef
2904define check-api 2904define check-api
2905$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(strip $(1))-timestamp: $(2) $(3) $(4) $(APICHECK) $(9) 2905$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(strip $(1))-timestamp: $(2) $(3) $(4) $(APICHECK) $(9)
2906 @echo "Checking API:" $(1) 2906 @echo "Checking API:" $(1)
2907 $(hide) ( $(APICHECK_COMMAND) $(6) $(2) $(3) $(4) $(5) || ( $(7) ; exit 38 ) ) 2907 $(hide) ( $(APICHECK_COMMAND) --check-api-files $(6) $(2) $(3) $(4) $(5) || ( $(7) ; exit 38 ) )
2908 $(hide) mkdir -p $$(dir $$@) 2908 $(hide) mkdir -p $$(dir $$@)
2909 $(hide) touch $$@ 2909 $(hide) touch $$@
2910$(8): $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(strip $(1))-timestamp 2910$(8): $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(strip $(1))-timestamp
diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk
index 59346ed35..4d7d11cc6 100644
--- a/core/dex_preopt.mk
+++ b/core/dex_preopt.mk
@@ -88,7 +88,7 @@ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(HIDDENAPI) $(HIDDENAPI_STUBS) \
88ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true) 88ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true)
89boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip 89boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip
90all_boot_jars := \ 90all_boot_jars := \
91 $(foreach m,$(DEXPREOPT_BOOT_JARS_MODULES),$(PRODUCT_OUT)/system/framework/$(m).jar) \ 91 $(foreach m,$(PRODUCT_BOOT_JARS),$(PRODUCT_OUT)/system/framework/$(m).jar) \
92 $(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),$(PRODUCT_OUT)/system/framework/$(m).jar) 92 $(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),$(PRODUCT_OUT)/system/framework/$(m).jar)
93 93
94$(boot_profile_jars_zip): PRIVATE_JARS := $(all_boot_jars) 94$(boot_profile_jars_zip): PRIVATE_JARS := $(all_boot_jars)
diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk
index cc456897a..0793516b2 100644
--- a/core/dex_preopt_config.mk
+++ b/core/dex_preopt_config.mk
@@ -1,9 +1,9 @@
1DEX_PREOPT_CONFIG := $(PRODUCT_OUT)/dexpreopt.config 1DEX_PREOPT_CONFIG := $(PRODUCT_OUT)/dexpreopt.config
2 2
3# list of boot classpath jars for dexpreopt 3# list of boot classpath jars for dexpreopt
4DEXPREOPT_BOOT_JARS := $(subst $(space),:,$(PRODUCT_BOOT_JARS))
5DEXPREOPT_BOOT_JARS_MODULES := $(PRODUCT_BOOT_JARS) 4DEXPREOPT_BOOT_JARS_MODULES := $(PRODUCT_BOOT_JARS)
6PRODUCT_BOOTCLASSPATH := $(subst $(space),:,$(foreach m,$(DEXPREOPT_BOOT_JARS_MODULES),/system/framework/$(m).jar)) 5PRODUCT_BOOTCLASSPATH_JARS := $(strip $(DEXPREOPT_BOOT_JARS_MODULES))
6PRODUCT_BOOTCLASSPATH := $(subst $(space),:,$(foreach m,$(PRODUCT_BOOTCLASSPATH_JARS),/system/framework/$(m).jar))
7 7
8PRODUCT_SYSTEM_SERVER_CLASSPATH := $(subst $(space),:,$(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),/system/framework/$(m).jar)) 8PRODUCT_SYSTEM_SERVER_CLASSPATH := $(subst $(space),:,$(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),/system/framework/$(m).jar))
9 9
@@ -13,6 +13,9 @@ DEXPREOPT_PRODUCT_DIR := $(patsubst $(DEXPREOPT_BUILD_DIR)/%,%,$(DEXPREOPT_PRODU
13DEXPREOPT_BOOT_JAR_DIR := system/framework 13DEXPREOPT_BOOT_JAR_DIR := system/framework
14DEXPREOPT_BOOT_JAR_DIR_FULL_PATH := $(DEXPREOPT_PRODUCT_DIR_FULL_PATH)/$(DEXPREOPT_BOOT_JAR_DIR) 14DEXPREOPT_BOOT_JAR_DIR_FULL_PATH := $(DEXPREOPT_PRODUCT_DIR_FULL_PATH)/$(DEXPREOPT_BOOT_JAR_DIR)
15 15
16DEXPREOPT_BOOTCLASSPATH_DEX_LOCATIONS := $(foreach m,$(PRODUCT_BOOTCLASSPATH_JARS),/$(DEXPREOPT_BOOT_JAR_DIR)/$(m).jar)
17DEXPREOPT_BOOTCLASSPATH_DEX_FILES := $(foreach jar,$(DEXPREOPT_BOOTCLASSPATH_DEX_LOCATIONS),$(PRODUCT_OUT)$(jar))
18
16DEFAULT_DEX_PREOPT_BUILT_IMAGE_LOCATION := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/boot.art 19DEFAULT_DEX_PREOPT_BUILT_IMAGE_LOCATION := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/boot.art
17DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(DEX2OAT_TARGET_ARCH)/boot.art 20DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(DEX2OAT_TARGET_ARCH)/boot.art
18 21
@@ -112,7 +115,9 @@ ifeq ($(WRITE_SOONG_VARIABLES),true)
112 $(call add_json_bool, HasSystemOther, $(BOARD_USES_SYSTEM_OTHER_ODEX)) 115 $(call add_json_bool, HasSystemOther, $(BOARD_USES_SYSTEM_OTHER_ODEX))
113 $(call add_json_list, PatternsOnSystemOther, $(SYSTEM_OTHER_ODEX_FILTER)) 116 $(call add_json_list, PatternsOnSystemOther, $(SYSTEM_OTHER_ODEX_FILTER))
114 $(call add_json_bool, DisableGenerateProfile, $(filter false,$(WITH_DEX_PREOPT_GENERATE_PROFILE))) 117 $(call add_json_bool, DisableGenerateProfile, $(filter false,$(WITH_DEX_PREOPT_GENERATE_PROFILE)))
115 $(call add_json_list, BootJars, $(DEXPREOPT_BOOT_JARS_MODULES)) 118 $(call add_json_list, PreoptBootClassPathDexFiles, $(DEXPREOPT_BOOTCLASSPATH_DEX_FILES))
119 $(call add_json_list, PreoptBootClassPathDexLocations, $(DEXPREOPT_BOOTCLASSPATH_DEX_LOCATIONS))
120 $(call add_json_list, BootJars, $(PRODUCT_BOOT_JARS))
116 $(call add_json_list, SystemServerJars, $(PRODUCT_SYSTEM_SERVER_JARS)) 121 $(call add_json_list, SystemServerJars, $(PRODUCT_SYSTEM_SERVER_JARS))
117 $(call add_json_list, SystemServerApps, $(PRODUCT_SYSTEM_SERVER_APPS)) 122 $(call add_json_list, SystemServerApps, $(PRODUCT_SYSTEM_SERVER_APPS))
118 $(call add_json_list, SpeedApps, $(PRODUCT_DEXPREOPT_SPEED_APPS)) 123 $(call add_json_list, SpeedApps, $(PRODUCT_DEXPREOPT_SPEED_APPS))
diff --git a/core/dex_preopt_libart_boot.mk b/core/dex_preopt_libart_boot.mk
index 156ce02f7..b31f5a847 100644
--- a/core/dex_preopt_libart_boot.mk
+++ b/core/dex_preopt_libart_boot.mk
@@ -90,11 +90,13 @@ $($(my_2nd_arch_prefix)DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME) : $(LIBART_TARGE
90 @echo "target dex2oat: $@" 90 @echo "target dex2oat: $@"
91 @mkdir -p $(dir $@) 91 @mkdir -p $(dir $@)
92 @mkdir -p $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED)) 92 @mkdir -p $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))
93 @rm -f $(dir $@)/*.art $(dir $@)/*.oat 93 @rm -f $(dir $@)/*.art $(dir $@)/*.oat $(dir $@)/*.invocation
94 @rm -f $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))/*.art 94 @rm -f $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))/*.art
95 @rm -f $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))/*.oat 95 @rm -f $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))/*.oat
96 @rm -f $(dir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)LIBART_TARGET_BOOT_OAT_UNSTRIPPED))/*.invocation
96 $(hide) $(DEX2OAT_BOOT_IMAGE_LOG_TAGS) $(DEX2OAT) --runtime-arg -Xms$(DEX2OAT_IMAGE_XMS) \ 97 $(hide) $(DEX2OAT_BOOT_IMAGE_LOG_TAGS) $(DEX2OAT) --runtime-arg -Xms$(DEX2OAT_IMAGE_XMS) \
97 --avoid-storing-invocation \ 98 --avoid-storing-invocation \
99 --write-invocation-to=$(patsubst %.art,%.invocation,$@) \
98 --runtime-arg -Xmx$(DEX2OAT_IMAGE_XMX) \ 100 --runtime-arg -Xmx$(DEX2OAT_IMAGE_XMX) \
99 $(PRIVATE_BOOT_IMAGE_FLAGS) \ 101 $(PRIVATE_BOOT_IMAGE_FLAGS) \
100 $(addprefix --dex-file=,$(LIBART_TARGET_BOOT_DEX_FILES)) \ 102 $(addprefix --dex-file=,$(LIBART_TARGET_BOOT_DEX_FILES)) \
diff --git a/core/package_internal.mk b/core/package_internal.mk
index a46d76a09..75cc547be 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -87,6 +87,23 @@ else
87 LOCAL_RESOURCE_DIR := $(foreach d,$(LOCAL_RESOURCE_DIR),$(call clean-path,$(d))) 87 LOCAL_RESOURCE_DIR := $(foreach d,$(LOCAL_RESOURCE_DIR),$(call clean-path,$(d)))
88endif 88endif
89 89
90# If LOCAL_MODULE matches a rule in PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES,
91# override the manfest package name by the (first) rule matched
92override_manifest_name := $(strip $(word 1,\
93 $(foreach rule,$(PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES),\
94 $(eval _pkg_name_pat := $(call word-colon,1,$(rule)))\
95 $(eval _manifest_name_pat := $(call word-colon,2,$(rule)))\
96 $(if $(filter $(_pkg_name_pat),$(LOCAL_MODULE)),\
97 $(patsubst $(_pkg_name_pat),$(_manifest_name_pat),$(LOCAL_MODULE))\
98 )\
99 )\
100))
101
102ifneq (,$(override_manifest_name))
103# Note: this can override LOCAL_MANFEST_PACKAGE_NAME value set in Android.mk
104LOCAL_MANIFEST_PACKAGE_NAME := $(override_manifest_name)
105endif
106
90include $(BUILD_SYSTEM)/force_aapt2.mk 107include $(BUILD_SYSTEM)/force_aapt2.mk
91 108
92# Process Support Library dependencies. 109# Process Support Library dependencies.
@@ -309,23 +326,6 @@ endif # LOCAL_EMMA_INSTRUMENT
309 326
310rs_compatibility_jni_libs := 327rs_compatibility_jni_libs :=
311 328
312ifeq ($(LOCAL_DATA_BINDING),true)
313data_binding_intermediates := $(intermediates.COMMON)/data-binding
314
315LOCAL_JAVACFLAGS += -processorpath $(DATA_BINDING_COMPILER) -s $(data_binding_intermediates)/anno-src
316
317LOCAL_STATIC_JAVA_LIBRARIES += databinding-baselibrary
318LOCAL_STATIC_JAVA_AAR_LIBRARIES += databinding-library databinding-adapters
319
320data_binding_res_in := $(LOCAL_RESOURCE_DIR)
321data_binding_res_out := $(data_binding_intermediates)/res
322
323# Replace with the processed merged res dir.
324LOCAL_RESOURCE_DIR := $(data_binding_res_out)
325
326LOCAL_AAPT_FLAGS += --auto-add-overlay --extra-packages com.android.databinding.library
327endif # LOCAL_DATA_BINDING
328
329# If the module is a compressed module, we don't pre-opt it because its final 329# If the module is a compressed module, we don't pre-opt it because its final
330# installation location will be the data partition. 330# installation location will be the data partition.
331ifdef LOCAL_COMPRESSED_MODULE 331ifdef LOCAL_COMPRESSED_MODULE
@@ -460,34 +460,6 @@ endif
460$(LOCAL_INTERMEDIATE_TARGETS): \ 460$(LOCAL_INTERMEDIATE_TARGETS): \
461 PRIVATE_ANDROID_MANIFEST := $(full_android_manifest) 461 PRIVATE_ANDROID_MANIFEST := $(full_android_manifest)
462 462
463ifeq ($(LOCAL_DATA_BINDING),true)
464data_binding_stamp := $(data_binding_intermediates)/data-binding.stamp
465$(data_binding_stamp): PRIVATE_INTERMEDIATES := $(data_binding_intermediates)
466$(data_binding_stamp): PRIVATE_MANIFEST := $(full_android_manifest)
467# Generate code into $(LOCAL_INTERMEDIATE_SOURCE_DIR) so that the generated .java files
468# will be automatically picked up by function compile-java.
469$(data_binding_stamp): PRIVATE_SRC_OUT := $(LOCAL_INTERMEDIATE_SOURCE_DIR)/data-binding
470$(data_binding_stamp): PRIVATE_XML_OUT := $(data_binding_intermediates)/xml
471$(data_binding_stamp): PRIVATE_RES_OUT := $(data_binding_res_out)
472$(data_binding_stamp): PRIVATE_RES_IN := $(data_binding_res_in)
473$(data_binding_stamp): PRIVATE_ANNO_SRC_DIR := $(data_binding_intermediates)/anno-src
474
475$(data_binding_stamp) : $(all_res_assets) $(full_android_manifest) \
476 $(DATA_BINDING_COMPILER)
477 @echo "Data-binding process: $@"
478 @rm -rf $(PRIVATE_INTERMEDIATES) $(PRIVATE_SRC_OUT) && \
479 mkdir -p $(PRIVATE_INTERMEDIATES) $(PRIVATE_SRC_OUT) \
480 $(PRIVATE_XML_OUT) $(PRIVATE_RES_OUT) $(PRIVATE_ANNO_SRC_DIR)
481 $(hide) $(JAVA) -classpath $(DATA_BINDING_COMPILER) android.databinding.tool.MakeCopy \
482 $(PRIVATE_MANIFEST) $(PRIVATE_SRC_OUT) $(PRIVATE_XML_OUT) $(PRIVATE_RES_OUT) $(PRIVATE_RES_IN)
483 $(hide) touch $@
484
485# Make sure the data-binding process happens before javac and generation of R.java.
486$(R_file_stamp): $(data_binding_stamp)
487$(java_source_list_file): $(data_binding_stamp)
488$(full_classes_compiled_jar): $(data_binding_stamp)
489endif # LOCAL_DATA_BINDING
490
491framework_res_package_export := 463framework_res_package_export :=
492 464
493ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true) 465ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
@@ -678,8 +650,8 @@ ifneq ($(BUILD_PLATFORM_ZIP),)
678 @# Keep a copy of apk with classes.dex unstripped 650 @# Keep a copy of apk with classes.dex unstripped
679 $(hide) cp -f $@ $(dir $@)package.dex.apk 651 $(hide) cp -f $@ $(dir $@)package.dex.apk
680endif # BUILD_PLATFORM_ZIP 652endif # BUILD_PLATFORM_ZIP
681 $(PRIVATE_STRIP_SCRIPT) $@ $@.tmp 653 mv -f $@ $@.tmp
682 mv -f $@.tmp $@ 654 $(PRIVATE_STRIP_SCRIPT) $@.tmp $@
683endif # LOCAL_DEX_PREOPT 655endif # LOCAL_DEX_PREOPT
684 $(sign-package) 656 $(sign-package)
685ifdef LOCAL_COMPRESSED_MODULE 657ifdef LOCAL_COMPRESSED_MODULE
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index 013497f12..66913c1ac 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -357,12 +357,14 @@ endif
357ifneq ($(BUILD_PLATFORM_ZIP),) 357ifneq ($(BUILD_PLATFORM_ZIP),)
358$(built_module) : .KATI_IMPLICIT_OUTPUTS := $(dir $(LOCAL_BUILT_MODULE))package.dex.apk 358$(built_module) : .KATI_IMPLICIT_OUTPUTS := $(dir $(LOCAL_BUILT_MODULE))package.dex.apk
359endif 359endif
360ifneq ($(LOCAL_CERTIFICATE),PRESIGNED)
360ifdef LOCAL_DEX_PREOPT 361ifdef LOCAL_DEX_PREOPT
361$(built_module) : PRIVATE_STRIP_SCRIPT := $(intermediates)/strip.sh 362$(built_module) : PRIVATE_STRIP_SCRIPT := $(intermediates)/strip.sh
362$(built_module) : $(intermediates)/strip.sh 363$(built_module) : $(intermediates)/strip.sh
363$(built_module) : | $(DEXPREOPT_GEN_DEPS) 364$(built_module) : | $(DEXPREOPT_GEN_DEPS)
364$(built_module) : .KATI_DEPFILE := $(built_module).d 365$(built_module) : .KATI_DEPFILE := $(built_module).d
365endif 366endif
367endif
366$(built_module) : $(my_prebuilt_src_file) | $(ZIPALIGN) $(ZIP2ZIP) $(SIGNAPK_JAR) 368$(built_module) : $(my_prebuilt_src_file) | $(ZIPALIGN) $(ZIP2ZIP) $(SIGNAPK_JAR)
367 $(transform-prebuilt-to-target) 369 $(transform-prebuilt-to-target)
368 $(uncompress-prebuilt-embedded-jni-libs) 370 $(uncompress-prebuilt-embedded-jni-libs)
@@ -387,8 +389,8 @@ endif
387 $(run-appcompat) 389 $(run-appcompat)
388endif # module_run_appcompat 390endif # module_run_appcompat
389ifdef LOCAL_DEX_PREOPT 391ifdef LOCAL_DEX_PREOPT
390 $(PRIVATE_STRIP_SCRIPT) $@ $@.tmp 392 mv -f $@ $@.tmp
391 mv -f $@.tmp $@ 393 $(PRIVATE_STRIP_SCRIPT) $@.tmp $@
392endif # LOCAL_DEX_PREOPT 394endif # LOCAL_DEX_PREOPT
393 $(sign-package) 395 $(sign-package)
394 # No need for align-package because sign-package takes care of alignment 396 # No need for align-package because sign-package takes care of alignment
diff --git a/core/product.mk b/core/product.mk
index 8497b2830..1420b46e1 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -213,6 +213,7 @@ _product_var_list := \
213 PRODUCT_RETROFIT_DYNAMIC_PARTITIONS \ 213 PRODUCT_RETROFIT_DYNAMIC_PARTITIONS \
214 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS \ 214 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS \
215 PRODUCT_XOM_EXCLUDE_PATHS \ 215 PRODUCT_XOM_EXCLUDE_PATHS \
216 PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES \
216 217
217define dump-product 218define dump-product
218$(info ==== $(1) ====)\ 219$(info ==== $(1) ====)\
diff --git a/core/product_config.mk b/core/product_config.mk
index f0f7da14e..47b4c7aa0 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -346,6 +346,11 @@ PRODUCT_SHIPPING_API_LEVEL := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SHI
346# used for adding properties to default.prop 346# used for adding properties to default.prop
347PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \ 347PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \
348 $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_PROPERTY_OVERRIDES)) 348 $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_PROPERTY_OVERRIDES))
349
350$(foreach rule,$(PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES),\
351 $(if $(filter 2,$(words $(subst :,$(space),$(rule)))),,\
352 $(error Rule "$(rule)" in PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDE is not <module_name>:<manifest_name>)))
353
349.KATI_READONLY := PRODUCT_DEFAULT_PROPERTY_OVERRIDES 354.KATI_READONLY := PRODUCT_DEFAULT_PROPERTY_OVERRIDES
350 355
351# A list of property assignments, like "key = value", with zero or more 356# A list of property assignments, like "key = value", with zero or more
@@ -549,3 +554,10 @@ PRODUCT_FORCE_PRODUCT_MODULES_TO_SYSTEM_PARTITION := \
549# set this variable to prevent OTA failures. 554# set this variable to prevent OTA failures.
550PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := \ 555PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := \
551 $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS)) 556 $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS))
557
558# List of <module_name>:<manifest_name> pairs to override the manifest package name
559# of a module <module_name> to <manifest_name>. Patterns can be used as in
560# com.android.%:com.acme.android.%.release
561PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES := \
562 $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES))
563.KATI_READONLY := PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 85be1e7a8..31c77d4b8 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -144,6 +144,8 @@ $(call add_json_bool, FlattenApex, $(filter true,$(TARGET_
144 144
145$(call add_json_str, DexpreoptGlobalConfig, $(DEX_PREOPT_CONFIG)) 145$(call add_json_str, DexpreoptGlobalConfig, $(DEX_PREOPT_CONFIG))
146 146
147$(call add_json_list, ManifestPackageNameOverrides, $(PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES))
148
147$(call add_json_map, VendorVars) 149$(call add_json_map, VendorVars)
148$(foreach namespace,$(SOONG_CONFIG_NAMESPACES),\ 150$(foreach namespace,$(SOONG_CONFIG_NAMESPACES),\
149 $(call add_json_map, $(namespace))\ 151 $(call add_json_map, $(namespace))\
diff --git a/target/Android.mk b/target/Android.mk
deleted file mode 100644
index 9929b0096..000000000
--- a/target/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Copyright (C) 2017 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19# Only if this Android.mk was included not by a symlink should it be used.
20# This facilitates the transition away from symlinks: b/64397960
21ifeq ($(LOCAL_PATH),build/make/target)
22include $(call first-makefiles-under,$(LOCAL_PATH))
23endif
diff --git a/target/board/BoardConfigEmuCommon.mk b/target/board/BoardConfigEmuCommon.mk
index 38f79fdcd..1e325b949 100644
--- a/target/board/BoardConfigEmuCommon.mk
+++ b/target/board/BoardConfigEmuCommon.mk
@@ -20,8 +20,6 @@ BUILD_QEMU_IMAGES := true
20# the GLES renderer disables itself if host GL acceleration isn't available. 20# the GLES renderer disables itself if host GL acceleration isn't available.
21USE_OPENGL_RENDERER := true 21USE_OPENGL_RENDERER := true
22 22
23TARGET_COPY_OUT_VENDOR := vendor
24
25# ~100 MB vendor image. Please adjust system image / vendor image sizes 23# ~100 MB vendor image. Please adjust system image / vendor image sizes
26# when finalizing them. The partition size needs to be a multiple of image 24# when finalizing them. The partition size needs to be a multiple of image
27# block size: 4096. 25# block size: 4096.
@@ -31,4 +29,4 @@ BOARD_FLASH_BLOCK_SIZE := 512
31DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml 29DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml
32 30
33BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/common 31BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/common
34BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true 32
diff --git a/target/board/BoardConfigGsiCommon.mk b/target/board/BoardConfigGsiCommon.mk
index 73af0201a..f9e9ee100 100644
--- a/target/board/BoardConfigGsiCommon.mk
+++ b/target/board/BoardConfigGsiCommon.mk
@@ -6,6 +6,9 @@
6 6
7include build/make/target/board/BoardConfigMainlineCommon.mk 7include build/make/target/board/BoardConfigMainlineCommon.mk
8 8
9# Enable system property split for Treble
10BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
11
9# This flag is set by mainline but isn't desired for GSI. 12# This flag is set by mainline but isn't desired for GSI.
10BOARD_USES_SYSTEM_OTHER_ODEX := 13BOARD_USES_SYSTEM_OTHER_ODEX :=
11 14
@@ -14,9 +17,21 @@ BOARD_USES_SYSTEM_OTHER_ODEX :=
14# we explicit specify this need below (even though it's the current default). 17# we explicit specify this need below (even though it's the current default).
15TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false 18TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
16 19
20# system.img is always ext4 with sparse option
21# GSI also includes make_f2fs to support userdata parition in f2fs
22# for some devices
23TARGET_USERIMAGES_USE_F2FS := true
24
17# Enable dynamic system image size and reserved 64MB in it. 25# Enable dynamic system image size and reserved 64MB in it.
18BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 26BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864
19 27
28# GSI always requires separate vendor packages to vendor.img
29TARGET_COPY_OUT_VENDOR := vendor
30
31# Creates metadata partition mount point under root for
32# the devices with metadata parition
33BOARD_USES_METADATA_PARTITION := true
34
20# Android Verified Boot (AVB): 35# Android Verified Boot (AVB):
21# Set AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (--flag 2) in 36# Set AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (--flag 2) in
22# vbmeta.img to disable AVB verification. 37# vbmeta.img to disable AVB verification.
@@ -32,15 +47,13 @@ BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
32BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 47BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
33BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 48BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
34 49
50# GSI specific System Properties
35ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 51ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
36# GSI is always userdebug and needs a couple of properties taking precedence 52# GSI is always userdebug and needs a couple of properties taking precedence
37# over those set by the vendor. 53# over those set by the vendor.
38TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop 54TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop
39endif 55endif
40 56
41# Android generic system image always create metadata partition
42BOARD_USES_METADATA_PARTITION := true
43
44# Set this to create /cache mount point for non-A/B devices that mounts /cache. 57# Set this to create /cache mount point for non-A/B devices that mounts /cache.
45# The partition size doesn't matter, just to make build pass. 58# The partition size doesn't matter, just to make build pass.
46BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 59BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
diff --git a/target/board/generic_arm64_a/BoardConfig.mk b/target/board/generic_arm64_a/BoardConfig.mk
index 34a8ac001..68aedfc1a 100644
--- a/target/board/generic_arm64_a/BoardConfig.mk
+++ b/target/board/generic_arm64_a/BoardConfig.mk
@@ -14,7 +14,7 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_64.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_ARCH := arm64 19TARGET_ARCH := arm64
20TARGET_ARCH_VARIANT := armv8-a 20TARGET_ARCH_VARIANT := armv8-a
@@ -27,3 +27,6 @@ TARGET_2ND_ARCH_VARIANT := armv8-a
27TARGET_2ND_CPU_ABI := armeabi-v7a 27TARGET_2ND_CPU_ABI := armeabi-v7a
28TARGET_2ND_CPU_ABI2 := armeabi 28TARGET_2ND_CPU_ABI2 := armeabi
29TARGET_2ND_CPU_VARIANT := generic 29TARGET_2ND_CPU_VARIANT := generic
30
31# This is a non-system-as-root Legacy GSI build target
32BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
diff --git a/target/board/generic_arm64_ab/BoardConfig.mk b/target/board/generic_arm64_ab/BoardConfig.mk
index 88b90a8fb..6e54d810b 100644
--- a/target/board/generic_arm64_ab/BoardConfig.mk
+++ b/target/board/generic_arm64_ab/BoardConfig.mk
@@ -14,7 +14,7 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_64.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_ARCH := arm64 19TARGET_ARCH := arm64
20TARGET_ARCH_VARIANT := armv8-a 20TARGET_ARCH_VARIANT := armv8-a
@@ -28,21 +28,12 @@ TARGET_2ND_CPU_ABI := armeabi-v7a
28TARGET_2ND_CPU_ABI2 := armeabi 28TARGET_2ND_CPU_ABI2 := armeabi
29TARGET_2ND_CPU_VARIANT := generic 29TARGET_2ND_CPU_VARIANT := generic
30 30
31# Enable A/B update
32TARGET_NO_RECOVERY := true
33BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
34
35# TODO(jiyong) These might be SoC specific. 31# TODO(jiyong) These might be SoC specific.
36BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist 32BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist
37BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp 33BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
38BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/image:/firmware/image 34BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/image:/firmware/image
39BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/verinfo:/firmware/verinfo 35BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/verinfo:/firmware/verinfo
40 36
41# Set this to create /cache mount point for non-A/B devices that mounts /cache.
42# The partition size doesn't matter, just to make build pass.
43BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
44BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
45
46# TODO(b/36764215): remove this setting when the generic system image 37# TODO(b/36764215): remove this setting when the generic system image
47# no longer has QCOM-specific directories under /. 38# no longer has QCOM-specific directories under /.
48BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy 39BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk
index 57a5196a9..464a74f1e 100644
--- a/target/board/generic_arm_a/BoardConfig.mk
+++ b/target/board/generic_arm_a/BoardConfig.mk
@@ -14,10 +14,16 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_32.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_ARCH := arm 19TARGET_ARCH := arm
20TARGET_ARCH_VARIANT := armv7-a-neon 20TARGET_ARCH_VARIANT := armv7-a-neon
21TARGET_CPU_ABI := armeabi-v7a 21TARGET_CPU_ABI := armeabi-v7a
22TARGET_CPU_ABI2 := armeabi 22TARGET_CPU_ABI2 := armeabi
23TARGET_CPU_VARIANT := generic 23TARGET_CPU_VARIANT := generic
24
25# Legacy GSI keeps 32 bits binder for 32 bits CPU Arch
26TARGET_USES_64_BIT_BINDER := false
27
28# This is a non-system-as-root Legacy GSI build target
29BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
diff --git a/target/board/generic_arm_ab/BoardConfig.mk b/target/board/generic_arm_ab/BoardConfig.mk
index 3d1484290..9100094f8 100644
--- a/target/board/generic_arm_ab/BoardConfig.mk
+++ b/target/board/generic_arm_ab/BoardConfig.mk
@@ -14,7 +14,7 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_32.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_ARCH := arm 19TARGET_ARCH := arm
20TARGET_ARCH_VARIANT := armv7-a-neon 20TARGET_ARCH_VARIANT := armv7-a-neon
@@ -22,9 +22,8 @@ TARGET_CPU_ABI := armeabi-v7a
22TARGET_CPU_ABI2 := armeabi 22TARGET_CPU_ABI2 := armeabi
23TARGET_CPU_VARIANT := generic 23TARGET_CPU_VARIANT := generic
24 24
25# Enable A/B update 25# Legacy GSI keeps 32 bits binder for 32 bits CPU Arch
26TARGET_NO_RECOVERY := true 26TARGET_USES_64_BIT_BINDER := false
27BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
28 27
29# TODO(jiyong) These might be SoC specific. 28# TODO(jiyong) These might be SoC specific.
30BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist 29BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist
@@ -32,11 +31,6 @@ BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
32BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/image:/firmware/image 31BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/image:/firmware/image
33BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/verinfo:/firmware/verinfo 32BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt/verinfo:/firmware/verinfo
34 33
35# Set this to create /cache mount point for non-A/B devices that mounts /cache.
36# The partition size doesn't matter, just to make build pass.
37BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
38BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
39
40# TODO(b/36764215): remove this setting when the generic system image 34# TODO(b/36764215): remove this setting when the generic system image
41# no longer has QCOM-specific directories under /. 35# no longer has QCOM-specific directories under /.
42BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy 36BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
diff --git a/target/board/generic_x86_64_a/BoardConfig.mk b/target/board/generic_x86_64_a/BoardConfig.mk
index 2c0260439..07eef4f42 100644
--- a/target/board/generic_x86_64_a/BoardConfig.mk
+++ b/target/board/generic_x86_64_a/BoardConfig.mk
@@ -14,7 +14,7 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_64.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_CPU_ABI := x86_64 19TARGET_CPU_ABI := x86_64
20TARGET_ARCH := x86_64 20TARGET_ARCH := x86_64
@@ -23,3 +23,6 @@ TARGET_ARCH_VARIANT := x86_64
23TARGET_2ND_CPU_ABI := x86 23TARGET_2ND_CPU_ABI := x86
24TARGET_2ND_ARCH := x86 24TARGET_2ND_ARCH := x86
25TARGET_2ND_ARCH_VARIANT := x86_64 25TARGET_2ND_ARCH_VARIANT := x86_64
26
27# This is a non-system-as-root Legacy GSI build target
28BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
diff --git a/target/board/generic_x86_64_ab/BoardConfig.mk b/target/board/generic_x86_64_ab/BoardConfig.mk
index a098dfe2a..1dd5e4898 100644
--- a/target/board/generic_x86_64_ab/BoardConfig.mk
+++ b/target/board/generic_x86_64_ab/BoardConfig.mk
@@ -14,7 +14,7 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_64.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_CPU_ABI := x86_64 19TARGET_CPU_ABI := x86_64
20TARGET_ARCH := x86_64 20TARGET_ARCH := x86_64
@@ -23,12 +23,3 @@ TARGET_ARCH_VARIANT := x86_64
23TARGET_2ND_CPU_ABI := x86 23TARGET_2ND_CPU_ABI := x86
24TARGET_2ND_ARCH := x86 24TARGET_2ND_ARCH := x86
25TARGET_2ND_ARCH_VARIANT := x86_64 25TARGET_2ND_ARCH_VARIANT := x86_64
26
27# Set this to create /cache mount point for non-A/B devices that mounts /cache.
28# The partition size doesn't matter, just to make build pass.
29BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
30BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
31
32# Enable A/B update
33TARGET_NO_RECOVERY := true
34BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
diff --git a/target/board/generic_x86_a/BoardConfig.mk b/target/board/generic_x86_a/BoardConfig.mk
index 67cb07d7f..e3e8a3afe 100644
--- a/target/board/generic_x86_a/BoardConfig.mk
+++ b/target/board/generic_x86_a/BoardConfig.mk
@@ -14,8 +14,14 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_32.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_CPU_ABI := x86 19TARGET_CPU_ABI := x86
20TARGET_ARCH := x86 20TARGET_ARCH := x86
21TARGET_ARCH_VARIANT := x86 21TARGET_ARCH_VARIANT := x86
22
23# Legacy GSI keeps 32 bits binder for 32 bits CPU Arch
24TARGET_USES_64_BIT_BINDER := false
25
26# This is a non-system-as-root Legacy GSI build target
27BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
diff --git a/target/board/generic_x86_ab/BoardConfig.mk b/target/board/generic_x86_ab/BoardConfig.mk
index db4dacd96..53acffd23 100644
--- a/target/board/generic_x86_ab/BoardConfig.mk
+++ b/target/board/generic_x86_ab/BoardConfig.mk
@@ -14,17 +14,11 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common_32.mk 17include build/make/target/board/BoardConfigGsiCommon.mk
18 18
19TARGET_CPU_ABI := x86 19TARGET_CPU_ABI := x86
20TARGET_ARCH := x86 20TARGET_ARCH := x86
21TARGET_ARCH_VARIANT := x86 21TARGET_ARCH_VARIANT := x86
22 22
23# Set this to create /cache mount point for non-A/B devices that mounts /cache. 23# Legacy GSI keeps 32 bits binder for 32 bits CPU Arch
24# The partition size doesn't matter, just to make build pass. 24TARGET_USES_64_BIT_BINDER := false
25BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
26BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
27
28# Enable A/B update
29TARGET_NO_RECOVERY := true
30BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
diff --git a/target/board/treble_common.mk b/target/board/treble_common.mk
deleted file mode 100644
index eda5b3770..000000000
--- a/target/board/treble_common.mk
+++ /dev/null
@@ -1,69 +0,0 @@
1#
2# Copyright (C) 2017 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Common boardconfig settings for generic AOSP products targetting mobile
18# (phone/table) devices.
19
20# VNDK
21BOARD_VNDK_VERSION := current
22
23# Properties
24TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
25BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
26
27# Bootloader, kernel and recovery are not part of generic AOSP image
28TARGET_NO_BOOTLOADER := true
29TARGET_NO_KERNEL := true
30
31# system.img is always ext4 with sparse option
32# GSI also includes make_f2fs to support userdata parition in f2fs
33# for some devices
34TARGET_USERIMAGES_USE_EXT4 := true
35TARGET_USERIMAGES_USE_F2FS := true
36TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
37
38# Enable dynamic system image size and reserved 64MB in it.
39BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864
40
41# Generic AOSP image always requires separate vendor.img
42TARGET_COPY_OUT_VENDOR := vendor
43
44# Android generic system image always create metadata partition
45BOARD_USES_METADATA_PARTITION := true
46
47# Set emulator framebuffer display device buffer count to 3
48NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
49
50# Audio
51USE_XML_AUDIO_POLICY_CONF := 1
52
53# Android Verified Boot (AVB):
54# 1) Sets BOARD_AVB_ENABLE to sign the GSI image.
55# 2) Sets AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (--flag 2) in
56# vbmeta.img to disable AVB verification.
57#
58# To disable AVB for GSI, use the vbmeta.img and the GSI together.
59# To enable AVB for GSI, include the GSI public key into the device-specific
60# vbmeta.img.
61BOARD_AVB_ENABLE := true
62BOARD_AVB_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
63BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flag 2
64
65# Enable chain partition for system.
66BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
67BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
68BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
69BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
diff --git a/target/board/treble_common_32.mk b/target/board/treble_common_32.mk
deleted file mode 100644
index b66c41eb0..000000000
--- a/target/board/treble_common_32.mk
+++ /dev/null
@@ -1,17 +0,0 @@
1#
2# Copyright (C) 2017 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17include build/make/target/board/treble_common.mk
diff --git a/target/board/treble_system.prop b/target/board/treble_system.prop
deleted file mode 100644
index 0c04a9529..000000000
--- a/target/board/treble_system.prop
+++ /dev/null
@@ -1,8 +0,0 @@
1# GSI always generate dex pre-opt in system image
2ro.cp_system_other_odex=0
3
4# GSI always disables adb authentication
5ro.adb.secure=0
6
7# TODO(b/78105955): disable privapp_permissions checking before the bug solved
8ro.control_privapp_permissions=disable
diff --git a/target/product/aosp_arm64_a.mk b/target/product/aosp_arm64_a.mk
index 3c7af334d..b1c4b7dba 100644
--- a/target/product/aosp_arm64_a.mk
+++ b/target/product/aosp_arm64_a.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22include build/make/target/product/treble_common_64.mk 22include build/make/target/product/treble_common_64.mk
23 23
diff --git a/target/product/aosp_arm64_ab.mk b/target/product/aosp_arm64_ab.mk
index d389c74d0..92f50553a 100644
--- a/target/product/aosp_arm64_ab.mk
+++ b/target/product/aosp_arm64_ab.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22# aosp_arm64_ab-userdebug is a Legacy GSI for the devices with: 22# aosp_arm64_ab-userdebug is a Legacy GSI for the devices with:
23# - ARM 64 bits user space 23# - ARM 64 bits user space
diff --git a/target/product/aosp_arm_a.mk b/target/product/aosp_arm_a.mk
index 3060fa920..d89a326c9 100644
--- a/target/product/aosp_arm_a.mk
+++ b/target/product/aosp_arm_a.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22include build/make/target/product/treble_common_32.mk 22include build/make/target/product/treble_common_32.mk
23 23
diff --git a/target/product/aosp_arm_ab.mk b/target/product/aosp_arm_ab.mk
index 5845d3ba8..b35e51775 100644
--- a/target/product/aosp_arm_ab.mk
+++ b/target/product/aosp_arm_ab.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22# aosp_arm_ab-userdebug is a Legacy GSI for the devices with: 22# aosp_arm_ab-userdebug is a Legacy GSI for the devices with:
23# - ARM 32 bits user space 23# - ARM 32 bits user space
diff --git a/target/product/aosp_x86_64_a.mk b/target/product/aosp_x86_64_a.mk
index a7fb74097..6b6785a49 100644
--- a/target/product/aosp_x86_64_a.mk
+++ b/target/product/aosp_x86_64_a.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22include build/make/target/product/treble_common_64.mk 22include build/make/target/product/treble_common_64.mk
23 23
diff --git a/target/product/aosp_x86_64_ab.mk b/target/product/aosp_x86_64_ab.mk
index d9163d76b..35bf61a1f 100644
--- a/target/product/aosp_x86_64_ab.mk
+++ b/target/product/aosp_x86_64_ab.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22# aosp_x86_64_ab-userdebug is a Legacy GSI for the devices with: 22# aosp_x86_64_ab-userdebug is a Legacy GSI for the devices with:
23# - x86 64 bits user space 23# - x86 64 bits user space
diff --git a/target/product/aosp_x86_a.mk b/target/product/aosp_x86_a.mk
index 9ed29955e..99ed7e441 100644
--- a/target/product/aosp_x86_a.mk
+++ b/target/product/aosp_x86_a.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22include build/make/target/product/treble_common_32.mk 22include build/make/target/product/treble_common_32.mk
23 23
diff --git a/target/product/aosp_x86_ab.mk b/target/product/aosp_x86_ab.mk
index 4fff3d155..185e2f0a3 100644
--- a/target/product/aosp_x86_ab.mk
+++ b/target/product/aosp_x86_ab.mk
@@ -17,7 +17,7 @@
17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at 17# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at
18# /vendor/[build|default].prop when build split is on. In order to have sysprops 18# /vendor/[build|default].prop when build split is on. In order to have sysprops
19# on the generic system image, place them in build/make/target/board/ 19# on the generic system image, place them in build/make/target/board/
20# treble_system.prop. 20# gsi_system.prop.
21 21
22# aosp_x86_ab-userdebug is a Legacy GSI for the devices with: 22# aosp_x86_ab-userdebug is a Legacy GSI for the devices with:
23# - x86 32 bits user space 23# - x86 32 bits user space
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 6e8e79b05..63db56425 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -16,6 +16,7 @@
16 16
17# Base modules and settings for the system partition. 17# Base modules and settings for the system partition.
18PRODUCT_PACKAGES += \ 18PRODUCT_PACKAGES += \
19 abb \
19 adb \ 20 adb \
20 adbd \ 21 adbd \
21 am \ 22 am \
@@ -61,6 +62,7 @@ PRODUCT_PACKAGES += \
61 CtsShimPrivPrebuilt \ 62 CtsShimPrivPrebuilt \
62 debuggerd\ 63 debuggerd\
63 DefaultContainerService \ 64 DefaultContainerService \
65 dmctl \
64 dnsmasq \ 66 dnsmasq \
65 DownloadProvider \ 67 DownloadProvider \
66 dpm \ 68 dpm \
@@ -81,7 +83,6 @@ PRODUCT_PACKAGES += \
81 heapprofd_client \ 83 heapprofd_client \
82 gatekeeperd \ 84 gatekeeperd \
83 gpuservice \ 85 gpuservice \
84 healthd \
85 hid \ 86 hid \
86 hwservicemanager \ 87 hwservicemanager \
87 idmap \ 88 idmap \
diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk
index 9bb45d158..1bb4beede 100644
--- a/target/product/base_vendor.mk
+++ b/target/product/base_vendor.mk
@@ -53,6 +53,10 @@ PRODUCT_PACKAGES += \
53 vndservice \ 53 vndservice \
54 vndservicemanager \ 54 vndservicemanager \
55 55
56# Base modules and settings for the product partition.
57PRODUCT_PACKAGES += \
58 healthd \
59
56# VINTF data for vendor image 60# VINTF data for vendor image
57PRODUCT_PACKAGES += \ 61PRODUCT_PACKAGES += \
58 device_manifest.xml \ 62 device_manifest.xml \
diff --git a/target/product/gsi/current.txt b/target/product/gsi/current.txt
index e3a8f9cc2..17d2f1bd5 100644
--- a/target/product/gsi/current.txt
+++ b/target/product/gsi/current.txt
@@ -120,6 +120,7 @@ VNDK-core: android.hardware.nfc@1.0.so
120VNDK-core: android.hardware.nfc@1.1.so 120VNDK-core: android.hardware.nfc@1.1.so
121VNDK-core: android.hardware.nfc@1.2.so 121VNDK-core: android.hardware.nfc@1.2.so
122VNDK-core: android.hardware.oemlock@1.0.so 122VNDK-core: android.hardware.oemlock@1.0.so
123VNDK-core: android.hardware.power.stats@1.0.so
123VNDK-core: android.hardware.power@1.0.so 124VNDK-core: android.hardware.power@1.0.so
124VNDK-core: android.hardware.power@1.1.so 125VNDK-core: android.hardware.power@1.1.so
125VNDK-core: android.hardware.power@1.2.so 126VNDK-core: android.hardware.power@1.2.so
diff --git a/target/product/handheld_system.mk b/target/product/handheld_system.mk
index 57b61c273..acafe802d 100644
--- a/target/product/handheld_system.mk
+++ b/target/product/handheld_system.mk
@@ -36,52 +36,34 @@ PRODUCT_PACKAGES += \
36 Bluetooth \ 36 Bluetooth \
37 BluetoothMidiService \ 37 BluetoothMidiService \
38 BookmarkProvider \ 38 BookmarkProvider \
39 Browser2 \
40 BuiltInPrintService \ 39 BuiltInPrintService \
41 Calendar \
42 CalendarProvider \ 40 CalendarProvider \
43 Camera2 \
44 cameraserver \ 41 cameraserver \
45 CaptivePortalLogin \ 42 CaptivePortalLogin \
46 CertInstaller \ 43 CertInstaller \
47 clatd \ 44 clatd \
48 clatd.conf \ 45 clatd.conf \
49 Contacts \
50 DeskClock \
51 DocumentsUI \ 46 DocumentsUI \
52 DownloadProviderUi \ 47 DownloadProviderUi \
53 EasterEgg \ 48 EasterEgg \
54 Email \
55 ExactCalculator \ 49 ExactCalculator \
56 ExternalStorageProvider \ 50 ExternalStorageProvider \
57 FusedLocation \ 51 FusedLocation \
58 Gallery2 \
59 InputDevices \ 52 InputDevices \
60 KeyChain \ 53 KeyChain \
61 LatinIME \
62 Launcher3QuickStep \
63 librs_jni \ 54 librs_jni \
64 ManagedProvisioning \ 55 ManagedProvisioning \
65 MmsService \ 56 MmsService \
66 MtpDocumentsProvider \ 57 MtpDocumentsProvider \
67 Music \
68 MusicFX \ 58 MusicFX \
69 NfcNci \ 59 NfcNci \
70 OneTimeInitializer \
71 PacProcessor \ 60 PacProcessor \
72 PrintRecommendationService \
73 PrintSpooler \ 61 PrintSpooler \
74 Provision \
75 ProxyHandler \ 62 ProxyHandler \
76 QuickSearchBox \
77 screenrecord \ 63 screenrecord \
78 SecureElement \ 64 SecureElement \
79 Settings \
80 SettingsIntelligence \
81 SharedStorageBackup \ 65 SharedStorageBackup \
82 SimAppDialog \ 66 SimAppDialog \
83 StorageManager \
84 SystemUI \
85 Telecom \ 67 Telecom \
86 TelephonyProvider \ 68 TelephonyProvider \
87 TeleService \ 69 TeleService \
@@ -89,7 +71,6 @@ PRODUCT_PACKAGES += \
89 UserDictionaryProvider \ 71 UserDictionaryProvider \
90 VpnDialogs \ 72 VpnDialogs \
91 vr \ 73 vr \
92 WallpaperCropper \
93 74
94 75
95PRODUCT_SYSTEM_SERVER_APPS += \ 76PRODUCT_SYSTEM_SERVER_APPS += \
diff --git a/target/product/handheld_vendor.mk b/target/product/handheld_vendor.mk
index 0f7387559..b9970e9dd 100644
--- a/target/product/handheld_vendor.mk
+++ b/target/product/handheld_vendor.mk
@@ -19,6 +19,8 @@
19# it definitely doesn't belong on other types of devices (if it 19# it definitely doesn't belong on other types of devices (if it
20# does, use base_vendor.mk). 20# does, use base_vendor.mk).
21$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk) 21$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk)
22
23# /vendor packages
22PRODUCT_PACKAGES += \ 24PRODUCT_PACKAGES += \
23 audio.primary.default \ 25 audio.primary.default \
24 DisplayCutoutEmulationCornerOverlay \ 26 DisplayCutoutEmulationCornerOverlay \
@@ -28,3 +30,25 @@ PRODUCT_PACKAGES += \
28 power.default \ 30 power.default \
29 SysuiDarkThemeOverlay \ 31 SysuiDarkThemeOverlay \
30 vibrator.default \ 32 vibrator.default \
33
34# /product packages
35PRODUCT_PACKAGES += \
36 Browser2 \
37 Calendar \
38 Camera2 \
39 Contacts \
40 DeskClock \
41 Email \
42 Gallery2 \
43 LatinIME \
44 Launcher3QuickStep \
45 Music \
46 OneTimeInitializer \
47 PrintRecommendationService \
48 Provision \
49 QuickSearchBox \
50 Settings \
51 SettingsIntelligence \
52 StorageManager \
53 SystemUI \
54 WallpaperCropper \
diff --git a/target/product/languages_default.mk b/target/product/languages_default.mk
new file mode 100644
index 000000000..a13a23c56
--- /dev/null
+++ b/target/product/languages_default.mk
@@ -0,0 +1,105 @@
1#
2# Copyright (C) 2009 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# This is a build configuration that just contains a list of languages, with
18# en_US set as the default language.
19PRODUCT_LOCALES := \
20 en_US \
21 af_ZA \
22 am_ET \
23 ar_EG \
24 ar_XB \
25 as_IN \
26 az_AZ \
27 be_BY \
28 bg_BG \
29 bn_BD \
30 bs_BA \
31 ca_ES \
32 cs_CZ \
33 da_DK \
34 de_DE \
35 el_GR \
36 en_AU \
37 en_CA \
38 en_GB \
39 en_IN \
40 en_XA \
41 es_ES \
42 es_US \
43 et_EE \
44 eu_ES \
45 fa_IR \
46 fi_FI \
47 fr_CA \
48 fr_FR \
49 gl_ES \
50 gu_IN \
51 hi_IN \
52 hr_HR \
53 hu_HU \
54 hy_AM \
55 in_ID \
56 is_IS \
57 it_IT \
58 iw_IL \
59 ja_JP \
60 ka_GE \
61 kk_KZ \
62 km_KH \
63 kn_IN \
64 ko_KR \
65 ky_KG \
66 lo_LA \
67 lt_LT \
68 lv_LV \
69 mk_MK \
70 ml_IN \
71 mn_MN \
72 mr_IN \
73 ms_MY \
74 my_MM \
75 nb_NO \
76 ne_NP \
77 nl_NL \
78 or_IN \
79 pa_IN \
80 pl_PL \
81 pt_BR \
82 pt_PT \
83 ro_RO \
84 ru_RU \
85 si_LK \
86 sk_SK \
87 sl_SI \
88 sq_AL \
89 sr_Latn_RS \
90 sr_RS \
91 sv_SE \
92 sw_TZ \
93 ta_IN \
94 te_IN \
95 th_TH \
96 tl_PH \
97 tr_TR \
98 uk_UA \
99 ur_PK \
100 uz_UZ \
101 vi_VN \
102 zh_CN \
103 zh_HK \
104 zh_TW \
105 zu_ZA \
diff --git a/target/product/languages_full.mk b/target/product/languages_full.mk
index 5f3795f21..43a40a7e9 100644
--- a/target/product/languages_full.mk
+++ b/target/product/languages_full.mk
@@ -14,94 +14,9 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17# This is a build configuration that just contains a list of languages. 17# This is a build configuration that contains the default list of languages,
18# 18# as well as the en_XC pseudo-locale, which is useful for localization test
19# These are all the locales that have translations. 19# builds.
20PRODUCT_LOCALES := \ 20
21 en_US \ 21$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk)
22 af_ZA \ 22PRODUCT_LOCALES += en_XC
23 am_ET \
24 ar_EG \
25 ar_XB \
26 as_IN \
27 az_AZ \
28 be_BY \
29 bg_BG \
30 bn_BD \
31 bs_BA \
32 ca_ES \
33 cs_CZ \
34 da_DK \
35 de_DE \
36 el_GR \
37 en_AU \
38 en_CA \
39 en_GB \
40 en_IN \
41 en_XA \
42 en_XC \
43 es_ES \
44 es_US \
45 et_EE \
46 eu_ES \
47 fa_IR \
48 fi_FI \
49 fr_CA \
50 fr_FR \
51 gl_ES \
52 gu_IN \
53 hi_IN \
54 hr_HR \
55 hu_HU \
56 hy_AM \
57 in_ID \
58 is_IS \
59 it_IT \
60 iw_IL \
61 ja_JP \
62 ka_GE \
63 kk_KZ \
64 km_KH \
65 kn_IN \
66 ko_KR \
67 ky_KG \
68 lo_LA \
69 lt_LT \
70 lv_LV \
71 mk_MK \
72 ml_IN \
73 mn_MN \
74 mr_IN \
75 ms_MY \
76 my_MM \
77 nb_NO \
78 ne_NP \
79 nl_NL \
80 or_IN \
81 pa_IN \
82 pl_PL \
83 pt_BR \
84 pt_PT \
85 ro_RO \
86 ru_RU \
87 si_LK \
88 sk_SK \
89 sl_SI \
90 sq_AL \
91 sr_Latn_RS \
92 sr_RS \
93 sv_SE \
94 sw_TZ \
95 ta_IN \
96 te_IN \
97 th_TH \
98 tl_PH \
99 tr_TR \
100 uk_UA \
101 ur_PK \
102 uz_UZ \
103 vi_VN \
104 zh_CN \
105 zh_HK \
106 zh_TW \
107 zu_ZA
diff --git a/target/board/treble_common_64.mk b/target/product/mainline.mk
index 8980dfde1..44dcd6083 100644
--- a/target/board/treble_common_64.mk
+++ b/target/product/mainline.mk
@@ -1,5 +1,5 @@
1# 1#
2# Copyright (C) 2017 The Android Open-Source Project 2# Copyright (C) 2019 The Android Open Source Project
3# 3#
4# Licensed under the Apache License, Version 2.0 (the "License"); 4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License. 5# you may not use this file except in compliance with the License.
@@ -14,7 +14,8 @@
14# limitations under the License. 14# limitations under the License.
15# 15#
16 16
17include build/make/target/board/treble_common.mk 17# Makefile including the mainline system image, and the relevant AOSP portions
18 18# for the other partitions.
19# Enable 64-bits binder 19$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
20TARGET_USES_64_BIT_BINDER := true 20$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
21$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
diff --git a/target/product/mainline_arm64.mk b/target/product/mainline_arm64.mk
index f93d7e412..6122ac1d9 100644
--- a/target/product/mainline_arm64.mk
+++ b/target/product/mainline_arm64.mk
@@ -15,9 +15,7 @@
15# 15#
16 16
17$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) 17$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
18$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk) 18$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline.mk)
19$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
20$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
21 19
22PRODUCT_NAME := mainline_arm64 20PRODUCT_NAME := mainline_arm64
23PRODUCT_DEVICE := generic_arm64 21PRODUCT_DEVICE := generic_arm64
@@ -32,3 +30,40 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
32 root/init.zygote64_32.rc \ 30 root/init.zygote64_32.rc \
33 system/etc/seccomp_policy/crash_dump.arm.policy \ 31 system/etc/seccomp_policy/crash_dump.arm.policy \
34 system/etc/seccomp_policy/mediacodec.policy \ 32 system/etc/seccomp_policy/mediacodec.policy \
33
34# Modules that are to be moved to /product
35PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
36 system/app/Browser2/Browser2.apk \
37 system/app/Calendar/Calendar.apk \
38 system/app/Camera2/Camera2.apk \
39 system/app/DeskClock/DeskClock.apk \
40 system/app/Email/Email.apk \
41 system/app/Gallery2/Gallery2.apk \
42 system/app/LatinIME/LatinIME.apk \
43 system/app/LatinIME/oat/arm64/LatinIME.odex \
44 system/app/LatinIME/oat/arm64/LatinIME.vdex \
45 system/app/Music/Music.apk \
46 system/app/PrintRecommendationService/PrintRecommendationService.apk \
47 system/app/QuickSearchBox/QuickSearchBox.apk \
48 system/bin/healthd \
49 system/etc/init/healthd.rc \
50 system/etc/vintf/manifest/manifest_healthd.xml \
51 system/lib64/libjni_eglfence.so \
52 system/lib64/libjni_filtershow_filters.so \
53 system/lib64/libjni_jpegstream.so \
54 system/lib64/libjni_jpegutil.so \
55 system/lib64/libjni_latinime.so \
56 system/lib64/libjni_tinyplanet.so \
57 system/priv-app/CarrierConfig/CarrierConfig.apk \
58 system/priv-app/Contacts/Contacts.apk \
59 system/priv-app/Dialer/Dialer.apk \
60 system/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk \
61 system/priv-app/OneTimeInitializer/OneTimeInitializer.apk \
62 system/priv-app/Provision/Provision.apk \
63 system/priv-app/Settings/Settings.apk \
64 system/priv-app/SettingsIntelligence/SettingsIntelligence.apk \
65 system/priv-app/StorageManager/StorageManager.apk \
66 system/priv-app/SystemUI/SystemUI.apk \
67 system/priv-app/SystemUI/oat/arm64/SystemUI.odex \
68 system/priv-app/SystemUI/oat/arm64/SystemUI.vdex \
69 system/priv-app/WallpaperCropper/WallpaperCropper.apk \
diff --git a/target/product/mainline_system.mk b/target/product/mainline_system.mk
index fe0f81a13..b9b422f24 100644
--- a/target/product/mainline_system.mk
+++ b/target/product/mainline_system.mk
@@ -17,6 +17,9 @@
17# This makefile is the basis of a generic system image for a handheld device. 17# This makefile is the basis of a generic system image for a handheld device.
18$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk) 18$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk)
19$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk) 19$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk)
20$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk)
21# Add adb keys to debuggable AOSP builds (if they exist)
22$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk)
20 23
21# Shared java libs 24# Shared java libs
22PRODUCT_PACKAGES += \ 25PRODUCT_PACKAGES += \
@@ -72,6 +75,7 @@ PRODUCT_PACKAGES += \
72 android.hardware.radio.deprecated@1.0 \ 75 android.hardware.radio.deprecated@1.0 \
73 android.hardware.secure_element@1.0 \ 76 android.hardware.secure_element@1.0 \
74 android.hardware.tests.libhwbinder@1.0-impl \ 77 android.hardware.tests.libhwbinder@1.0-impl \
78 android.hardware.wifi@1.0 \
75 android.hidl.base@1.0 \ 79 android.hidl.base@1.0 \
76 libaudio-resampler \ 80 libaudio-resampler \
77 liblogwrap \ 81 liblogwrap \
@@ -98,8 +102,6 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
98# Enable dynamic partition size 102# Enable dynamic partition size
99PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 103PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
100 104
101PRODUCT_LOCALES := en_US af_ZA am_ET ar_EG as_IN az_AZ be_BY bg_BG bn_BD bs_BA ca_ES cs_CZ da_DK de_DE el_GR en_AU en_CA en_GB en_IN es_ES es_US et_EE eu_ES fa_IR fi_FI fr_CA fr_FR gl_ES gu_IN hi_IN hr_HR hu_HU hy_AM in_ID is_IS it_IT iw_IL ja_JP ka_GE kk_KZ km_KH ko_KR ky_KG lo_LA lt_LT lv_LV km_MH kn_IN mn_MN ml_IN mk_MK mr_IN ms_MY my_MM ne_NP nb_NO nl_NL or_IN pa_IN pl_PL pt_BR pt_PT ro_RO ru_RU si_LK sk_SK sl_SI sq_AL sr_Latn_RS sr_RS sv_SE sw_TZ ta_IN te_IN th_TH tl_PH tr_TR uk_UA ur_PK uz_UZ vi_VN zh_CN zh_HK zh_TW zu_ZA en_XA ar_XB
102
103PRODUCT_NAME := mainline_system 105PRODUCT_NAME := mainline_system
104PRODUCT_BRAND := generic 106PRODUCT_BRAND := generic
105 107
diff --git a/target/product/media_vendor.mk b/target/product/media_vendor.mk
index 1db0b587e..f30e6f361 100644
--- a/target/product/media_vendor.mk
+++ b/target/product/media_vendor.mk
@@ -20,6 +20,11 @@
20# base_vendor.mk. 20# base_vendor.mk.
21$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk) 21$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk)
22 22
23# /vendor packages
23PRODUCT_PACKAGES += \ 24PRODUCT_PACKAGES += \
24 libaudiopreprocessing \ 25 libaudiopreprocessing \
25 libwebrtc_audio_preprocessing \ 26 libwebrtc_audio_preprocessing \
27
28# /product packages
29PRODUCT_PACKAGES += \
30 webview \
diff --git a/target/product/telephony_system.mk b/target/product/telephony_system.mk
index 0b1e8a2a6..e30f0364f 100644
--- a/target/product/telephony_system.mk
+++ b/target/product/telephony_system.mk
@@ -19,9 +19,7 @@
19 19
20PRODUCT_PACKAGES := \ 20PRODUCT_PACKAGES := \
21 ANS \ 21 ANS \
22 CarrierConfig \
23 CarrierDefaultApp \ 22 CarrierDefaultApp \
24 Dialer \
25 CallLogBackup \ 23 CallLogBackup \
26 CellBroadcastReceiver \ 24 CellBroadcastReceiver \
27 EmergencyInfo \ 25 EmergencyInfo \
diff --git a/target/product/telephony_vendor.mk b/target/product/telephony_vendor.mk
index bddd3834e..4cff16dc8 100644
--- a/target/product/telephony_vendor.mk
+++ b/target/product/telephony_vendor.mk
@@ -17,7 +17,13 @@
17# This is the list of modules that are specific to products that have telephony 17# This is the list of modules that are specific to products that have telephony
18# hardware, and install outside the system partition. 18# hardware, and install outside the system partition.
19 19
20# /vendor packages
20PRODUCT_PACKAGES := \ 21PRODUCT_PACKAGES := \
21 rild \ 22 rild \
22 23
24# /product packages
25PRODUCT_PACKAGES += \
26 CarrierConfig \
27 Dialer \
28
23PRODUCT_COPY_FILES := \ 29PRODUCT_COPY_FILES := \
diff --git a/tools/Android.mk b/tools/Android.mk
deleted file mode 100644
index c05d68155..000000000
--- a/tools/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Copyright (C) 2010 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19# Only if this Android.mk was included not by a symlink should it be used.
20# This facilitates the transition away from symlinks: b/64397960
21ifeq ($(LOCAL_PATH),build/make/tools)
22include $(call all-makefiles-under,$(LOCAL_PATH))
23endif
diff --git a/tools/droiddoc/Android.mk b/tools/droiddoc/Android.mk
deleted file mode 100644
index ff08edc10..000000000
--- a/tools/droiddoc/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
1# Copyright (C) 2008 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH := $(call my-dir)
16
17# Droiddoc is now Doclava -- See external/doclava.
diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py
index 1872a5812..da5ea4aa1 100755
--- a/tools/releasetools/add_img_to_target_files.py
+++ b/tools/releasetools/add_img_to_target_files.py
@@ -859,11 +859,12 @@ def AddImagesToTargetFiles(filename):
859 banner("vbmeta") 859 banner("vbmeta")
860 AddVBMeta(output_zip, partitions, "vbmeta", vbmeta_partitions) 860 AddVBMeta(output_zip, partitions, "vbmeta", vbmeta_partitions)
861 861
862 if OPTIONS.info_dict.get("build_super_partition"): 862 if OPTIONS.info_dict.get("build_super_partition") == "true":
863 banner("super_empty") 863 banner("super_empty")
864 AddSuperEmpty(output_zip) 864 AddSuperEmpty(output_zip)
865 865
866 if OPTIONS.info_dict.get("dynamic_partition_retrofit") == "true": 866 if OPTIONS.info_dict.get(
867 "build_retrofit_dynamic_partitions_ota_package") == "true":
867 banner("super split images") 868 banner("super split images")
868 AddSuperSplit(output_zip) 869 AddSuperSplit(output_zip)
869 870
diff --git a/tools/signapk/Android.bp b/tools/signapk/Android.bp
index e95205d04..ad9d957dd 100644
--- a/tools/signapk/Android.bp
+++ b/tools/signapk/Android.bp
@@ -28,4 +28,10 @@ java_library_host {
28 ], 28 ],
29 29
30 required: ["libconscrypt_openjdk_jni"], 30 required: ["libconscrypt_openjdk_jni"],
31
32 // The post-build signing tools need signapk.jar (and its shared libraries,
33 // handled in their own Android.bp files)
34 dist: {
35 targets: ["droidcore"],
36 },
31} 37}
diff --git a/tools/signapk/Android.mk b/tools/signapk/Android.mk
deleted file mode 100644
index ff54d6d84..000000000
--- a/tools/signapk/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
1#
2# Copyright (C) 2008 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16LOCAL_PATH := $(call my-dir)
17
18ifeq ($(TARGET_BUILD_APPS),)
19# The post-build signing tools need signapk.jar and its shared libraries,
20# but we don't need this if we're just doing unbundled apps.
21my_dist_files := $(HOST_OUT_JAVA_LIBRARIES)/signapk.jar \
22 $(HOST_OUT_SHARED_LIBRARIES)/libconscrypt_openjdk_jni$(HOST_SHLIB_SUFFIX)
23
24$(call dist-for-goals,droidcore,$(my_dist_files))
25my_dist_files :=
26endif