diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index 2880b287c5..bb622f0b9f 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -126,6 +126,7 @@ $(call soong_config_set,art_module,source_build,$(ART_MODULE_BUILD_FROM_SOURCE)) # default. INDIVIDUALLY_TOGGLEABLE_PREBUILT_MODULES := \ bluetooth \ + permission \ uwb \ wifi \ @@ -147,11 +148,25 @@ ifeq (eng,$(TARGET_BUILD_VARIANT)) $(call soong_config_set,messaging,build_variant_eng,true) endif -# TODO(b/203088572): Remove when Java optimizations enabled by default for -# SystemUI. +# Enable SystemUI optimizations by default unless explicitly set. +SYSTEMUI_OPTIMIZE_JAVA ?= true $(call add_soong_config_var,ANDROID,SYSTEMUI_OPTIMIZE_JAVA) -# TODO(b/196084106): Remove when Java optimizations enabled by default for -# system packages. + +# Enable system_server optimizations by default unless explicitly set or if +# there may be dependent runtime jars. +# TODO(b/240588226): Remove the off-by-default exceptions after handling +# system_server jars automatically w/ R8. +ifeq (true,$(PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS)) + # If system_server jar ordering is broken, don't assume services.jar can be + # safely optimized in isolation, as there may be dependent jars. + SYSTEM_OPTIMIZE_JAVA ?= false +else ifneq (platform:services,$(lastword $(PRODUCT_SYSTEM_SERVER_JARS))) + # If services is not the final jar in the dependency ordering, don't assume + # it can be safely optimized in isolation, as there may be dependent jars. + SYSTEM_OPTIMIZE_JAVA ?= false +else + SYSTEM_OPTIMIZE_JAVA ?= true +endif $(call add_soong_config_var,ANDROID,SYSTEM_OPTIMIZE_JAVA) # Check for SupplementalApi module. diff --git a/core/app_prebuilt_internal.mk b/core/app_prebuilt_internal.mk index 4586f356c6..eb429cdd5c 100644 --- a/core/app_prebuilt_internal.mk +++ b/core/app_prebuilt_internal.mk @@ -280,7 +280,7 @@ $(error You must put all the split source apks in the same folder: $(LOCAL_PACKA endif my_src_dir := $(LOCAL_PATH)/$(my_src_dir) -$(built_apk_splits) : $(LOCAL_CERTIFICATE).pk8 $(LOCAL_CERTIFICATE).x509.pem +$(built_apk_splits) : $(LOCAL_CERTIFICATE).pk8 $(LOCAL_CERTIFICATE).x509.pem | $(ZIPALIGN) $(ZIP2ZIP) $(SIGNAPK_JAR) $(SIGNAPK_JNI_LIBRARY_PATH) $(built_apk_splits) : PRIVATE_PRIVATE_KEY := $(LOCAL_CERTIFICATE).pk8 $(built_apk_splits) : PRIVATE_CERTIFICATE := $(LOCAL_CERTIFICATE).x509.pem $(built_apk_splits) : $(intermediates)/%.apk : $(my_src_dir)/%.apk diff --git a/core/build_id.mk b/core/build_id.mk index 37f5462361..f2449b600d 100644 --- a/core/build_id.mk +++ b/core/build_id.mk @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. -BUILD_ID=TPM1.221011.001 +BUILD_ID=TPM1.221101.001 diff --git a/core/product-graph.mk b/core/product-graph.mk index 379110e902..4a44837c54 100644 --- a/core/product-graph.mk +++ b/core/product-graph.mk @@ -25,7 +25,7 @@ define gather-all-makefiles-for-current-product-inner $(if $(filter $(p),$(_all_products_visited)),, \ $(p) \ $(eval _all_products_visited += $(p)) \ - $(call all-products-inner, $(PRODUCTS.$(strip $(p)).INHERITS_FROM)) + $(call gather-all-makefiles-for-current-product-inner, $(PRODUCTS.$(strip $(p)).INHERITS_FROM)) ) \ ) endef diff --git a/core/soong_config.mk b/core/soong_config.mk index 1b19612cfd..e84dfe5733 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -310,6 +310,8 @@ $(call add_json_list, SepolicyFreezeTestExtraPrebuiltDirs, $(SEPOLICY_FREEZE_TES $(call add_json_bool, GenerateAidlNdkPlatformBackend, $(filter true,$(NEED_AIDL_NDK_PLATFORM_BACKEND))) +$(call add_json_bool, ForceMultilibFirstOnDevice, $(filter true,$(FORCE_MULTILIB_FIRST_ON_DEVICE))) + $(call json_end) $(file >$(SOONG_VARIABLES).tmp,$(json_contents)) diff --git a/core/sysprop.mk b/core/sysprop.mk index 90777c321f..91e5cf8cf7 100644 --- a/core/sysprop.mk +++ b/core/sysprop.mk @@ -47,10 +47,18 @@ define generate-common-build-props echo "ro.product.$(1).model=$(PRODUCT_MODEL)" >> $(2);\ echo "ro.product.$(1).name=$(TARGET_PRODUCT)" >> $(2);\ )\ - $(if $(filter system vendor odm,$(1)),\ - echo "ro.$(1).product.cpu.abilist=$(TARGET_CPU_ABI_LIST) " >> $(2);\ - echo "ro.$(1).product.cpu.abilist32=$(TARGET_CPU_ABI_LIST_32_BIT)" >> $(2);\ - echo "ro.$(1).product.cpu.abilist64=$(TARGET_CPU_ABI_LIST_64_BIT)" >> $(2);\ + $(if $(filter true,$(ZYGOTE_FORCE_64)),\ + $(if $(filter vendor,$(1)),\ + echo "ro.$(1).product.cpu.abilist=$(TARGET_CPU_ABI_LIST_64_BIT)" >> $(2);\ + echo "ro.$(1).product.cpu.abilist32=" >> $(2);\ + echo "ro.$(1).product.cpu.abilist64=$(TARGET_CPU_ABI_LIST_64_BIT)" >> $(2);\ + )\ + ,\ + $(if $(filter system vendor odm,$(1)),\ + echo "ro.$(1).product.cpu.abilist=$(TARGET_CPU_ABI_LIST)" >> $(2);\ + echo "ro.$(1).product.cpu.abilist32=$(TARGET_CPU_ABI_LIST_32_BIT)" >> $(2);\ + echo "ro.$(1).product.cpu.abilist64=$(TARGET_CPU_ABI_LIST_64_BIT)" >> $(2);\ + )\ )\ echo "ro.$(1).build.date=`$(DATE_FROM_FILE)`" >> $(2);\ echo "ro.$(1).build.date.utc=`$(DATE_FROM_FILE) +%s`" >> $(2);\ @@ -266,6 +274,7 @@ $(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) | $(B TARGET_CPU_ABI_LIST_64_BIT="$(TARGET_CPU_ABI_LIST_64_BIT)" \ TARGET_CPU_ABI="$(TARGET_CPU_ABI)" \ TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \ + ZYGOTE_FORCE_64_BIT="$(ZYGOTE_FORCE_64_BIT)" \ bash $(BUILDINFO_SH) > $@ ifdef TARGET_SYSTEM_PROP diff --git a/core/tasks/sts-lite.mk b/core/tasks/sts-lite.mk new file mode 100644 index 0000000000..dee25d4802 --- /dev/null +++ b/core/tasks/sts-lite.mk @@ -0,0 +1,40 @@ +# Copyright (C) 2022 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ifneq ($(wildcard test/sts/README-sts-sdk.md),) +test_suite_name := sts-lite +test_suite_tradefed := sts-tradefed +test_suite_readme := test/sts/README-sts-sdk.md +sts_sdk_zip := $(HOST_OUT)/$(test_suite_name)/sts-sdk.zip + +include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk + +sts_sdk_samples := $(call intermediates-dir-for,ETC,sts-sdk-samples.zip)/sts-sdk-samples.zip + +$(sts_sdk_zip): STS_LITE_ZIP := $(compatibility_zip) +$(sts_sdk_zip): STS_SDK_SAMPLES := $(sts_sdk_samples) +$(sts_sdk_zip): $(MERGE_ZIPS) $(ZIP2ZIP) $(compatibility_zip) $(sts_sdk_samples) + rm -f $@ $(STS_LITE_ZIP)_filtered + $(ZIP2ZIP) -i $(STS_LITE_ZIP) -o $(STS_LITE_ZIP)_filtered \ + -x android-sts-lite/tools/sts-tradefed-tests.jar \ + 'android-sts-lite/tools/*:sts-test/libs/' \ + 'android-sts-lite/testcases/*:sts-test/utils/' + $(MERGE_ZIPS) $@ $(STS_LITE_ZIP)_filtered $(STS_SDK_SAMPLES) + rm -f $(STS_LITE_ZIP)_filtered + +.PHONY: sts-sdk +sts-sdk: $(sts_sdk_zip) +$(call dist-for-goals, sts-sdk, $(sts_sdk_zip)) + +endif diff --git a/core/version_defaults.mk b/core/version_defaults.mk index 8fb8eb76e1..174590f139 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -111,7 +111,7 @@ ifndef PLATFORM_SECURITY_PATCH # It must be of the form "YYYY-MM-DD" on production devices. # It must match one of the Android Security Patch Level strings of the Public Security Bulletins. # If there is no $PLATFORM_SECURITY_PATCH set, keep it empty. - PLATFORM_SECURITY_PATCH := 2022-11-05 + PLATFORM_SECURITY_PATCH := 2022-12-05 endif include $(BUILD_SYSTEM)/version_util.mk diff --git a/target/product/OWNERS b/target/product/OWNERS index b3d89980ee..30b1af6324 100644 --- a/target/product/OWNERS +++ b/target/product/OWNERS @@ -3,3 +3,8 @@ per-file runtime_libart.mk = calin@google.com, mast@google.com, ngeoffray@google # GSI per-file gsi_release.mk = file:/target/product/gsi/OWNERS per-file developer_gsi_keys.mk = file:/target/product/gsi/OWNERS + +# Android Go +per-file go_defaults.mk = gkaiser@google.com, kushg@google.com, rajekumar@google.com +per-file go_defaults_512.mk = gkaiser@google.com, kushg@google.com, rajekumar@google.com +per-file go_defaults_common.mk = gkaiser@google.com, kushg@google.com, rajekumar@google.com diff --git a/target/product/base_system.mk b/target/product/base_system.mk index c398a20b3f..7900b2b302 100644 --- a/target/product/base_system.mk +++ b/target/product/base_system.mk @@ -119,6 +119,7 @@ PRODUCT_PACKAGES += \ init_system \ input \ installd \ + IntentResolver \ ip \ iptables \ ip-up-vpn \ diff --git a/target/product/cfi-common.mk b/target/product/cfi-common.mk index 3aa2be7bb2..11c01a27b5 100644 --- a/target/product/cfi-common.mk +++ b/target/product/cfi-common.mk @@ -26,8 +26,10 @@ PRODUCT_CFI_INCLUDE_PATHS := \ frameworks/av/services \ frameworks/minikin \ hardware/broadcom/wlan/bcmdhd/wpa_supplicant_8_lib \ + hardware/synaptics/wlan/synadhd/wpa_supplicant_8_lib \ hardware/interfaces/nfc \ - hardware/qcom/wlan/qcwcn/wpa_supplicant_8_lib \ + hardware/qcom/wlan/legacy/qcwcn/wpa_supplicant_8_lib \ + hardware/qcom/wlan/wcn6740/qcwcn/wpa_supplicant_8_lib \ hardware/interfaces/keymaster \ hardware/interfaces/security \ packages/modules/Bluetooth/system \ diff --git a/target/product/core_64_bit.mk b/target/product/core_64_bit.mk index 322fa80530..b9d22a6dd3 100644 --- a/target/product/core_64_bit.mk +++ b/target/product/core_64_bit.mk @@ -27,7 +27,11 @@ PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw # Set the zygote property to select the 64-bit primary, 32-bit secondary script # This line must be parsed before the one in core_minimal.mk +ifeq ($(ZYGOTE_FORCE_64),true) +PRODUCT_VENDOR_PROPERTIES += ro.zygote=zygote64 +else PRODUCT_VENDOR_PROPERTIES += ro.zygote=zygote64_32 +endif TARGET_SUPPORTS_32_BIT_APPS := true TARGET_SUPPORTS_64_BIT_APPS := true diff --git a/target/product/go_defaults_common.mk b/target/product/go_defaults_common.mk index 7f19615edf..51a1ef6ec4 100644 --- a/target/product/go_defaults_common.mk +++ b/target/product/go_defaults_common.mk @@ -36,12 +36,6 @@ PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-im # Do not generate libartd. PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false -# Do not spin up a separate process for the network stack on go devices, use an in-process APK. -PRODUCT_PACKAGES += InProcessNetworkStack -PRODUCT_PACKAGES += CellBroadcastAppPlatform -PRODUCT_PACKAGES += CellBroadcastServiceModulePlatform -PRODUCT_PACKAGES += com.android.tethering.inprocess - # Strip the local variable table and the local variable type table to reduce # the size of the system image. This has no bearing on stack traces, but will # leave less information available via JDWP.