diff options
48 files changed, 584 insertions, 219 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk index a84e7934cf..284ef394bd 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -614,6 +614,10 @@ $(call add-clean-step, rm -rf $(HOST_OUT)/framework/vts-tradefed.jar) # Clean up old location of system_other.avbpubkey $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/security/avb/) +# Clean up bufferhub files +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/hw/android.frameworks.bufferhub@1.0-service) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/android.frameworks.bufferhub@1.0-service.rc) + $(call add-clean-step, rm -rf $(PRODUCT_OUT)/super.img) $(call add-clean-step, find $(PRODUCT_OUT) -type f -name "generated_*_image_info.txt" -print0 | xargs -0 rm -f) @@ -635,6 +639,9 @@ $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/build_verity_metadata.py) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libc_malloc*) +# Clean up old location of soft OMX plugins +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libstagefright_soft*) + # Move odm build.prop to /odm/etc/. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/odm/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/odm/build.prop) @@ -655,6 +662,10 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*system_ext*) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/product) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/system_ext) +# Move GSI-specific files from /system to /system/system_ext +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/init.gsi.rc) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/config/) + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/Makefile b/core/Makefile index 30a46c2f9f..c9b8cd11fb 100644 --- a/core/Makefile +++ b/core/Makefile @@ -502,6 +502,7 @@ endif $(hide) echo ro.vendor.product.cpu.abilist64="$(TARGET_CPU_ABI_LIST_64_BIT)">>$@ $(hide) echo ro.product.board="$(TARGET_BOOTLOADER_BOARD_NAME)">>$@ $(hide) echo ro.board.platform="$(TARGET_BOARD_PLATFORM)">>$@ + $(hide) echo ro.hwui.use_vulkan="$(TARGET_USES_VULKAN)">>$@ ifdef TARGET_SCREEN_DENSITY $(hide) echo ro.sf.lcd_density="$(TARGET_SCREEN_DENSITY)">>$@ endif @@ -3600,7 +3601,7 @@ endif ifeq ($(build_otatools_package),true) INTERNAL_OTATOOLS_MODULES := \ - aapt \ + aapt2 \ add_img_to_target_files \ append2simg \ avbtool \ @@ -4493,25 +4494,28 @@ endif # EMMA_INSTRUMENT=true #------------------------------------------------------------------ # A zip of Proguard obfuscation dictionary files. -# Only for apps_only build. # -ifdef TARGET_BUILD_APPS PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip -# the dependency will be set up later in build/make/core/main.mk. -$(PROGUARD_DICT_ZIP) : +# For apps_only build we'll establish the dependency later in build/make/core/main.mk. +ifndef TARGET_BUILD_APPS +$(PROGUARD_DICT_ZIP): \ + $(INSTALLED_SYSTEMIMAGE_TARGET) \ + $(INSTALLED_RAMDISK_TARGET) \ + $(INSTALLED_BOOTIMAGE_TARGET) \ + $(INSTALLED_USERDATAIMAGE_TARGET) \ + $(INSTALLED_VENDORIMAGE_TARGET) \ + $(INSTALLED_PRODUCTIMAGE_TARGET) \ + $(INSTALLED_SYSTEM_EXTIMAGE_TARGET) \ + $(INSTALLED_ODMIMAGE_TARGET) \ + $(updater_dep) +endif +$(PROGUARD_DICT_ZIP): PRIVATE_LIST_FILE := $(call intermediates-dir-for,PACKAGING,proguard)/filelist +$(PROGUARD_DICT_ZIP): $(SOONG_ZIP) @echo "Packaging Proguard obfuscation dictionary files." - $(hide) dict_files=`find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary`; \ - if [ -n "$$dict_files" ]; then \ - unobfuscated_jars=$${dict_files//proguard_dictionary/classes.jar}; \ - zip -qX $@ $$dict_files $$unobfuscated_jars; \ - else \ - touch $(dir $@)/zipdummy; \ - (cd $(dir $@) && zip -q $(notdir $@) zipdummy); \ - zip -qd $@ zipdummy; \ - rm $(dir $@)/zipdummy; \ - fi - -endif # TARGET_BUILD_APPS + mkdir -p $(dir $@) $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS $(dir $(PRIVATE_LIST_FILE)) + find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary | \ + sed -e 's/\(.*\)\/proguard_dictionary/\0\n\1\/classes.jar/' > $(PRIVATE_LIST_FILE) + $(SOONG_ZIP) --ignore_missing_files -d -o $@ -C $(OUT_DIR)/.. -l $(PRIVATE_LIST_FILE) ifeq (true,$(PRODUCT_USE_DYNAMIC_PARTITIONS)) diff --git a/core/aux_config.mk b/core/aux_config.mk index 86dc10a540..10d2536bc2 100644 --- a/core/aux_config.mk +++ b/core/aux_config.mk @@ -32,7 +32,7 @@ endif # setup AUX globals AUX_SHLIB_SUFFIX := .so -AUX_GLOBAL_ARFLAGS := cqsD +AUX_GLOBAL_ARFLAGS := crsPD AUX_STATIC_LIB_SUFFIX := .a # Load ever-lasting "indexed" version of AUX variant environment; it is treated as READ-ONLY from this diff --git a/core/build_id.mk b/core/build_id.mk index bac2f4809f..2329288076 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=PI +BUILD_ID=QT diff --git a/core/clear_vars.mk b/core/clear_vars.mk index b98027ddec..3cadcc2ae8 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -115,6 +115,7 @@ LOCAL_HEADER_LIBRARIES:= LOCAL_HOST_PREFIX:= LOCAL_HOST_REQUIRED_MODULES:= LOCAL_INIT_RC:= +LOCAL_INJECT_BSSL_HASH:= LOCAL_INSTALLED_MODULE:= LOCAL_INSTALLED_MODULE_STEM:= LOCAL_INSTRUMENTATION_FOR:= diff --git a/core/combo/HOST_darwin-x86_64.mk b/core/combo/HOST_darwin-x86_64.mk index 07f8d9f78a..dac3bbf5cd 100644 --- a/core/combo/HOST_darwin-x86_64.mk +++ b/core/combo/HOST_darwin-x86_64.mk @@ -59,8 +59,3 @@ $(hide) $(PRIVATE_CXX) \ $(PRIVATE_LDFLAGS) \ $(PRIVATE_LDLIBS) endef - -# $(1): The file to check -define get-file-size -stat -f "%z" $(1) -endef diff --git a/core/combo/HOST_linux-x86.mk b/core/combo/HOST_linux-x86.mk index deed943a61..3f4ec0aed1 100644 --- a/core/combo/HOST_linux-x86.mk +++ b/core/combo/HOST_linux-x86.mk @@ -23,8 +23,3 @@ endef ############################################################ ## Macros after this line are shared by the 64-bit config. - -# $(1): The file to check -define get-file-size -stat -c "%s" "$(1)" | tr -d '\n' -endef diff --git a/core/combo/select.mk b/core/combo/select.mk index eab4c7288d..33c8e6d404 100644 --- a/core/combo/select.mk +++ b/core/combo/select.mk @@ -28,7 +28,7 @@ combo_var_prefix := $(combo_2nd_arch_prefix)$(combo_target) # Set reasonable defaults for the various variables -$(combo_var_prefix)GLOBAL_ARFLAGS := cqsD -format=gnu +$(combo_var_prefix)GLOBAL_ARFLAGS := crsPD -format=gnu $(combo_var_prefix)STATIC_LIB_SUFFIX := .a diff --git a/core/config.mk b/core/config.mk index f52181362d..df56edb6cd 100644 --- a/core/config.mk +++ b/core/config.mk @@ -119,6 +119,7 @@ $(KATI_obsolete_var \ ARCH_X86_HAVE_SSSE3 \ ) $(KATI_obsolete_var PRODUCT_IOT) +$(KATI_obsolete_var MD5SUM) # Used to force goals to build. Only use for conditionally defined goals. .PHONY: FORCE @@ -648,13 +649,6 @@ endif # Path to tools.jar HOST_JDK_TOOLS_JAR := $(ANDROID_JAVA8_HOME)/lib/tools.jar -# It's called md5 on Mac OS and md5sum on Linux -ifeq ($(HOST_OS),darwin) -MD5SUM:=md5 -q -else -MD5SUM:=md5sum -endif - APICHECK_COMMAND := $(JAVA) -Xmx4g -jar $(APICHECK) --no-banner --compatible-output=yes # Boolean variable determining if the whitelist for compatible properties is enabled @@ -808,7 +802,7 @@ BUILD_DATETIME_FROM_FILE := $$(cat $(BUILD_DATETIME_FILE)) # is made which breaks compatibility with the previous platform sepolicy version, # not just on every increase in PLATFORM_SDK_VERSION. The minor version should # be reset to 0 on every bump of the PLATFORM_SDK_VERSION. -sepolicy_major_vers := 28 +sepolicy_major_vers := 29 sepolicy_minor_vers := 0 ifneq ($(sepolicy_major_vers), $(PLATFORM_SDK_VERSION)) diff --git a/core/definitions.mk b/core/definitions.mk index a93979ade3..0b2ae73741 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -2302,7 +2302,7 @@ endef ifeq ($(HOST_OS),linux) # Runs appcompat and store logs in $(PRODUCT_OUT)/appcompat define extract-package -$(AAPT2) dump $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && +$(AAPT2) dump resources $@ | awk -F ' |=' '/^Package/{print $$3}' >> $(PRODUCT_OUT)/appcompat/$(PRIVATE_MODULE).log && endef define appcompat-header $(hide) \ @@ -2678,9 +2678,9 @@ endef ########################################################### # $(1): The file to check -ifndef get-file-size -$(error HOST_OS must define get-file-size) -endif +define get-file-size +stat -c "%s" "$(1)" | tr -d '\n' +endef # $(1): The file(s) to check (often $@) # $(2): The partition size. diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk index 0accdc0fe7..27ff2c9698 100644 --- a/core/dynamic_binary.mk +++ b/core/dynamic_binary.mk @@ -39,6 +39,17 @@ include $(BUILD_SYSTEM)/use_lld_setup.mk include $(BUILD_SYSTEM)/binary.mk ################################### +ifdef LOCAL_INJECT_BSSL_HASH +inject_module := $(intermediates)/INJECT_BSSL_HASH/$(notdir $(my_installed_module_stem)) +LOCAL_INTERMEDIATE_TARGETS += $(inject_module) +$(inject_module): $(SOONG_HOST_OUT)/bin/bssl_inject_hash +$(inject_module): $(linked_module) + @echo "target inject BSSL hash: $(PRIVATE_MODULE) ($@)" + $(SOONG_HOST_OUT)/bin/bssl_inject_hash -in-object $< -o $@ +else +inject_module := $(linked_module) +endif + ########################################################### ## Store a copy with symbols for symbolic debugging ########################################################### @@ -47,7 +58,7 @@ my_unstripped_path := $(TARGET_OUT_UNSTRIPPED)/$(patsubst $(PRODUCT_OUT)/%,%,$(m else my_unstripped_path := $(LOCAL_UNSTRIPPED_PATH) endif -symbolic_input := $(linked_module) +symbolic_input := $(inject_module) symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem) $(symbolic_output) : $(symbolic_input) @echo "target Symbolic: $(PRIVATE_MODULE) ($@)" @@ -59,7 +70,7 @@ $(symbolic_output) : $(symbolic_input) ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true) my_breakpad_path := $(TARGET_OUT_BREAKPAD)/$(patsubst $(PRODUCT_OUT)/%,%,$(my_module_path)) -breakpad_input := $(linked_module) +breakpad_input := $(inject_module) breakpad_output := $(my_breakpad_path)/$(my_installed_module_stem).sym $(breakpad_output) : $(breakpad_input) | $(BREAKPAD_DUMP_SYMS) $(PRIVATE_READELF) @echo "target breakpad: $(PRIVATE_MODULE) ($@)" @@ -133,6 +144,7 @@ endif # my_strip_module $(cleantarget): PRIVATE_CLEAN_FILES += \ $(linked_module) \ + $(inject_module) \ $(breakpad_output) \ $(symbolic_output) \ $(strip_output) diff --git a/core/fuzz_test.mk b/core/fuzz_test.mk index f5bdef0144..71801ba62a 100644 --- a/core/fuzz_test.mk +++ b/core/fuzz_test.mk @@ -64,12 +64,12 @@ ifdef LOCAL_MODULE_PATH_64 $(error $(LOCAL_PATH): Do not set LOCAL_MODULE_PATH_64 when building test $(LOCAL_MODULE)) endif -LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)/fuzzers/$(LOCAL_MODULE) -LOCAL_MODULE_PATH_32 := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS)/fuzzers/$(LOCAL_MODULE) +LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)/fuzzers/$(my_fuzzer)/$(LOCAL_MODULE) +LOCAL_MODULE_PATH_32 := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS)/fuzzers/$(my_fuzzer)/$(LOCAL_MODULE) ifndef LOCAL_MULTILIB ifndef LOCAL_32_BIT_ONLY -LOCAL_MULTILIB := both +LOCAL_MULTILIB := 64 endif endif diff --git a/core/main.mk b/core/main.mk index f99f16d3ca..9eea513d6f 100644 --- a/core/main.mk +++ b/core/main.mk @@ -1663,6 +1663,7 @@ else # TARGET_BUILD_APPS $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET) \ $(BUILT_OTATOOLS_PACKAGE) \ $(SYMBOLS_ZIP) \ + $(PROGUARD_DICT_ZIP) \ $(COVERAGE_ZIP) \ $(APPCOMPAT_ZIP) \ $(INSTALLED_FILES_FILE) \ diff --git a/core/sdk_check.mk b/core/sdk_check.mk index 49ea2a8c92..c09fc7caec 100644 --- a/core/sdk_check.mk +++ b/core/sdk_check.mk @@ -8,6 +8,11 @@ whitelisted_modules := framework-res__auto_generated_rro + +ifeq (,$(JAVA_SDK_ENFORCEMENT_ERROR)) + JAVA_SDK_ENFORCEMENT_ERROR := APPS +endif + ifeq ($(LOCAL_SDK_VERSION)$(LOCAL_PRIVATE_PLATFORM_APIS),) ifeq (,$(filter $(LOCAL_MODULE),$(whitelisted_modules))) ifneq ($(JAVA_SDK_ENFORCEMENT_WARNING)$(JAVA_SDK_ENFORCEMENT_ERROR),) diff --git a/core/tasks/check_boot_jars/package_whitelist.txt b/core/tasks/check_boot_jars/package_whitelist.txt index 3b63843444..8d9878fc2f 100644 --- a/core/tasks/check_boot_jars/package_whitelist.txt +++ b/core/tasks/check_boot_jars/package_whitelist.txt @@ -243,3 +243,4 @@ com\.google\.vr\.platform.* ################################################### # Packages used for Android in Chrome OS org\.chromium\.arc +org\.chromium\.arc\..* diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk index 33c3a836f0..f3b4368775 100644 --- a/core/tasks/cts.mk +++ b/core/tasks/cts.mk @@ -14,7 +14,6 @@ test_suite_name := cts test_suite_tradefed := cts-tradefed -# TODO: Fix the following two lines after harness is moved to its own repo test_suite_dynamic_config := test/suite_harness/tools/cts-tradefed/DynamicConfig.xml test_suite_readme := test/suite_harness/tools/cts-tradefed/README diff --git a/core/version_defaults.mk b/core/version_defaults.mk index f949b05ae4..00c5ed02f3 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -84,12 +84,10 @@ MAX_PLATFORM_VERSION := # generate the range of allowed SDK versions, so it must have an entry for every # unreleased API level targetable by this branch, not just those that are valid # lunch targets for this branch. -PLATFORM_VERSION.QP1A := Q PLATFORM_VERSION.RP1A := R # These are the current development codenames, if the build is not a final # release build. If this is a final release build, it is simply "REL". -PLATFORM_VERSION_CODENAME.QP1A := Q PLATFORM_VERSION_CODENAME.RP1A := R ifndef PLATFORM_VERSION @@ -114,7 +112,7 @@ ifndef PLATFORM_SDK_VERSION # When you increment the PLATFORM_SDK_VERSION please ensure you also # clear out the following text file of all older PLATFORM_VERSION's: # cts/tests/tests/os/assets/platform_versions.txt - PLATFORM_SDK_VERSION := 28 + PLATFORM_SDK_VERSION := 29 endif .KATI_READONLY := PLATFORM_SDK_VERSION @@ -252,7 +250,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 := 2019-08-01 + PLATFORM_SECURITY_PATCH := 2019-09-05 endif .KATI_READONLY := PLATFORM_SECURITY_PATCH diff --git a/target/board/BoardConfigGsiCommon.mk b/target/board/BoardConfigGsiCommon.mk index e4dd032bbf..31d0bdf215 100644 --- a/target/board/BoardConfigGsiCommon.mk +++ b/target/board/BoardConfigGsiCommon.mk @@ -56,7 +56,3 @@ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 # Disable 64 bit mediadrmserver TARGET_ENABLE_MEDIADRM_64 := - -# Ordinary (non-flattened) APEX may require kernel changes. For maximum compatibility, -# use flattened APEX for GSI -TARGET_FLATTEN_APEX := true diff --git a/target/board/BoardConfigMainlineCommon.mk b/target/board/BoardConfigMainlineCommon.mk index ff6defdb33..52ba814319 100644 --- a/target/board/BoardConfigMainlineCommon.mk +++ b/target/board/BoardConfigMainlineCommon.mk @@ -49,6 +49,3 @@ TARGET_LMKD_STATS_LOG := true # Generate an APEX image for experiment b/119800099. DEXPREOPT_GENERATE_APEX_IMAGE := true - -# Mainline devices support apex -TARGET_FLATTEN_APEX := false diff --git a/target/board/generic_x86_arm/BoardConfig.mk b/target/board/generic_x86_arm/BoardConfig.mk index 6fae4113c1..e879001580 100644 --- a/target/board/generic_x86_arm/BoardConfig.mk +++ b/target/board/generic_x86_arm/BoardConfig.mk @@ -18,14 +18,10 @@ TARGET_CPU_ABI := x86 TARGET_ARCH := x86 TARGET_ARCH_VARIANT := x86 -TARGET_2ND_ARCH := arm -TARGET_2ND_CPU_ABI := armeabi-v7a -TARGET_2ND_CPU_ABI2 := armeabi -TARGET_2ND_ARCH_VARIANT := armv7-a-neon -TARGET_2ND_CPU_VARIANT := generic - -TARGET_CPU_ABI_LIST := x86 armeabi-v7a armeabi -TARGET_TRANSLATE_2ND_ARCH := true +TARGET_NATIVE_BRIDGE_ARCH := arm +TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv7-a-neon +TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic +TARGET_NATIVE_BRIDGE_ABI := armeabi-v7a armeabi BUILD_BROKEN_DUP_RULES := true diff --git a/target/board/go_defaults.prop b/target/board/go_defaults.prop new file mode 100644 index 0000000000..93071cd7e2 --- /dev/null +++ b/target/board/go_defaults.prop @@ -0,0 +1,15 @@ +# +# Copyright (C) 2017 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. +# diff --git a/core/tasks/cts_instant.mk b/target/board/go_defaults_512.prop index 18f1db308c..a8eea9c7d6 100644 --- a/core/tasks/cts_instant.mk +++ b/target/board/go_defaults_512.prop @@ -1,4 +1,5 @@ -# Copyright (C) 2018 The Android Open Source Project +# +# Copyright (C) 2017 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. @@ -11,15 +12,12 @@ # 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. +# -test_suite_name := cts_instant -test_suite_tradefed := cts-instant-tradefed -test_suite_dynamic_config := test/suite_harness/tools/cts-instant-tradefed/DynamicConfig.xml -test_suite_readme := test/suite_harness/tools/cts-instant-tradefed/README - -include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk +# 512MB specific properties. -.PHONY: cts_instant -cts_instant: $(compatibility_zip) -$(call dist-for-goals, cts_instant, $(compatibility_zip)) +# lmkd can kill more now. +ro.lmk.medium=700 +# madvise random in ART to reduce page cache thrashing. +dalvik.vm.madvise-random=true diff --git a/target/board/go_defaults_common.prop b/target/board/go_defaults_common.prop new file mode 100644 index 0000000000..d4989e06d3 --- /dev/null +++ b/target/board/go_defaults_common.prop @@ -0,0 +1,42 @@ +# +# Copyright (C) 2017 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. +# + +# Sets Android Go recommended default values for propreties. + +# Set lowram options +ro.lmk.critical_upgrade=true +ro.lmk.upgrade_pressure=40 +ro.lmk.downgrade_pressure=60 +ro.lmk.kill_heaviest_task=false +ro.statsd.enable=true + +# set threshold to filter unused apps +pm.dexopt.downgrade_after_inactive_days=10 + +# set the compiler filter for shared apks to quicken. +# Rationale: speed has a lot of dex code expansion, it uses more ram and space +# compared to quicken. Using quicken for shared APKs on Go devices may save RAM. +# Note that this is a trade-off: here we trade clean pages for dirty pages, +# extra cpu and battery. That's because the quicken files will be jit-ed in all +# the processes that load of shared apk and the code cache is not shared. +# Some notable apps that will be affected by this are gms and chrome. +# b/65591595. +pm.dexopt.shared=quicken + +# Default heap sizes. Allow up to 256m for large heaps to make sure a single app +# doesn't take all of the RAM. +dalvik.vm.heapgrowthlimit=128m +dalvik.vm.heapsize=256m diff --git a/target/product/aosp_product.mk b/target/product/aosp_product.mk index fa56779981..cda977b311 100644 --- a/target/product/aosp_product.mk +++ b/target/product/aosp_product.mk @@ -29,8 +29,6 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/app/WAPPushManager/oat/% \ system/bin/healthd \ system/etc/init/healthd.rc \ - system/etc/seccomp_policy/crash_dump.%.policy \ - system/etc/seccomp_policy/mediacodec.policy \ system/etc/vintf/manifest/manifest_healthd.xml \ system/lib/libframesequence.so \ system/lib/libgiftranscode.so \ diff --git a/target/product/base_system.mk b/target/product/base_system.mk index cd98a489ad..2ef104bd40 100644 --- a/target/product/base_system.mk +++ b/target/product/base_system.mk @@ -56,6 +56,8 @@ PRODUCT_PACKAGES += \ com.android.conscrypt \ com.android.i18n \ com.android.location.provider \ + com.android.media \ + com.android.media.swcodec \ com.android.resolv \ com.android.neuralnetworks \ com.android.tzdata \ @@ -65,13 +67,14 @@ PRODUCT_PACKAGES += \ CtsShimPrebuilt \ CtsShimPrivPrebuilt \ debuggerd\ - DefaultContainerService \ + device_config \ dmctl \ dnsmasq \ DownloadProvider \ dpm \ dumpstate \ dumpsys \ + DynamicSystemInstallationService \ e2fsck \ ExtServices \ ExtShared \ @@ -84,6 +87,7 @@ PRODUCT_PACKAGES += \ fs_config_dirs_system \ group_system \ gsid \ + gsi_tool \ heapprofd \ heapprofd_client \ gatekeeperd \ @@ -91,6 +95,8 @@ PRODUCT_PACKAGES += \ hid \ hwservicemanager \ idmap \ + idmap2 \ + idmap2d \ ime \ ims-common \ incident \ @@ -111,6 +117,7 @@ PRODUCT_PACKAGES += \ ld.config.txt \ ld.mc \ libaaudio \ + libamidi \ libandroid \ libandroidfw \ libandroid_runtime \ @@ -118,10 +125,6 @@ PRODUCT_PACKAGES += \ libartpalette-system \ libashmemd_client \ libaudioeffect_jni \ - libaudioflinger \ - libaudiopolicymanager \ - libaudiopolicyservice \ - libaudioutils \ libbinder \ libbinder_ndk \ libc.bootstrap \ @@ -154,7 +157,6 @@ PRODUCT_PACKAGES += \ libmedia \ libmedia_jni \ libmediandk \ - libmediaplayerservice \ libmtp \ libnetd_client \ libnetlink \ @@ -168,12 +170,11 @@ PRODUCT_PACKAGES += \ libradio_metadata \ librtp_jni \ libsensorservice \ + libsfplugin_ccodec \ libskia \ libsonic \ libsonivox \ libsoundpool \ - libsoundtrigger \ - libsoundtriggerservice \ libspeexresampler \ libsqlite \ libstagefright \ @@ -194,6 +195,7 @@ PRODUCT_PACKAGES += \ linker \ linkerconfig \ lmkd \ + LocalTransport \ locksettings \ logcat \ logd \ @@ -201,6 +203,7 @@ PRODUCT_PACKAGES += \ lshal \ mdnsd \ media \ + mediacodec.policy \ mediadrmserver \ mediaextractor \ mediametrics \ @@ -215,8 +218,10 @@ PRODUCT_PACKAGES += \ NetworkStack \ org.apache.http.legacy \ otacerts \ + PackageInstaller \ passwd_system \ perfetto \ + PermissionController \ ping \ ping6 \ platform.xml \ @@ -253,7 +258,6 @@ PRODUCT_PACKAGES += \ tc \ telecom \ telephony-common \ - thermalserviced \ tombstoned \ traced \ traced_probes \ @@ -292,6 +296,7 @@ PRODUCT_HOST_PACKAGES += \ flags_health_check \ icu-data_host_i18n_apex \ icu_tzdata.dat_host_tzdata_apex \ + idmap2 \ incident_report \ ld.mc \ lpdump \ @@ -325,10 +330,12 @@ PRODUCT_BOOT_JARS := \ ext \ telephony-common \ voip-common \ - ims-common -PRODUCT_UPDATABLE_BOOT_MODULES := conscrypt + ims-common \ + updatable-media +PRODUCT_UPDATABLE_BOOT_MODULES := conscrypt updatable-media PRODUCT_UPDATABLE_BOOT_LOCATIONS := \ - /apex/com.android.conscrypt/javalib/conscrypt.jar + /apex/com.android.conscrypt/javalib/conscrypt.jar \ + /apex/com.android.media/javalib/updatable-media.jar PRODUCT_COPY_FILES += \ @@ -384,7 +391,9 @@ PRODUCT_SYSTEM_SERVER_APPS += \ WallpaperBackup # Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address -PRODUCT_PACKAGES_DEBUG_ASAN := +PRODUCT_PACKAGES_DEBUG_ASAN := \ + fuzz \ + honggfuzz PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \ libdumpcoverage diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk index e3c600fc2e..1e1effb538 100644 --- a/target/product/base_vendor.mk +++ b/target/product/base_vendor.mk @@ -40,7 +40,7 @@ PRODUCT_HOST_PACKAGES += \ # Base modules and settings for the vendor partition. PRODUCT_PACKAGES += \ - android.hardware.cas@1.0-service \ + android.hardware.cas@1.1-service \ android.hardware.configstore@1.1-service \ android.hardware.media.omx@1.0-service \ dumpsys_vendor \ diff --git a/target/product/go_defaults.mk b/target/product/go_defaults.mk index cb9383f0f6..b7174868ee 100644 --- a/target/product/go_defaults.mk +++ b/target/product/go_defaults.mk @@ -17,3 +17,6 @@ # Inherit common Android Go defaults. $(call inherit-product, build/make/target/product/go_defaults_common.mk) +# Add the system properties. +TARGET_SYSTEM_PROP += \ + build/make/target/board/go_defaults.prop diff --git a/target/product/go_defaults_512.mk b/target/product/go_defaults_512.mk index 985912f59c..70d067e2bc 100644 --- a/target/product/go_defaults_512.mk +++ b/target/product/go_defaults_512.mk @@ -17,12 +17,6 @@ # Inherit common Android Go defaults. $(call inherit-product, build/make/target/product/go_defaults_common.mk) -# 512MB specific properties. - -# lmkd can kill more now. -PRODUCT_PROPERTY_OVERRIDES += \ - ro.lmk.medium=700 \ - -# madvise random in ART to reduce page cache thrashing. -PRODUCT_PROPERTY_OVERRIDES += \ - dalvik.vm.madvise-random=true +# Add the system properties. +TARGET_SYSTEM_PROP += \ + build/make/target/board/go_defaults_512.prop diff --git a/target/product/go_defaults_common.mk b/target/product/go_defaults_common.mk index 7042f6d9bf..7b9c783334 100644 --- a/target/product/go_defaults_common.mk +++ b/target/product/go_defaults_common.mk @@ -14,21 +14,13 @@ # limitations under the License. # -# Sets Android Go recommended default values for propreties. +# Sets Android Go recommended default product options.. -# Set lowram options -PRODUCT_PROPERTY_OVERRIDES += \ - ro.config.low_ram=true \ - ro.lmk.critical_upgrade=true \ - ro.lmk.upgrade_pressure=40 \ - ro.lmk.downgrade_pressure=60 \ - ro.lmk.kill_heaviest_task=false \ - ro.statsd.enable=false -# set threshold to filter unused apps +# Set lowram options and enable traced by default PRODUCT_PROPERTY_OVERRIDES += \ - pm.dexopt.downgrade_after_inactive_days=10 - + ro.config.low_ram=true \ + persist.traced.enable=1 \ # Speed profile services and wifi-service to reduce RAM and storage. PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile @@ -42,22 +34,6 @@ PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := true PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt -# set the compiler filter for shared apks to quicken. -# Rationale: speed has a lot of dex code expansion, it uses more ram and space -# compared to quicken. Using quicken for shared APKs on Go devices may save RAM. -# Note that this is a trade-off: here we trade clean pages for dirty pages, -# extra cpu and battery. That's because the quicken files will be jit-ed in all -# the processes that load of shared apk and the code cache is not shared. -# Some notable apps that will be affected by this are gms and chrome. -# b/65591595. -PRODUCT_PROPERTY_OVERRIDES += \ - pm.dexopt.shared=quicken - -# Default heap sizes. Allow up to 256m for large heaps to make sure a single app -# doesn't take all of the RAM. -PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapgrowthlimit=128m -PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapsize=256m - # Do not generate libartd. PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false @@ -73,3 +49,14 @@ PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT))) PRODUCT_DISABLE_SCUDO := true endif + +# Add the system properties. +TARGET_SYSTEM_PROP += \ + build/make/target/board/go_defaults_common.prop + +# use the go specific handheld_core_hardware.xml from frameworks +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/go_handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml + +# Dedupe VNDK libraries with identical core variants. +TARGET_VNDK_USE_CORE_VARIANT := true diff --git a/target/product/gsi/29.txt b/target/product/gsi/29.txt new file mode 100644 index 0000000000..14faba5585 --- /dev/null +++ b/target/product/gsi/29.txt @@ -0,0 +1,273 @@ +LLNDK: libEGL.so +LLNDK: libGLESv1_CM.so +LLNDK: libGLESv2.so +LLNDK: libGLESv3.so +LLNDK: libRS.so +LLNDK: libandroid_net.so +LLNDK: libc.so +LLNDK: libcgrouprc.so +LLNDK: libdl.so +LLNDK: libft2.so +LLNDK: liblog.so +LLNDK: libm.so +LLNDK: libmediandk.so +LLNDK: libnativewindow.so +LLNDK: libneuralnetworks.so +LLNDK: libsync.so +LLNDK: libvndksupport.so +LLNDK: libvulkan.so +VNDK-SP: android.hardware.graphics.common@1.0.so +VNDK-SP: android.hardware.graphics.common@1.1.so +VNDK-SP: android.hardware.graphics.common@1.2.so +VNDK-SP: android.hardware.graphics.mapper@2.0.so +VNDK-SP: android.hardware.graphics.mapper@2.1.so +VNDK-SP: android.hardware.graphics.mapper@3.0.so +VNDK-SP: android.hardware.renderscript@1.0.so +VNDK-SP: android.hidl.memory.token@1.0.so +VNDK-SP: android.hidl.memory@1.0.so +VNDK-SP: android.hidl.memory@1.0-impl.so +VNDK-SP: android.hidl.safe_union@1.0.so +VNDK-SP: libRSCpuRef.so +VNDK-SP: libRSDriver.so +VNDK-SP: libRS_internal.so +VNDK-SP: libbacktrace.so +VNDK-SP: libbase.so +VNDK-SP: libbcinfo.so +VNDK-SP: libbinderthreadstate.so +VNDK-SP: libblas.so +VNDK-SP: libc++.so +VNDK-SP: libcompiler_rt.so +VNDK-SP: libcutils.so +VNDK-SP: libhardware.so +VNDK-SP: libhidlbase.so +VNDK-SP: libhidlmemory.so +VNDK-SP: libhidltransport.so +VNDK-SP: libhwbinder.so +VNDK-SP: libhwbinder_noltopgo.so +VNDK-SP: libion.so +VNDK-SP: libjsoncpp.so +VNDK-SP: liblzma.so +VNDK-SP: libprocessgroup.so +VNDK-SP: libunwindstack.so +VNDK-SP: libutils.so +VNDK-SP: libutilscallstack.so +VNDK-SP: libz.so +VNDK-core: android.frameworks.cameraservice.common@2.0.so +VNDK-core: android.frameworks.cameraservice.device@2.0.so +VNDK-core: android.frameworks.cameraservice.service@2.0.so +VNDK-core: android.frameworks.displayservice@1.0.so +VNDK-core: android.frameworks.schedulerservice@1.0.so +VNDK-core: android.frameworks.sensorservice@1.0.so +VNDK-core: android.frameworks.stats@1.0.so +VNDK-core: android.frameworks.vr.composer@1.0.so +VNDK-core: android.hardware.atrace@1.0.so +VNDK-core: android.hardware.audio.common@2.0.so +VNDK-core: android.hardware.audio.common@4.0.so +VNDK-core: android.hardware.audio.common@5.0.so +VNDK-core: android.hardware.audio.effect@2.0.so +VNDK-core: android.hardware.audio.effect@4.0.so +VNDK-core: android.hardware.audio.effect@5.0.so +VNDK-core: android.hardware.audio@2.0.so +VNDK-core: android.hardware.audio@4.0.so +VNDK-core: android.hardware.audio@5.0.so +VNDK-core: android.hardware.authsecret@1.0.so +VNDK-core: android.hardware.automotive.audiocontrol@1.0.so +VNDK-core: android.hardware.automotive.evs@1.0.so +VNDK-core: android.hardware.automotive.vehicle@2.0.so +VNDK-core: android.hardware.biometrics.face@1.0.so +VNDK-core: android.hardware.biometrics.fingerprint@2.1.so +VNDK-core: android.hardware.bluetooth.a2dp@1.0.so +VNDK-core: android.hardware.bluetooth.audio@2.0.so +VNDK-core: android.hardware.bluetooth@1.0.so +VNDK-core: android.hardware.boot@1.0.so +VNDK-core: android.hardware.broadcastradio@1.0.so +VNDK-core: android.hardware.broadcastradio@1.1.so +VNDK-core: android.hardware.broadcastradio@2.0.so +VNDK-core: android.hardware.camera.common@1.0.so +VNDK-core: android.hardware.camera.device@1.0.so +VNDK-core: android.hardware.camera.device@3.2.so +VNDK-core: android.hardware.camera.device@3.3.so +VNDK-core: android.hardware.camera.device@3.4.so +VNDK-core: android.hardware.camera.device@3.5.so +VNDK-core: android.hardware.camera.metadata@3.2.so +VNDK-core: android.hardware.camera.metadata@3.3.so +VNDK-core: android.hardware.camera.metadata@3.4.so +VNDK-core: android.hardware.camera.provider@2.4.so +VNDK-core: android.hardware.camera.provider@2.5.so +VNDK-core: android.hardware.cas.native@1.0.so +VNDK-core: android.hardware.cas@1.0.so +VNDK-core: android.hardware.cas@1.1.so +VNDK-core: android.hardware.configstore-utils.so +VNDK-core: android.hardware.configstore@1.0.so +VNDK-core: android.hardware.configstore@1.1.so +VNDK-core: android.hardware.confirmationui-support-lib.so +VNDK-core: android.hardware.confirmationui@1.0.so +VNDK-core: android.hardware.contexthub@1.0.so +VNDK-core: android.hardware.drm@1.0.so +VNDK-core: android.hardware.drm@1.1.so +VNDK-core: android.hardware.drm@1.2.so +VNDK-core: android.hardware.dumpstate@1.0.so +VNDK-core: android.hardware.fastboot@1.0.so +VNDK-core: android.hardware.gatekeeper@1.0.so +VNDK-core: android.hardware.gnss.measurement_corrections@1.0.so +VNDK-core: android.hardware.gnss.visibility_control@1.0.so +VNDK-core: android.hardware.gnss@1.0.so +VNDK-core: android.hardware.gnss@1.1.so +VNDK-core: android.hardware.gnss@2.0.so +VNDK-core: android.hardware.graphics.allocator@2.0.so +VNDK-core: android.hardware.graphics.allocator@3.0.so +VNDK-core: android.hardware.graphics.bufferqueue@1.0.so +VNDK-core: android.hardware.graphics.bufferqueue@2.0.so +VNDK-core: android.hardware.graphics.composer@2.1.so +VNDK-core: android.hardware.graphics.composer@2.2.so +VNDK-core: android.hardware.graphics.composer@2.3.so +VNDK-core: android.hardware.health.storage@1.0.so +VNDK-core: android.hardware.health@1.0.so +VNDK-core: android.hardware.health@2.0.so +VNDK-core: android.hardware.input.classifier@1.0.so +VNDK-core: android.hardware.input.common@1.0.so +VNDK-core: android.hardware.ir@1.0.so +VNDK-core: android.hardware.keymaster@3.0.so +VNDK-core: android.hardware.keymaster@4.0.so +VNDK-core: android.hardware.light@2.0.so +VNDK-core: android.hardware.media.bufferpool@1.0.so +VNDK-core: android.hardware.media.bufferpool@2.0.so +VNDK-core: android.hardware.media.c2@1.0.so +VNDK-core: android.hardware.media.omx@1.0.so +VNDK-core: android.hardware.media@1.0.so +VNDK-core: android.hardware.memtrack@1.0.so +VNDK-core: android.hardware.neuralnetworks@1.0.so +VNDK-core: android.hardware.neuralnetworks@1.1.so +VNDK-core: android.hardware.neuralnetworks@1.2.so +VNDK-core: android.hardware.nfc@1.0.so +VNDK-core: android.hardware.nfc@1.1.so +VNDK-core: android.hardware.nfc@1.2.so +VNDK-core: android.hardware.oemlock@1.0.so +VNDK-core: android.hardware.power.stats@1.0.so +VNDK-core: android.hardware.power@1.0.so +VNDK-core: android.hardware.power@1.1.so +VNDK-core: android.hardware.power@1.2.so +VNDK-core: android.hardware.power@1.3.so +VNDK-core: android.hardware.radio.config@1.0.so +VNDK-core: android.hardware.radio.config@1.1.so +VNDK-core: android.hardware.radio.config@1.2.so +VNDK-core: android.hardware.radio.deprecated@1.0.so +VNDK-core: android.hardware.radio@1.0.so +VNDK-core: android.hardware.radio@1.1.so +VNDK-core: android.hardware.radio@1.2.so +VNDK-core: android.hardware.radio@1.3.so +VNDK-core: android.hardware.radio@1.4.so +VNDK-core: android.hardware.secure_element@1.0.so +VNDK-core: android.hardware.secure_element@1.1.so +VNDK-core: android.hardware.sensors@1.0.so +VNDK-core: android.hardware.sensors@2.0.so +VNDK-core: android.hardware.soundtrigger@2.0.so +VNDK-core: android.hardware.soundtrigger@2.0-core.so +VNDK-core: android.hardware.soundtrigger@2.1.so +VNDK-core: android.hardware.soundtrigger@2.2.so +VNDK-core: android.hardware.tetheroffload.config@1.0.so +VNDK-core: android.hardware.tetheroffload.control@1.0.so +VNDK-core: android.hardware.thermal@1.0.so +VNDK-core: android.hardware.thermal@1.1.so +VNDK-core: android.hardware.thermal@2.0.so +VNDK-core: android.hardware.tv.cec@1.0.so +VNDK-core: android.hardware.tv.cec@2.0.so +VNDK-core: android.hardware.tv.input@1.0.so +VNDK-core: android.hardware.usb.gadget@1.0.so +VNDK-core: android.hardware.usb@1.0.so +VNDK-core: android.hardware.usb@1.1.so +VNDK-core: android.hardware.usb@1.2.so +VNDK-core: android.hardware.vibrator@1.0.so +VNDK-core: android.hardware.vibrator@1.1.so +VNDK-core: android.hardware.vibrator@1.2.so +VNDK-core: android.hardware.vibrator@1.3.so +VNDK-core: android.hardware.vr@1.0.so +VNDK-core: android.hardware.weaver@1.0.so +VNDK-core: android.hardware.wifi.hostapd@1.0.so +VNDK-core: android.hardware.wifi.hostapd@1.1.so +VNDK-core: android.hardware.wifi.offload@1.0.so +VNDK-core: android.hardware.wifi.supplicant@1.0.so +VNDK-core: android.hardware.wifi.supplicant@1.1.so +VNDK-core: android.hardware.wifi.supplicant@1.2.so +VNDK-core: android.hardware.wifi@1.0.so +VNDK-core: android.hardware.wifi@1.1.so +VNDK-core: android.hardware.wifi@1.2.so +VNDK-core: android.hardware.wifi@1.3.so +VNDK-core: android.hidl.allocator@1.0.so +VNDK-core: android.hidl.memory.block@1.0.so +VNDK-core: android.hidl.token@1.0.so +VNDK-core: android.hidl.token@1.0-utils.so +VNDK-core: android.system.net.netd@1.0.so +VNDK-core: android.system.net.netd@1.1.so +VNDK-core: android.system.suspend@1.0.so +VNDK-core: android.system.wifi.keystore@1.0.so +VNDK-core: libadf.so +VNDK-core: libaudioroute.so +VNDK-core: libaudioutils.so +VNDK-core: libbinder.so +VNDK-core: libcamera_metadata.so +VNDK-core: libcap.so +VNDK-core: libcn-cbor.so +VNDK-core: libcodec2.so +VNDK-core: libcrypto.so +VNDK-core: libcrypto_utils.so +VNDK-core: libcurl.so +VNDK-core: libdiskconfig.so +VNDK-core: libdumpstateutil.so +VNDK-core: libevent.so +VNDK-core: libexif.so +VNDK-core: libexpat.so +VNDK-core: libfmq.so +VNDK-core: libgatekeeper.so +VNDK-core: libgui.so +VNDK-core: libhardware_legacy.so +VNDK-core: libhidlallocatorutils.so +VNDK-core: libhidlcache.so +VNDK-core: libjpeg.so +VNDK-core: libkeymaster_messages.so +VNDK-core: libkeymaster_portable.so +VNDK-core: libldacBT_abr.so +VNDK-core: libldacBT_enc.so +VNDK-core: liblz4.so +VNDK-core: libmedia_helper.so +VNDK-core: libmedia_omx.so +VNDK-core: libmemtrack.so +VNDK-core: libminijail.so +VNDK-core: libmkbootimg_abi_check.so +VNDK-core: libnetutils.so +VNDK-core: libnl.so +VNDK-core: libpcre2.so +VNDK-core: libpiex.so +VNDK-core: libpng.so +VNDK-core: libpower.so +VNDK-core: libprocinfo.so +VNDK-core: libprotobuf-cpp-full.so +VNDK-core: libprotobuf-cpp-lite.so +VNDK-core: libpuresoftkeymasterdevice.so +VNDK-core: libradio_metadata.so +VNDK-core: libselinux.so +VNDK-core: libsoftkeymasterdevice.so +VNDK-core: libspeexresampler.so +VNDK-core: libsqlite.so +VNDK-core: libssl.so +VNDK-core: libstagefright_bufferpool@2.0.so +VNDK-core: libstagefright_bufferqueue_helper.so +VNDK-core: libstagefright_foundation.so +VNDK-core: libstagefright_omx.so +VNDK-core: libstagefright_omx_utils.so +VNDK-core: libstagefright_xmlparser.so +VNDK-core: libsysutils.so +VNDK-core: libtinyalsa.so +VNDK-core: libtinyxml2.so +VNDK-core: libui.so +VNDK-core: libusbhost.so +VNDK-core: libwifi-system-iface.so +VNDK-core: libxml2.so +VNDK-core: libyuv.so +VNDK-core: libziparchive.so +VNDK-private: libbacktrace.so +VNDK-private: libbinderthreadstate.so +VNDK-private: libblas.so +VNDK-private: libcompiler_rt.so +VNDK-private: libft2.so +VNDK-private: libgui.so diff --git a/target/product/gsi/Android.mk b/target/product/gsi/Android.mk index 018bbb07a1..54f41ca947 100644 --- a/target/product/gsi/Android.mk +++ b/target/product/gsi/Android.mk @@ -169,3 +169,38 @@ _binder32 := include $(BUILD_PHONY_PACKAGE) endif # BOARD_VNDK_VERSION is set + +##################################################################### +# skip_mount.cfg, read by init to skip mounting some partitions when GSI is used. + +include $(CLEAR_VARS) +LOCAL_MODULE := gsi_skip_mount.cfg +LOCAL_MODULE_STEM := skip_mount.cfg +LOCAL_SRC_FILES := $(LOCAL_MODULE) +LOCAL_MODULE_CLASS := ETC +LOCAL_SYSTEM_EXT_MODULE := true +LOCAL_MODULE_RELATIVE_PATH := init/config + +# Adds a symlink under /system/etc/init/config pointing to /system/system_ext/etc/init/config +# because first-stage init in Android 10.0 will read the skip_mount.cfg from /system/etc/* after +# chroot /system. +# TODO: remove this symlink when no need to support new GSI on Android 10. +# The actual file needs to be under /system/system_ext because it's GSI-specific and does not +# belong to core CSI. +LOCAL_POST_INSTALL_CMD := \ + mkdir -p $(TARGET_OUT)/etc/init; \ + ln -sf /system/system_ext/etc/init/config $(TARGET_OUT)/etc/init/config + +include $(BUILD_PREBUILT) + +##################################################################### +# init.gsi.rc, GSI-specific init script. + +include $(CLEAR_VARS) +LOCAL_MODULE := init.gsi.rc +LOCAL_SRC_FILES := $(LOCAL_MODULE) +LOCAL_MODULE_CLASS := ETC +LOCAL_SYSTEM_EXT_MODULE := true +LOCAL_MODULE_RELATIVE_PATH := init + +include $(BUILD_PREBUILT) diff --git a/target/product/gsi/current.txt b/target/product/gsi/current.txt index 4b6c01086f..a11531ef85 100644 --- a/target/product/gsi/current.txt +++ b/target/product/gsi/current.txt @@ -19,8 +19,10 @@ LLNDK: libvndksupport.so LLNDK: libvulkan.so VNDK-SP: android.hardware.graphics.common@1.0.so VNDK-SP: android.hardware.graphics.common@1.1.so +VNDK-SP: android.hardware.graphics.common@1.2.so VNDK-SP: android.hardware.graphics.mapper@2.0.so VNDK-SP: android.hardware.graphics.mapper@2.1.so +VNDK-SP: android.hardware.graphics.mapper@3.0.so VNDK-SP: android.hardware.renderscript@1.0.so VNDK-SP: android.hidl.memory.token@1.0.so VNDK-SP: android.hidl.memory@1.0.so @@ -42,7 +44,6 @@ VNDK-SP: libhidlbase.so VNDK-SP: libhidlmemory.so VNDK-SP: libhidltransport.so VNDK-SP: libhwbinder.so -VNDK-SP: libhwbinder_noltopgo.so VNDK-SP: libion.so VNDK-SP: libjsoncpp.so VNDK-SP: liblzma.so @@ -51,16 +52,17 @@ VNDK-SP: libunwindstack.so VNDK-SP: libutils.so VNDK-SP: libutilscallstack.so VNDK-SP: libz.so +VNDK-core: android.frameworks.cameraservice.common@2.0.so +VNDK-core: android.frameworks.cameraservice.device@2.0.so +VNDK-core: android.frameworks.cameraservice.service@2.0.so VNDK-core: android.frameworks.displayservice@1.0.so VNDK-core: android.frameworks.schedulerservice@1.0.so VNDK-core: android.frameworks.sensorservice@1.0.so +VNDK-core: android.frameworks.stats@1.0.so VNDK-core: android.frameworks.vr.composer@1.0.so VNDK-core: android.hardware.atrace@1.0.so -VNDK-core: android.hardware.audio.common-util.so VNDK-core: android.hardware.audio.common@2.0.so -VNDK-core: android.hardware.audio.common@2.0-util.so VNDK-core: android.hardware.audio.common@4.0.so -VNDK-core: android.hardware.audio.common@4.0-util.so VNDK-core: android.hardware.audio.common@5.0.so VNDK-core: android.hardware.audio.effect@2.0.so VNDK-core: android.hardware.audio.effect@4.0.so @@ -72,6 +74,7 @@ VNDK-core: android.hardware.authsecret@1.0.so VNDK-core: android.hardware.automotive.audiocontrol@1.0.so VNDK-core: android.hardware.automotive.evs@1.0.so VNDK-core: android.hardware.automotive.vehicle@2.0.so +VNDK-core: android.hardware.biometrics.face@1.0.so VNDK-core: android.hardware.biometrics.fingerprint@2.1.so VNDK-core: android.hardware.bluetooth.a2dp@1.0.so VNDK-core: android.hardware.bluetooth.audio@2.0.so @@ -85,11 +88,15 @@ VNDK-core: android.hardware.camera.device@1.0.so VNDK-core: android.hardware.camera.device@3.2.so VNDK-core: android.hardware.camera.device@3.3.so VNDK-core: android.hardware.camera.device@3.4.so +VNDK-core: android.hardware.camera.device@3.5.so VNDK-core: android.hardware.camera.metadata@3.2.so VNDK-core: android.hardware.camera.metadata@3.3.so +VNDK-core: android.hardware.camera.metadata@3.4.so VNDK-core: android.hardware.camera.provider@2.4.so +VNDK-core: android.hardware.camera.provider@2.5.so VNDK-core: android.hardware.cas.native@1.0.so VNDK-core: android.hardware.cas@1.0.so +VNDK-core: android.hardware.cas@1.1.so VNDK-core: android.hardware.configstore-utils.so VNDK-core: android.hardware.configstore@1.0.so VNDK-core: android.hardware.configstore@1.1.so @@ -98,23 +105,34 @@ VNDK-core: android.hardware.confirmationui@1.0.so VNDK-core: android.hardware.contexthub@1.0.so VNDK-core: android.hardware.drm@1.0.so VNDK-core: android.hardware.drm@1.1.so +VNDK-core: android.hardware.drm@1.2.so VNDK-core: android.hardware.dumpstate@1.0.so VNDK-core: android.hardware.fastboot@1.0.so VNDK-core: android.hardware.gatekeeper@1.0.so +VNDK-core: android.hardware.gnss.measurement_corrections@1.0.so +VNDK-core: android.hardware.gnss.visibility_control@1.0.so VNDK-core: android.hardware.gnss@1.0.so VNDK-core: android.hardware.gnss@1.1.so +VNDK-core: android.hardware.gnss@2.0.so VNDK-core: android.hardware.graphics.allocator@2.0.so +VNDK-core: android.hardware.graphics.allocator@3.0.so VNDK-core: android.hardware.graphics.bufferqueue@1.0.so +VNDK-core: android.hardware.graphics.bufferqueue@2.0.so VNDK-core: android.hardware.graphics.composer@2.1.so VNDK-core: android.hardware.graphics.composer@2.2.so +VNDK-core: android.hardware.graphics.composer@2.3.so VNDK-core: android.hardware.health.storage@1.0.so VNDK-core: android.hardware.health@1.0.so VNDK-core: android.hardware.health@2.0.so +VNDK-core: android.hardware.input.classifier@1.0.so +VNDK-core: android.hardware.input.common@1.0.so VNDK-core: android.hardware.ir@1.0.so VNDK-core: android.hardware.keymaster@3.0.so VNDK-core: android.hardware.keymaster@4.0.so VNDK-core: android.hardware.light@2.0.so VNDK-core: android.hardware.media.bufferpool@1.0.so +VNDK-core: android.hardware.media.bufferpool@2.0.so +VNDK-core: android.hardware.media.c2@1.0.so VNDK-core: android.hardware.media.omx@1.0.so VNDK-core: android.hardware.media@1.0.so VNDK-core: android.hardware.memtrack@1.0.so @@ -142,31 +160,40 @@ VNDK-core: android.hardware.radio@1.4.so VNDK-core: android.hardware.secure_element@1.0.so VNDK-core: android.hardware.secure_element@1.1.so VNDK-core: android.hardware.sensors@1.0.so +VNDK-core: android.hardware.sensors@2.0.so VNDK-core: android.hardware.soundtrigger@2.0.so VNDK-core: android.hardware.soundtrigger@2.0-core.so VNDK-core: android.hardware.soundtrigger@2.1.so +VNDK-core: android.hardware.soundtrigger@2.2.so VNDK-core: android.hardware.tetheroffload.config@1.0.so VNDK-core: android.hardware.tetheroffload.control@1.0.so VNDK-core: android.hardware.thermal@1.0.so VNDK-core: android.hardware.thermal@1.1.so +VNDK-core: android.hardware.thermal@2.0.so VNDK-core: android.hardware.tv.cec@1.0.so +VNDK-core: android.hardware.tv.cec@2.0.so VNDK-core: android.hardware.tv.input@1.0.so VNDK-core: android.hardware.tv.tuner@1.0.so VNDK-core: android.hardware.usb.gadget@1.0.so VNDK-core: android.hardware.usb@1.0.so VNDK-core: android.hardware.usb@1.1.so +VNDK-core: android.hardware.usb@1.2.so VNDK-core: android.hardware.vibrator@1.0.so VNDK-core: android.hardware.vibrator@1.1.so VNDK-core: android.hardware.vibrator@1.2.so +VNDK-core: android.hardware.vibrator@1.3.so VNDK-core: android.hardware.vr@1.0.so VNDK-core: android.hardware.weaver@1.0.so VNDK-core: android.hardware.wifi.hostapd@1.0.so +VNDK-core: android.hardware.wifi.hostapd@1.1.so VNDK-core: android.hardware.wifi.offload@1.0.so VNDK-core: android.hardware.wifi.supplicant@1.0.so VNDK-core: android.hardware.wifi.supplicant@1.1.so +VNDK-core: android.hardware.wifi.supplicant@1.2.so VNDK-core: android.hardware.wifi@1.0.so VNDK-core: android.hardware.wifi@1.1.so VNDK-core: android.hardware.wifi@1.2.so +VNDK-core: android.hardware.wifi@1.3.so VNDK-core: android.hidl.allocator@1.0.so VNDK-core: android.hidl.memory.block@1.0.so VNDK-core: android.hidl.token@1.0.so @@ -183,6 +210,7 @@ VNDK-core: libbinder.so VNDK-core: libcamera_metadata.so VNDK-core: libcap.so VNDK-core: libcn-cbor.so +VNDK-core: libcodec2.so VNDK-core: libcrypto.so VNDK-core: libcrypto_utils.so VNDK-core: libcurl.so @@ -209,7 +237,6 @@ VNDK-core: libminijail.so VNDK-core: libmkbootimg_abi_check.so VNDK-core: libnetutils.so VNDK-core: libnl.so -VNDK-core: libopus.so VNDK-core: libpcre2.so VNDK-core: libpiex.so VNDK-core: libpng.so @@ -224,41 +251,17 @@ VNDK-core: libsoftkeymasterdevice.so VNDK-core: libspeexresampler.so VNDK-core: libsqlite.so VNDK-core: libssl.so -VNDK-core: libstagefright_amrnb_common.so +VNDK-core: libstagefright_bufferpool@2.0.so VNDK-core: libstagefright_bufferqueue_helper.so -VNDK-core: libstagefright_enc_common.so -VNDK-core: libstagefright_flacdec.so VNDK-core: libstagefright_foundation.so VNDK-core: libstagefright_omx.so VNDK-core: libstagefright_omx_utils.so -VNDK-core: libstagefright_soft_aacdec.so -VNDK-core: libstagefright_soft_aacenc.so -VNDK-core: libstagefright_soft_amrdec.so -VNDK-core: libstagefright_soft_amrnbenc.so -VNDK-core: libstagefright_soft_amrwbenc.so -VNDK-core: libstagefright_soft_avcdec.so -VNDK-core: libstagefright_soft_avcenc.so -VNDK-core: libstagefright_soft_flacdec.so -VNDK-core: libstagefright_soft_flacenc.so -VNDK-core: libstagefright_soft_g711dec.so -VNDK-core: libstagefright_soft_gsmdec.so -VNDK-core: libstagefright_soft_hevcdec.so -VNDK-core: libstagefright_soft_mp3dec.so -VNDK-core: libstagefright_soft_mpeg2dec.so -VNDK-core: libstagefright_soft_mpeg4dec.so -VNDK-core: libstagefright_soft_mpeg4enc.so -VNDK-core: libstagefright_soft_opusdec.so -VNDK-core: libstagefright_soft_rawdec.so -VNDK-core: libstagefright_soft_vorbisdec.so -VNDK-core: libstagefright_soft_vpxdec.so -VNDK-core: libstagefright_soft_vpxenc.so VNDK-core: libstagefright_xmlparser.so VNDK-core: libsysutils.so VNDK-core: libtinyalsa.so VNDK-core: libtinyxml2.so VNDK-core: libui.so VNDK-core: libusbhost.so -VNDK-core: libvorbisidec.so VNDK-core: libwifi-system-iface.so VNDK-core: libxml2.so VNDK-core: libyuv.so diff --git a/target/product/gsi/skip_mount.cfg b/target/product/gsi/gsi_skip_mount.cfg index 3f812cb000..3f812cb000 100644 --- a/target/product/gsi/skip_mount.cfg +++ b/target/product/gsi/gsi_skip_mount.cfg diff --git a/target/product/gsi_common.mk b/target/product/gsi_common.mk index 1b5cd55475..bfecc9563a 100644 --- a/target/product/gsi_common.mk +++ b/target/product/gsi_common.mk @@ -50,11 +50,6 @@ PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ # Some GSI builds enable dexpreopt, whitelist these preopt files PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += %.odex %.vdex %.art -# Exclude GSI specific files -PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ - system/etc/init/config/skip_mount.cfg \ - system/etc/init/init.gsi.rc \ - # Exclude all files under system/product and system/system_ext PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/product/% \ @@ -71,9 +66,9 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true # GSI specific tasks on boot -PRODUCT_COPY_FILES += \ - build/make/target/product/gsi/skip_mount.cfg:system/etc/init/config/skip_mount.cfg \ - build/make/target/product/gsi/init.gsi.rc:system/etc/init/init.gsi.rc \ +PRODUCT_PACKAGES += \ + gsi_skip_mount.cfg \ + init.gsi.rc # Support addtional P vendor interface PRODUCT_EXTRA_VNDK_VERSIONS := 28 diff --git a/target/product/gsi_release.mk b/target/product/gsi_release.mk index 4c471dbd91..cab3916382 100644 --- a/target/product/gsi_release.mk +++ b/target/product/gsi_release.mk @@ -24,11 +24,6 @@ # - etc. # -# Exclude GSI specific files -PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ - system/etc/init/config/skip_mount.cfg \ - system/etc/init/init.gsi.rc \ - # Exclude all files under system/product and system/system_ext PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ system/product/% \ @@ -50,12 +45,12 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true # GSI specific tasks on boot -PRODUCT_COPY_FILES += \ - build/make/target/product/gsi/skip_mount.cfg:system/etc/init/config/skip_mount.cfg \ - build/make/target/product/gsi/init.gsi.rc:system/etc/init/init.gsi.rc \ +PRODUCT_PACKAGES += \ + gsi_skip_mount.cfg \ + init.gsi.rc -# Support addtional P VNDK packages -PRODUCT_EXTRA_VNDK_VERSIONS := 28 +# Support addtional P and Q VNDK packages +PRODUCT_EXTRA_VNDK_VERSIONS := 28 29 # The 64 bits GSI build targets inhiert core_64_bit.mk to enable 64 bits and # include the init.zygote64_32.rc. diff --git a/target/product/handheld_product.mk b/target/product/handheld_product.mk index 758fa9b805..0d100b267f 100644 --- a/target/product/handheld_product.mk +++ b/target/product/handheld_product.mk @@ -40,3 +40,7 @@ PRODUCT_PACKAGES += \ StorageManager \ SystemUI \ WallpaperCropper \ + frameworks-base-overlays + +PRODUCT_PACKAGES_DEBUG += \ + frameworks-base-overlays-debug diff --git a/target/product/handheld_system.mk b/target/product/handheld_system.mk index a4dd6d7a50..6463a541b4 100644 --- a/target/product/handheld_system.mk +++ b/target/product/handheld_system.mk @@ -24,6 +24,7 @@ $(call inherit-product-if-exists, external/google-fonts/dancing-script/fonts.mk) $(call inherit-product-if-exists, external/google-fonts/carrois-gothic-sc/fonts.mk) $(call inherit-product-if-exists, external/google-fonts/coming-soon/fonts.mk) $(call inherit-product-if-exists, external/google-fonts/cutive-mono/fonts.mk) +$(call inherit-product-if-exists, external/google-fonts/source-sans-pro/fonts.mk) $(call inherit-product-if-exists, external/noto-fonts/fonts.mk) $(call inherit-product-if-exists, external/roboto-fonts/fonts.mk) $(call inherit-product-if-exists, external/hyphenation-patterns/patterns.mk) @@ -56,6 +57,7 @@ PRODUCT_PACKAGES += \ MtpDocumentsProvider \ MusicFX \ NfcNci \ + OsuLogin \ PacProcessor \ PrintRecommendationService \ PrintSpooler \ diff --git a/target/product/handheld_vendor.mk b/target/product/handheld_vendor.mk index ca7760a0fe..cb7cf741d4 100644 --- a/target/product/handheld_vendor.mk +++ b/target/product/handheld_vendor.mk @@ -23,10 +23,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk) # /vendor packages PRODUCT_PACKAGES += \ audio.primary.default \ - DisplayCutoutEmulationCornerOverlay \ - DisplayCutoutEmulationDoubleOverlay \ - DisplayCutoutEmulationTallOverlay \ local_time.default \ power.default \ - SysuiDarkThemeOverlay \ vibrator.default \ + diff --git a/target/product/mainline_arm64.mk b/target/product/mainline_arm64.mk index a32bb16f82..6d998d660c 100644 --- a/target/product/mainline_arm64.mk +++ b/target/product/mainline_arm64.mk @@ -28,8 +28,6 @@ PRODUCT_RESTRICT_VENDOR_FILES := all PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := relaxed PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ root/init.zygote64_32.rc \ - system/etc/seccomp_policy/crash_dump.arm.policy \ - system/etc/seccomp_policy/mediacodec.policy \ # Modules that should probably be moved to /product PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ diff --git a/target/product/mainline_system.mk b/target/product/mainline_system.mk index 1ada3c783a..43bc45f482 100644 --- a/target/product/mainline_system.mk +++ b/target/product/mainline_system.mk @@ -18,8 +18,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk) -# Enable updating of APEXes -#$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) # Add adb keys to debuggable AOSP builds (if they exist) $(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk) @@ -87,6 +85,11 @@ PRODUCT_PACKAGES += \ libnl \ libprotobuf-cpp-full \ +# Camera service uses 'libdepthphoto' for adding dynamic depth +# metadata inside depth jpegs. +PRODUCT_PACKAGES += \ + libdepthphoto \ + PRODUCT_PACKAGES_DEBUG += \ avbctl \ bootctl \ @@ -102,6 +105,9 @@ PRODUCT_HOST_PACKAGES += \ # Enable dynamic partition size PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +PRODUCT_PACKAGES += \ + com.android.apex.cts.shim.v1_prebuilt + PRODUCT_NAME := mainline_system PRODUCT_BRAND := generic diff --git a/target/product/media_system.mk b/target/product/media_system.mk index 2ba70056da..5c0902dbcf 100644 --- a/target/product/media_system.mk +++ b/target/product/media_system.mk @@ -31,31 +31,9 @@ PRODUCT_PACKAGES += \ fsck.f2fs \ HTMLViewer \ libfilterpack_imageproc \ - libstagefright_soft_aacdec \ - libstagefright_soft_aacenc \ - libstagefright_soft_amrdec \ - libstagefright_soft_amrnbenc \ - libstagefright_soft_amrwbenc \ - libstagefright_soft_avcdec \ - libstagefright_soft_avcenc \ - libstagefright_soft_flacdec \ - libstagefright_soft_flacenc \ - libstagefright_soft_g711dec \ - libstagefright_soft_gsmdec \ - libstagefright_soft_hevcdec \ - libstagefright_soft_mp3dec \ - libstagefright_soft_mpeg2dec \ - libstagefright_soft_mpeg4dec \ - libstagefright_soft_mpeg4enc \ - libstagefright_soft_opusdec \ - libstagefright_soft_rawdec \ - libstagefright_soft_vorbisdec \ - libstagefright_soft_vpxdec \ - libstagefright_soft_vpxenc \ libwebviewchromium_loader \ libwebviewchromium_plat_support \ make_f2fs \ - PackageInstaller \ requestsync \ StatementService \ vndk_snapshot_package \ diff --git a/target/product/updatable_apex.mk b/target/product/updatable_apex.mk index 038f66ee64..a9f4baf30b 100644 --- a/target/product/updatable_apex.mk +++ b/target/product/updatable_apex.mk @@ -17,5 +17,4 @@ # Inherit this when the target needs to support updating APEXes PRODUCT_PROPERTY_OVERRIDES := ro.apex.updatable=true -PRODUCT_PACKAGES := com.android.apex.cts.shim.v1_prebuilt TARGET_FLATTEN_APEX := false diff --git a/tools/auto_gen_test_config_test.py b/tools/auto_gen_test_config_test.py index e68c27fdd2..51a8583f2e 100644 --- a/tools/auto_gen_test_config_test.py +++ b/tools/auto_gen_test_config_test.py @@ -34,7 +34,7 @@ MANIFEST_JUNIT_TEST = """<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.my.tests.x"> <instrumentation - android:name="android.support.test.runner.AndroidJUnitRunner" + android:name="androidx.test.runner.AndroidJUnitRunner" android:targetPackage="com.android.my.tests" /> </manifest> """ @@ -72,7 +72,7 @@ EXPECTED_JUNIT_TEST_CONFIG = """<?xml version="1.0" encoding="utf-8"?> <test class="com.android.tradefed.testtype.AndroidJUnitTest" > <option name="package" value="com.android.my.tests.x" /> - <option name="runner" value="android.support.test.runner.AndroidJUnitRunner" /> + <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" /> </test> </configuration> """ diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp index 3308f3d570..6cde77e853 100644 --- a/tools/releasetools/Android.bp +++ b/tools/releasetools/Android.bp @@ -105,6 +105,7 @@ python_defaults { ], required: [ "brillo_update_payload", + "checkvintf", ], } @@ -180,7 +181,7 @@ python_library_host { // Only the tools that are referenced directly are listed as required modules. For example, // `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool']. required: [ - "aapt", + "aapt2", "boot_signer", "brotli", "bsdiff", @@ -343,6 +344,9 @@ python_binary_host { "releasetools_img_from_target_files", "releasetools_ota_from_target_files", ], + required: [ + "checkvintf", + ], } python_binary_host { diff --git a/tools/releasetools/build_super_image.py b/tools/releasetools/build_super_image.py index 045ad5541c..f63453d8e1 100755 --- a/tools/releasetools/build_super_image.py +++ b/tools/releasetools/build_super_image.py @@ -80,10 +80,12 @@ def BuildSuperImageFromDict(info_dict, output): block_devices = shlex.split(info_dict.get("super_block_devices", "").strip()) groups = shlex.split(info_dict.get("super_partition_groups", "").strip()) - if ab_update: + if ab_update and retrofit: cmd += ["--metadata-slots", "2"] + elif ab_update: + cmd += ["--metadata-slots", "3"] else: - cmd += ["--metadata-slots", "1"] + cmd += ["--metadata-slots", "2"] if ab_update and retrofit: cmd.append("--auto-slot-suffixing") diff --git a/tools/releasetools/check_target_files_signatures.py b/tools/releasetools/check_target_files_signatures.py index 60200a3ad4..8c1bb9a6ed 100755 --- a/tools/releasetools/check_target_files_signatures.py +++ b/tools/releasetools/check_target_files_signatures.py @@ -213,7 +213,7 @@ class APK(object): self.certs = frozenset(out) def ReadManifest(self, full_filename): - p = common.Run(["aapt", "dump", "xmltree", full_filename, + p = common.Run(["aapt2", "dump", "xmltree", full_filename, "--file", "AndroidManifest.xml"], stdout=subprocess.PIPE) manifest, err = p.communicate() diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 8339cad7d6..67560495b4 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -1200,7 +1200,7 @@ def GetKeyPasswords(keylist): def GetMinSdkVersion(apk_name): """Gets the minSdkVersion declared in the APK. - It calls 'aapt' to query the embedded minSdkVersion from the given APK file. + It calls 'aapt2' to query the embedded minSdkVersion from the given APK file. This can be both a decimal number (API Level) or a codename. Args: @@ -1213,12 +1213,12 @@ def GetMinSdkVersion(apk_name): ExternalError: On failing to obtain the min SDK version. """ proc = Run( - ["aapt", "dump", "badging", apk_name], stdout=subprocess.PIPE, + ["aapt2", "dump", "badging", apk_name], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdoutdata, stderrdata = proc.communicate() if proc.returncode != 0: raise ExternalError( - "Failed to obtain minSdkVersion: aapt return code {}:\n{}\n{}".format( + "Failed to obtain minSdkVersion: aapt2 return code {}:\n{}\n{}".format( proc.returncode, stdoutdata, stderrdata)) for line in stdoutdata.split("\n"): @@ -1226,7 +1226,7 @@ def GetMinSdkVersion(apk_name): m = re.match(r'sdkVersion:\'([^\']*)\'', line) if m: return m.group(1) - raise ExternalError("No minSdkVersion returned by aapt") + raise ExternalError("No minSdkVersion returned by aapt2") def GetMinSdkVersionInt(apk_name, codename_to_api_level_map): diff --git a/tools/releasetools/test_sign_target_files_apks.py b/tools/releasetools/test_sign_target_files_apks.py index 70c147e3f7..e0a635a908 100644 --- a/tools/releasetools/test_sign_target_files_apks.py +++ b/tools/releasetools/test_sign_target_files_apks.py @@ -525,3 +525,26 @@ name="apex.apexd_test_different_app.apex" public_key="system/apex/apexd/apexd_te 'system/apex/apexd/apexd_testdata/com.android.apex.test_package_2.pem', 'build/make/target/product/security/testkey'), }, keys_info) + + def test_ReadApexKeysInfo_presignedKeys(self): + apex_keys = self.APEX_KEYS_TXT + ( + 'name="apex.apexd_test_different_app2.apex" ' + 'private_key="PRESIGNED" ' + 'public_key="PRESIGNED" ' + 'container_certificate="PRESIGNED" ' + 'container_private_key="PRESIGNED"') + target_files = common.MakeTempFile(suffix='.zip') + with zipfile.ZipFile(target_files, 'w') as target_files_zip: + target_files_zip.writestr('META/apexkeys.txt', apex_keys) + + with zipfile.ZipFile(target_files) as target_files_zip: + keys_info = ReadApexKeysInfo(target_files_zip) + + self.assertEqual({ + 'apex.apexd_test.apex': ( + 'system/apex/apexd/apexd_testdata/com.android.apex.test_package.pem', + 'build/make/target/product/security/testkey'), + 'apex.apexd_test_different_app.apex': ( + 'system/apex/apexd/apexd_testdata/com.android.apex.test_package_2.pem', + 'build/make/target/product/security/testkey'), + }, keys_info) |