diff options
-rw-r--r-- | backported_fixes/applied_fixes/ki385124056.txtpb | 19 | ||||
-rw-r--r-- | core/Makefile | 1 | ||||
-rw-r--r-- | core/android_soong_config_vars.mk | 16 | ||||
-rw-r--r-- | core/board_config.mk | 2 | ||||
-rw-r--r-- | core/board_config_wpa_supplicant.mk | 96 | ||||
-rw-r--r-- | core/layoutlib_data.mk | 5 | ||||
-rw-r--r-- | core/soong_config.mk | 1 | ||||
-rw-r--r-- | core/sysprop.mk | 1 | ||||
-rw-r--r-- | core/tasks/cts-v-host.mk | 29 | ||||
-rw-r--r-- | core/tasks/cts.mk | 15 | ||||
-rw-r--r-- | core/version_util.mk | 14 | ||||
-rw-r--r-- | target/product/app_function_extensions.mk | 4 | ||||
-rw-r--r-- | target/product/base_system.mk | 18 | ||||
-rw-r--r-- | target/product/base_system_ext.mk | 5 | ||||
-rw-r--r-- | target/product/build_variables.mk | 3 | ||||
-rw-r--r-- | target/product/default_art_config.mk | 27 | ||||
-rw-r--r-- | target/product/generic/Android.bp | 20 | ||||
-rw-r--r-- | target/product/media_system_ext.mk | 5 | ||||
-rw-r--r-- | teams/Android.bp | 7 | ||||
-rwxr-xr-x | tools/finalization/build-step-0.sh | 4 | ||||
-rwxr-xr-x | tools/finalization/environment.sh | 1 | ||||
-rwxr-xr-x | tools/finalization/finalize-vintf-resources.sh | 63 |
22 files changed, 307 insertions, 49 deletions
diff --git a/backported_fixes/applied_fixes/ki385124056.txtpb b/backported_fixes/applied_fixes/ki385124056.txtpb new file mode 100644 index 0000000000..e2d4545b65 --- /dev/null +++ b/backported_fixes/applied_fixes/ki385124056.txtpb @@ -0,0 +1,19 @@ +# Copyright (C) 2024 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. +# +# proto-file: ../backported_fixes.proto +# proto-message: BackportedFix + +known_issue: 385124056 +alias: 4 diff --git a/core/Makefile b/core/Makefile index 0d6b175b54..d0e2f15b2a 100644 --- a/core/Makefile +++ b/core/Makefile @@ -7839,6 +7839,7 @@ $(INTERNAL_SDK_TARGET): $(deps) -I $(HOST_OUT) \ -I $(TARGET_COMMON_OUT_ROOT) \ -v "PLATFORM_NAME=$(PRIVATE_PLATFORM_NAME)" \ + -v "PLATFORM_SDK_API_VERSION=$(PLATFORM_SDK_VERSION_FULL)" \ -v "OUT_DIR=$(OUT_DIR)" \ -v "HOST_OUT=$(HOST_OUT)" \ -v "TARGET_ARCH=$(TARGET_ARCH)" \ diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index 6aea68000b..f57ec816f9 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -108,6 +108,9 @@ endif SYSTEMUI_OPTIMIZE_JAVA ?= true $(call add_soong_config_var,ANDROID,SYSTEMUI_OPTIMIZE_JAVA) +# Flag to use baseline profile for SystemUI. +$(call soong_config_set,ANDROID,release_systemui_use_speed_profile,$(RELEASE_SYSTEMUI_USE_SPEED_PROFILE)) + # Flag for enabling compose for Launcher. $(call soong_config_set,ANDROID,release_enable_compose_in_launcher,$(RELEASE_ENABLE_COMPOSE_IN_LAUNCHER)) @@ -216,6 +219,19 @@ endif # Required as platform_bootclasspath is using this namespace $(call soong_config_set,bootclasspath,release_crashrecovery_module,$(RELEASE_CRASHRECOVERY_MODULE)) + +# Add ondeviceintelligence module build flag to soong +ifeq (true,$(RELEASE_ONDEVICE_INTELLIGENCE_MODULE)) + $(call soong_config_set,ANDROID,release_ondevice_intelligence_module,true) + # Required as platform_bootclasspath is using this namespace + $(call soong_config_set,bootclasspath,release_ondevice_intelligence_module,true) + +else + $(call soong_config_set,ANDROID,release_ondevice_intelligence_platform,true) + $(call soong_config_set,bootclasspath,release_ondevice_intelligence_platform,true) + +endif + # Add uprobestats build flag to soong $(call soong_config_set,ANDROID,release_uprobestats_module,$(RELEASE_UPROBESTATS_MODULE)) # Add uprobestats file move flags to soong, for both platform and module diff --git a/core/board_config.mk b/core/board_config.mk index ad89c0313b..16cf863e72 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -225,6 +225,7 @@ else $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk \ device/generic/goldfish/board/$(TARGET_DEVICE)/BoardConfig.mk \ device/google/cuttlefish/board/$(TARGET_DEVICE)/BoardConfig.mk \ + vendor/google/products/cuttlefish/pixel_watch/board/$(TARGET_DEVICE)/BoardConfig.mk \ $(shell test -d device && find -L device -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \ $(shell test -d vendor && find -L vendor -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \ ))) @@ -289,6 +290,7 @@ $(foreach var,$(_board_true_false_vars), \ $(error Valid values of $(var) are "true", "false", and "". Not "$($(var))"))) include $(BUILD_SYSTEM)/board_config_wifi.mk +include $(BUILD_SYSTEM)/board_config_wpa_supplicant.mk # Set up soong config for "soong_config_value_variable". -include hardware/interfaces/configstore/1.1/default/surfaceflinger.mk diff --git a/core/board_config_wpa_supplicant.mk b/core/board_config_wpa_supplicant.mk new file mode 100644 index 0000000000..c03f94a230 --- /dev/null +++ b/core/board_config_wpa_supplicant.mk @@ -0,0 +1,96 @@ +# +# Copyright (C) 2024 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. +# + +# ############################################################### +# This file adds wpa_supplicant_8 variables into soong config namespace (`wpa_supplicant_8`) +# ############################################################### + +ifdef BOARD_HOSTAPD_DRIVER +$(call soong_config_set_bool,wpa_supplicant_8,wpa_build_hostapd,true) +ifneq ($(BOARD_HOSTAPD_DRIVER),NL80211) + $(error BOARD_HOSTAPD_DRIVER set to $(BOARD_HOSTAPD_DRIVER) but current soong expected it should be NL80211 only!) +endif +endif + +ifdef BOARD_WPA_SUPPLICANT_DRIVER +ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER),NL80211) + $(error BOARD_WPA_SUPPLICANT_DRIVER set to $(BOARD_WPA_SUPPLICANT_DRIVER) but current soong expected it should be NL80211 only!) +endif +endif + +# This is for CONFIG_DRIVER_NL80211_BRCM, CONFIG_DRIVER_NL80211_SYNA, CONFIG_DRIVER_NL80211_QCA +# And it is only used for a cflags setting in driver. +$(call soong_config_set,wpa_supplicant_8,board_wlan_device,$(BOARD_WLAN_DEVICE)) + +# Belong to CONFIG_IEEE80211AX definition +ifeq ($(WIFI_FEATURE_HOSTAPD_11AX),true) +$(call soong_config_set_bool,wpa_supplicant_8,hostapd_11ax,true) +endif + +ifeq ($(WIFI_FEATURE_SUPPLICANT_11AX),true) +$(call soong_config_set_bool,wpa_supplicant_8,wpa_supplicant_11ax,true) +endif + +# Belong to CONFIG_IEEE80211BE definition +ifeq ($(WIFI_FEATURE_HOSTAPD_11BE),true) +$(call soong_config_set_bool,wpa_supplicant_8,hostapd_11be,true) +endif + +ifeq ($(WIFI_FEATURE_SUPPLICANT_11BE),true) +$(call soong_config_set_bool,wpa_supplicant_8,wpa_supplicant_11be,true) +endif + +# PLATFORM_VERSION +$(call soong_config_set,wpa_supplicant_8,platform_version,$(PLATFORM_VERSION)) + +# BOARD_HOSTAPD_PRIVATE_LIB +ifeq ($(BOARD_HOSTAPD_PRIVATE_LIB),) +$(call soong_config_set_bool,wpa_supplicant_8,hostapd_use_stub_lib,true) +else +$(call soong_config_set,wpa_supplicant_8,board_hostapd_private_lib,$(BOARD_HOSTAPD_PRIVATE_LIB)) +endif + +ifeq ($(BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL),true) +$(call soong_config_set_bool,wpa_supplicant_8,board_hostapd_config_80211w_mfp_optional,true) +endif + +ifneq ($(BOARD_HOSTAPD_PRIVATE_LIB_EVENT),) +$(call soong_config_set_bool,wpa_supplicant_8,board_hostapd_private_lib_event,true) +endif + +# BOARD_WPA_SUPPLICANT_PRIVATE_LIB +ifeq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB),) +$(call soong_config_set_bool,wpa_supplicant_8,wpa_supplicant_use_stub_lib,true) +else +$(call soong_config_set,wpa_supplicant_8,board_wpa_supplicant_private_lib,$(BOARD_WPA_SUPPLICANT_PRIVATE_LIB)) +endif + +ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT),) +$(call soong_config_set_bool,wpa_supplicant_8,board_wpa_supplicant_private_lib_event,true) +endif + +ifeq ($(WIFI_PRIV_CMD_UPDATE_MBO_CELL_STATUS), enabled) +$(call soong_config_set_bool,wpa_supplicant_8,wifi_priv_cmd_update_mbo_cell_status,true) +endif + +ifeq ($(WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY), true) +$(call soong_config_set_bool,wpa_supplicant_8,wifi_hidl_unified_supplicant_service_rc_entry,true) +endif + +# New added in internal main +ifeq ($(WIFI_BRCM_OPEN_SOURCE_MULTI_AKM), enabled) +$(call soong_config_set_bool,wpa_supplicant_8,wifi_brcm_open_source_multi_akm,true) +endif diff --git a/core/layoutlib_data.mk b/core/layoutlib_data.mk index dabcfb20c9..f228ef65b6 100644 --- a/core/layoutlib_data.mk +++ b/core/layoutlib_data.mk @@ -3,11 +3,10 @@ FONT_TEMP := $(call intermediates-dir-for,PACKAGING,fonts,HOST,COMMON) # The font configuration files - system_fonts.xml, fallback_fonts.xml etc. -font_config := $(sort $(wildcard frameworks/base/data/fonts/*.xml)) +font_config := $(filter $(TARGET_OUT)/etc/font%.xml, $(INTERNAL_SYSTEMIMAGE_FILES)) font_config := $(addprefix $(FONT_TEMP)/, $(notdir $(font_config))) -$(font_config): $(FONT_TEMP)/%.xml: \ - frameworks/base/data/fonts/%.xml +$(font_config): $(FONT_TEMP)/%: $(TARGET_OUT)/etc/% $(hide) mkdir -p $(dir $@) $(hide) cp -vf $< $@ diff --git a/core/soong_config.mk b/core/soong_config.mk index bd52d88492..42401b8f3c 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -38,6 +38,7 @@ $(call add_json_bool, DisplayBuildNumber, $(filter true,$(DISPLAY $(call add_json_str, Platform_display_version_name, $(PLATFORM_DISPLAY_VERSION)) $(call add_json_str, Platform_version_name, $(PLATFORM_VERSION)) $(call add_json_val, Platform_sdk_version, $(PLATFORM_SDK_VERSION)) +$(call add_json_val, Platform_sdk_version_full, $(PLATFORM_SDK_VERSION_FULL)) $(call add_json_str, Platform_sdk_codename, $(PLATFORM_VERSION_CODENAME)) $(call add_json_bool, Platform_sdk_final, $(filter REL,$(PLATFORM_VERSION_CODENAME))) $(call add_json_val, Platform_sdk_extension_version, $(PLATFORM_SDK_EXTENSION_VERSION)) diff --git a/core/sysprop.mk b/core/sysprop.mk index 9a9f509333..4c040e497e 100644 --- a/core/sysprop.mk +++ b/core/sysprop.mk @@ -79,6 +79,7 @@ define generate-common-build-props echo "ro.$(1).build.version.release=$(PLATFORM_VERSION_LAST_STABLE)" >> $(2);\ echo "ro.$(1).build.version.release_or_codename=$(PLATFORM_VERSION)" >> $(2);\ echo "ro.$(1).build.version.sdk=$(PLATFORM_SDK_VERSION)" >> $(2);\ + echo "ro.$(1).build.version.sdk_full=$(PLATFORM_SDK_VERSION_FULL)" >> $(2);\ endef diff --git a/core/tasks/cts-v-host.mk b/core/tasks/cts-v-host.mk new file mode 100644 index 0000000000..67cc0f21e4 --- /dev/null +++ b/core/tasks/cts-v-host.mk @@ -0,0 +1,29 @@ +# Copyright (C) 2024 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. + +# cts-v-host includes host-side interactive and multi-device CTS tests that +# cannot be fully automated. It is part of CTS Verifier. +ifneq ($(wildcard cts/tools/cts-v-host/README),) +test_suite_name := cts-v-host +test_suite_tradefed := cts-v-host-tradefed +test_suite_readme := cts/tools/cts-v-host/README +test_suite_tools := $(HOST_OUT_JAVA_LIBRARIES)/ats_console_deploy.jar \ + $(HOST_OUT_JAVA_LIBRARIES)/ats_olc_server_local_mode_deploy.jar + +include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk + +.PHONY: cts-v-host +cts-v-host: $(compatibility_zip) $(compatibility_tests_list_zip) +$(call dist-for-goals, cts-v-host, $(compatibility_zip) $(compatibility_tests_list_zip)) +endif diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk index 1a55bf480b..7fe6551587 100644 --- a/core/tasks/cts.mk +++ b/core/tasks/cts.mk @@ -78,14 +78,28 @@ verifier-dir-name := android-cts-verifier verifier-dir := $(cts-dir)/$(verifier-dir-name) verifier-zip-name := $(verifier-dir-name).zip verifier-zip := $(cts-dir)/$(verifier-zip-name) +cts-v-host-zip := $(HOST_OUT)/cts-v-host/android-cts-v-host.zip cts : $(verifier-zip) +ifeq ($(wildcard cts/tools/cts-v-host/README),) $(verifier-zip): PRIVATE_DIR := $(cts-dir) $(verifier-zip): $(SOONG_ANDROID_CTS_VERIFIER_ZIP) rm -rf $(PRIVATE_DIR) mkdir -p $(PRIVATE_DIR) unzip -q -d $(PRIVATE_DIR) $< $(copy-file-to-target) +else +$(verifier-zip): PRIVATE_DIR := $(cts-dir) +$(verifier-zip): PRIVATE_verifier_dir := $(verifier-dir) +$(verifier-zip): PRIVATE_host_zip := $(cts-v-host-zip) +$(verifier-zip): $(SOONG_ANDROID_CTS_VERIFIER_ZIP) $(cts-v-host-zip) $(SOONG_ZIP) + rm -rf $(PRIVATE_DIR) + mkdir -p $(PRIVATE_DIR) + unzip -q -d $(PRIVATE_DIR) $< + unzip -q -d $(PRIVATE_verifier_dir) $(PRIVATE_host_zip) + $(SOONG_ZIP) -d -o $@ -C $(PRIVATE_DIR) -D $(PRIVATE_verifier_dir) +endif +$(call dist-for-goals, cts, $(verifier-zip)) # For producing CTS coverage reports. # Run "make cts-test-coverage" in the $ANDROID_BUILD_TOP directory. @@ -352,3 +366,4 @@ verifier-dir-name := verifier-dir := verifier-zip-name := verifier-zip := +cts-v-host-zip := diff --git a/core/version_util.mk b/core/version_util.mk index 2bf41ecceb..cc94063bbe 100644 --- a/core/version_util.mk +++ b/core/version_util.mk @@ -22,6 +22,7 @@ # PLATFORM_VERSION # PLATFORM_DISPLAY_VERSION # PLATFORM_SDK_VERSION +# PLATFORM_SDK_VERSION_FULL # PLATFORM_SDK_EXTENSION_VERSION # PLATFORM_BASE_SDK_EXTENSION_VERSION # PLATFORM_VERSION_CODENAME @@ -62,6 +63,19 @@ endif PLATFORM_SDK_VERSION := $(RELEASE_PLATFORM_SDK_VERSION) .KATI_READONLY := PLATFORM_SDK_VERSION +ifdef PLATFORM_SDK_VERSION_FULL + $(error Do not set PLATFORM_SDK_VERSION_FULL directly. Use RELEASE_PLATFORM_SDK_VERSION_FULL. value: $(PLATFORM_SDK_VERSION_FULL)) +endif +ifeq ($(RELEASE_PLATFORM_SDK_VERSION_FULL),) + PLATFORM_SDK_VERSION_FULL := "$(PLATFORM_SDK_VERSION).0" +else + ifneq ($(RELEASE_PLATFORM_SDK_VERSION),$(word 1,$(subst ., ,$(RELEASE_PLATFORM_SDK_VERSION_FULL)))) + $(error if RELEASE_PLATFORM_SDK_VERSION_FULL ($(RELEASE_PLATFORM_SDK_VERSION_FULL)) is set, its major version must match RELEASE_PLATFORM_SDK_VERSION ($(RELEASE_PLATFORM_SDK_VERSION))) + endif + PLATFORM_SDK_VERSION_FULL := "$(RELEASE_PLATFORM_SDK_VERSION_FULL)" +endif +.KATI_READONLY := PLATFORM_SDK_VERSION_FULL + ifdef PLATFORM_SDK_EXTENSION_VERSION $(error Do not set PLATFORM_SDK_EXTENSION_VERSION directly. Use RELEASE_PLATFORM_SDK_EXTENSION_VERSION. value: $(PLATFORM_SDK_EXTENSION_VERSION)) endif diff --git a/target/product/app_function_extensions.mk b/target/product/app_function_extensions.mk index a61afdc5ab..e601fd7ca3 100644 --- a/target/product/app_function_extensions.mk +++ b/target/product/app_function_extensions.mk @@ -18,5 +18,5 @@ # /system_ext packages PRODUCT_PACKAGES += \ - com.google.android.appfunctions.sidecar \ - appfunctions.sidecar.xml + com.android.extensions.appfunctions \ + appfunctions.extension.xml diff --git a/target/product/base_system.mk b/target/product/base_system.mk index 40e2aa14a8..8458e26fc5 100644 --- a/target/product/base_system.mk +++ b/target/product/base_system.mk @@ -205,7 +205,6 @@ PRODUCT_PACKAGES += \ libstdc++ \ libsysutils \ libui \ - libuprobestats_client \ libusbhost \ libutils \ libvintf_jni \ @@ -311,8 +310,20 @@ ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true) PRODUCT_PACKAGES += \ com.android.crashrecovery \ +else + PRODUCT_PACKAGES += \ + framework-platformcrashrecovery \ + +endif + +# When we release ondeviceintelligence in neuralnetworks module +ifneq ($(RELEASE_ONDEVICE_INTELLIGENCE_MODULE),true) + PRODUCT_PACKAGES += \ + framework-ondeviceintelligence-platform + endif + # When we release uprobestats module ifeq ($(RELEASE_UPROBESTATS_MODULE),true) PRODUCT_PACKAGES += \ @@ -321,6 +332,7 @@ ifeq ($(RELEASE_UPROBESTATS_MODULE),true) else PRODUCT_PACKAGES += \ uprobestats \ + libuprobestats_client \ endif @@ -351,8 +363,7 @@ endif # Check if the build supports Profiling module ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true) PRODUCT_PACKAGES += \ - com.android.profiling \ - trace_redactor + com.android.profiling endif ifeq ($(RELEASE_USE_WEBVIEW_BOOTSTRAP_MODULE),true) @@ -569,3 +580,4 @@ $(call inherit-product,$(SRC_TARGET_DIR)/product/updatable_apex.mk) $(call soong_config_set, bionic, large_system_property_node, $(RELEASE_LARGE_SYSTEM_PROPERTY_NODE)) $(call soong_config_set, Aconfig, read_from_new_storage, $(RELEASE_READ_FROM_NEW_STORAGE)) $(call soong_config_set, SettingsLib, legacy_avatar_picker_app_enabled, $(if $(RELEASE_AVATAR_PICKER_APP),,true)) +$(call soong_config_set, appsearch, enable_isolated_storage, $(RELEASE_APPSEARCH_ENABLE_ISOLATED_STORAGE)) diff --git a/target/product/base_system_ext.mk b/target/product/base_system_ext.mk index febe5378b5..6767b9a3a9 100644 --- a/target/product/base_system_ext.mk +++ b/target/product/base_system_ext.mk @@ -30,3 +30,8 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 += \ hwservicemanager \ android.hidl.allocator@1.0-service \ + +# AppFunction Extensions +ifneq (,$(RELEASE_APPFUNCTION_SIDECAR)) + $(call inherit-product, $(SRC_TARGET_DIR)/product/app_function_extensions.mk) +endif
\ No newline at end of file diff --git a/target/product/build_variables.mk b/target/product/build_variables.mk index e99ab0686a..c9369112aa 100644 --- a/target/product/build_variables.mk +++ b/target/product/build_variables.mk @@ -31,3 +31,6 @@ $(call soong_config_set, libsqlite3, release_package_libsqlite3, $(RELEASE_PACKA # Use the configured MessageQueue implementation $(call soong_config_set, messagequeue, release_package_messagequeue_implementation, $(RELEASE_PACKAGE_MESSAGEQUEUE_IMPLEMENTATION)) + +# Use the configured version of WebView +$(call soong_config_set, webview, release_package_webview_version, $(RELEASE_PACKAGE_WEBVIEW_VERSION)) diff --git a/target/product/default_art_config.mk b/target/product/default_art_config.mk index e543ccf035..f91cb07849 100644 --- a/target/product/default_art_config.mk +++ b/target/product/default_art_config.mk @@ -90,11 +90,27 @@ PRODUCT_APEX_BOOT_JARS := \ com.android.virt:framework-virtualization \ com.android.wifi:framework-wifi \ -# When we release crashrecovery module +# When crashrecovery module is ready use apex jar +# else put the platform jar in system ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true) - PRODUCT_APEX_BOOT_JARS += \ + PRODUCT_APEX_BOOT_JARS += \ com.android.crashrecovery:framework-crashrecovery \ +else + PRODUCT_BOOT_JARS += \ + framework-platformcrashrecovery \ + +endif + +# When we release ondeviceintelligence in NeuralNetworks module +ifeq ($(RELEASE_ONDEVICE_INTELLIGENCE_MODULE),true) + PRODUCT_APEX_BOOT_JARS += \ + com.android.neuralnetworks:framework-ondeviceintelligence \ + +else + PRODUCT_BOOT_JARS += \ + framework-ondeviceintelligence-platform \ + endif # Check if the build supports NFC apex or not @@ -153,6 +169,13 @@ ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true) endif +# When we release ondeviceintelligence in NeuralNetworks module +ifeq ($(RELEASE_ONDEVICE_INTELLIGENCE_MODULE),true) + PRODUCT_APEX_SYSTEM_SERVER_JARS += \ + com.android.neuralnetworks:service-ondeviceintelligence + +endif + ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true) PRODUCT_APEX_SYSTEM_SERVER_JARS += com.android.virt:service-virtualization endif diff --git a/target/product/generic/Android.bp b/target/product/generic/Android.bp index 5bfff66c32..b3dd6e8ce6 100644 --- a/target/product/generic/Android.bp +++ b/target/product/generic/Android.bp @@ -393,8 +393,8 @@ android_filesystem_defaults { "charger", ] + select(release_flag("RELEASE_APPFUNCTION_SIDECAR"), { true: [ - "com.google.android.appfunctions.sidecar", - "appfunctions.sidecar.xml", + "com.android.extensions.appfunctions", + "appfunctions.extension.xml", ], default: [], }), @@ -695,11 +695,6 @@ system_image_defaults { default: [ "android.software.preview_sdk.prebuilt.xml", // media_system ], - }) + select(soong_config_variable("ANDROID", "release_package_profiling_module"), { - "true": [ - "trace_redactor", // base_system (RELEASE_PACKAGE_PROFILING_MODULE) - ], - default: [], }) + select(release_flag("RELEASE_MEMORY_MANAGEMENT_DAEMON"), { true: [ "mm_daemon", // base_system (RELEASE_MEMORY_MANAGEMENT_DAEMON) @@ -869,7 +864,16 @@ system_image_defaults { "true": [ "com.android.crashrecovery", // base_system (RELEASE_CRASHRECOVERY_MODULE) ], - default: [], + default: [ + "framework-platformcrashrecovery", // base_system + ], + }) + select(release_flag("RELEASE_ONDEVICE_INTELLIGENCE_MODULE"), { + true: [ + "com.android.neuralnetworks", // base_system (RELEASE_ONDEVICE_INTELLIGENCE_MODULE) + ], + default: [ + "framework-ondeviceintelligence-platform", // base_system + ], }) + select(soong_config_variable("ANDROID", "release_package_profiling_module"), { "true": [ "com.android.profiling", // base_system (RELEASE_PACKAGE_PROFILING_MODULE) diff --git a/target/product/media_system_ext.mk b/target/product/media_system_ext.mk index 1179966777..e79a7eb5d1 100644 --- a/target/product/media_system_ext.mk +++ b/target/product/media_system_ext.mk @@ -22,8 +22,3 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/base_system_ext.mk) # Window Extensions $(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions_base.mk) - -# AppFunction Extensions -ifneq (,$(RELEASE_APPFUNCTION_SIDECAR)) - $(call inherit-product, $(SRC_TARGET_DIR)/product/app_function_extensions.mk) -endif diff --git a/teams/Android.bp b/teams/Android.bp index 8689267461..6fc45bfd42 100644 --- a/teams/Android.bp +++ b/teams/Android.bp @@ -3332,6 +3332,13 @@ team { } team { + name: "trendy_team_wear_partner_engineering", + + // go/trendy/manage/engineers/5098351636676608 + trendy_team_id: "5098351636676608", +} + +team { name: "trendy_team_framework_android_multiuser", // go/trendy/manage/engineers/5981525732392960 diff --git a/tools/finalization/build-step-0.sh b/tools/finalization/build-step-0.sh index 8826b35c0f..bc41a196e8 100755 --- a/tools/finalization/build-step-0.sh +++ b/tools/finalization/build-step-0.sh @@ -25,8 +25,8 @@ RELEASE_BOARD_API_LEVEL='$FINAL_BOARD_API_LEVEL'" fi; if [ "$need_vintf_finalize" = true ] ; then # VINTF finalization - source $top/build/make/tools/finalization/finalize-vintf-resources.sh + source $top/build/make/tools/finalization/finalize-vintf-resources.sh $@ fi; } -finalize_main_step0 +finalize_main_step0 $@ diff --git a/tools/finalization/environment.sh b/tools/finalization/environment.sh index 0d3a9e130a..c76980d90f 100755 --- a/tools/finalization/environment.sh +++ b/tools/finalization/environment.sh @@ -34,3 +34,4 @@ export FINAL_CORRESPONDING_VERSION_LETTER='B' export FINAL_CORRESPONDING_PLATFORM_VERSION='16' export FINAL_NEXT_BOARD_API_LEVEL='202604' export FINAL_NEXT_CORRESPONDING_VERSION_LETTER='C' +export FINAL_NEXT_CORRESPONDING_SDK_VERSION='37' diff --git a/tools/finalization/finalize-vintf-resources.sh b/tools/finalization/finalize-vintf-resources.sh index 6f1a6f646e..9660e3fc8c 100755 --- a/tools/finalization/finalize-vintf-resources.sh +++ b/tools/finalization/finalize-vintf-resources.sh @@ -3,6 +3,21 @@ set -ex function finalize_vintf_resources() { + if [ $# -gt 1 ]; then + echo "No argument or '--steps_for_build_test_only' is allowed" + exit 1 + fi + if [ $# -eq 1 ]; then + if [ "$1" == "--steps_for_build_test_only" ]; then + echo "This is only to verify building a target." + echo "Skip LLNDK ABI dump and VINTF check." + local build_test_only=true + else + echo "Unknown argument $1" + exit 1 + fi + fi + local top="$(dirname "$0")"/../../../.. source $top/build/make/tools/finalization/environment.sh # environment needed to build dependencies and run scripts @@ -16,40 +31,40 @@ function finalize_vintf_resources() { export TARGET_RELEASE=fina_0 export TARGET_PRODUCT=aosp_arm64 + # build/soong + local vendor_api_level_map="case ${FINAL_NEXT_BOARD_API_LEVEL}:" + if ! grep -q "$vendor_api_level_map" "$top/build/soong/android/vendor_api_levels.go" ; then + sed -i -e "/case ${FINAL_BOARD_API_LEVEL}:/{N;a \\\t$vendor_api_level_map\n\t\tsdkVersion = ${FINAL_NEXT_CORRESPONDING_SDK_VERSION} + }" "$top/build/soong/android/vendor_api_levels.go" + fi + # system/sepolicy "$top/system/sepolicy/tools/finalize-vintf-resources.sh" "$top" "$FINAL_BOARD_API_LEVEL" - create_new_compat_matrix_and_kernel_configs - - # pre-finalization build target (trunk) local aidl_m="$top/build/soong/soong_ui.bash --make-mode" AIDL_TRANSITIVE_FREEZE=true $aidl_m aidl-freeze-api create_reference_dumps - # Generate LLNDK ABI dumps - # This command depends on ANDROID_BUILD_TOP - "$ANDROID_HOST_OUT/bin/create_reference_dumps" -release "$TARGET_RELEASE" --build-variant "$TARGET_BUILD_VARIANT" --lib-variant LLNDK + finalize_compat_matrix $build_test_only + + if ! [ "$build_test_only" = "true" ]; then + # Generate LLNDK ABI dumps + # This command depends on ANDROID_BUILD_TOP + "$ANDROID_HOST_OUT/bin/create_reference_dumps" -release "$TARGET_RELEASE" --build-variant "$TARGET_BUILD_VARIANT" --lib-variant LLNDK + fi } -function create_new_compat_matrix_and_kernel_configs() { - # The compatibility matrix versions are bumped during vFRC - # These will change every time we have a new vFRC +function finalize_compat_matrix() { + local build_test_only=$1 local CURRENT_COMPATIBILITY_MATRIX_LEVEL="$FINAL_BOARD_API_LEVEL" - local NEXT_COMPATIBILITY_MATRIX_LEVEL="$FINAL_NEXT_BOARD_API_LEVEL" - # The kernel configs need the letter of the Android release - local CURRENT_RELEASE_LETTER="$FINAL_CORRESPONDING_VERSION_LETTER" - local NEXT_RELEASE_LETTER="$FINAL_NEXT_CORRESPONDING_VERSION_LETTER" - - - # build the targets required before touching the Android.bp/Android.mk files - local build_cmd="$top/build/soong/soong_ui.bash --make-mode" - $build_cmd bpmodify - "$top/prebuilts/build-tools/path/linux-x86/python3" "$top/hardware/interfaces/compatibility_matrices/bump.py" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" "$NEXT_COMPATIBILITY_MATRIX_LEVEL" "$CURRENT_RELEASE_LETTER" "$NEXT_RELEASE_LETTER" "$FINAL_CORRESPONDING_PLATFORM_VERSION" + "$top/prebuilts/build-tools/path/linux-x86/python3" "$top/hardware/interfaces/compatibility_matrices/finalize.py" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" - # Freeze the current framework manifest file. This relies on the - # aosp_cf_x86_64-trunk_staging build target to get the right manifest - # fragments installed. - "$top/system/libhidl/vintfdata/freeze.sh" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" + if ! [ "$build_test_only" = "true" ]; then + # Freeze the current framework manifest file. This relies on the + # interfaces already being frozen because we are building with fina_0 which + # inherits from `next` where RELEASE_AIDL_USE_UNFROZEN=false + "$top/system/libhidl/vintfdata/freeze.sh" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" + fi } function freeze_framework_manifest() { @@ -58,5 +73,5 @@ function freeze_framework_manifest() { } -finalize_vintf_resources +finalize_vintf_resources $@ |