diff options
-rw-r--r-- | core/Makefile | 16 | ||||
-rw-r--r-- | core/apidiff.mk | 177 | ||||
-rw-r--r-- | core/build_id.mk | 2 | ||||
-rw-r--r-- | core/clear_vars.mk | 3 | ||||
-rw-r--r-- | core/config.mk | 1 | ||||
-rw-r--r-- | core/dex_preopt_libart.mk | 2 | ||||
-rw-r--r-- | core/package_internal.mk | 7 | ||||
-rw-r--r-- | core/static_java_library.mk | 5 | ||||
-rw-r--r-- | core/tasks/apidiff.mk | 21 | ||||
-rw-r--r-- | core/version_defaults.mk | 12 | ||||
-rw-r--r-- | target/board/generic_arm64_a/BoardConfig.mk | 4 | ||||
-rw-r--r-- | target/board/generic_arm64_ab/BoardConfig.mk | 4 | ||||
-rw-r--r-- | target/product/base.mk | 1 | ||||
-rw-r--r-- | target/product/core.mk | 1 | ||||
-rw-r--r-- | target/product/embedded.mk | 2 | ||||
-rw-r--r-- | target/product/emulator.mk | 1 | ||||
-rw-r--r-- | target/product/full_base.mk | 2 | ||||
-rw-r--r-- | target/product/locales_full.mk | 3 | ||||
-rwxr-xr-x | tools/releasetools/add_img_to_target_files.py | 14 | ||||
-rwxr-xr-x | tools/releasetools/build_image.py | 6 |
20 files changed, 263 insertions, 21 deletions
diff --git a/core/Makefile b/core/Makefile index 3aa8dba450..18c3e0100f 100644 --- a/core/Makefile +++ b/core/Makefile @@ -580,6 +580,8 @@ ramdisk-nodeps: $(MKBOOTFS) | $(MINIGZIP) @echo "make $@: ignoring dependencies" $(hide) $(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $(INSTALLED_RAMDISK_TARGET) +INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img + ifneq ($(strip $(TARGET_NO_KERNEL)),true) # ----------------------------------------------------------------- @@ -618,8 +620,6 @@ INTERNAL_MKBOOTIMG_VERSION_ARGS := \ --os_version $(PLATFORM_VERSION) \ --os_patch_level $(PLATFORM_SECURITY_PATCH) -INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img - # BOARD_USES_RECOVERY_AS_BOOT = true must have BOARD_BUILD_SYSTEM_ROOT_IMAGE = true. ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true) @@ -702,6 +702,13 @@ endif # TARGET_BOOTIMAGE_USE_EXT2 endif # BOARD_USES_RECOVERY_AS_BOOT else # TARGET_NO_KERNEL +ifdef BOARD_PREBUILT_BOOTIMAGE +ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true) +# Remove when b/63676296 is resolved. +$(error Prebuilt bootimage is only supported for AB targets) +endif +$(eval $(call copy-one-file,$(BOARD_PREBUILT_BOOTIMAGE),$(INSTALLED_BOOTIMAGE_TARGET))) +else INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE)) # HACK: The top-level targets depend on the bootimage. Not all targets # can produce a bootimage, though, and emulator targets need the ramdisk @@ -710,6 +717,7 @@ INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE)) # kernel-less inputs. INSTALLED_BOOTIMAGE_TARGET := $(INSTALLED_RAMDISK_TARGET) endif +endif # ----------------------------------------------------------------- # NOTICE files @@ -2509,6 +2517,10 @@ ifdef BOARD_PREBUILT_VENDORIMAGE $(hide) mkdir -p $(zip_root)/IMAGES $(hide) cp $(INSTALLED_VENDORIMAGE_TARGET) $(zip_root)/IMAGES/ endif +ifdef BOARD_PREBUILT_BOOTIMAGE + $(hide) mkdir -p $(zip_root)/IMAGES + $(hide) cp $(INSTALLED_BOOTIMAGE_TARGET) $(zip_root)/IMAGES/ +endif ifdef BOARD_PREBUILT_DTBOIMAGE $(hide) mkdir -p $(zip_root)/PREBUILT_IMAGES $(hide) cp $(INSTALLED_DTBOIMAGE_TARGET) $(zip_root)/PREBUILT_IMAGES/ diff --git a/core/apidiff.mk b/core/apidiff.mk new file mode 100644 index 0000000000..1a7467d952 --- /dev/null +++ b/core/apidiff.mk @@ -0,0 +1,177 @@ +# +# 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. +# + +## +## +## Common to both jdiff and javadoc +## +## + +LOCAL_IS_HOST_MODULE := $(call true-or-empty,$(LOCAL_IS_HOST_MODULE)) +ifeq ($(LOCAL_IS_HOST_MODULE),true) +my_prefix := HOST_ +LOCAL_HOST_PREFIX := +else +my_prefix := TARGET_ +endif + +LOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS)) +ifndef LOCAL_MODULE_CLASS +$(error $(LOCAL_PATH): LOCAL_MODULE_CLASS not defined) +endif + +full_src_files := $(patsubst %,$(LOCAL_PATH)/%,$(LOCAL_SRC_FILES)) +out_dir := $(OUT_DOCS)/$(LOCAL_MODULE)/api_diff/current +full_target := $(call doc-timestamp-for,$(LOCAL_MODULE)-diff) + +ifeq ($(LOCAL_IS_HOST_MODULE),true) +$(full_target): PRIVATE_BOOTCLASSPATH := +full_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\ + $(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) +full_java_lib_deps := $(full_java_libs) + +else + +ifneq ($(LOCAL_SDK_VERSION),) + ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current) + # Use android_stubs_current if LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS. + LOCAL_JAVA_LIBRARIES := android_stubs_current $(LOCAL_JAVA_LIBRARIES) + $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_stubs_current) + else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current) + LOCAL_JAVA_LIBRARIES := android_system_stubs_current $(LOCAL_JAVA_LIBRARIES) + $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_system_stubs_current) + else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current) + LOCAL_JAVA_LIBRARIES := android_test_stubs_current $(LOCAL_JAVA_LIBRARIES) + $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_test_stubs_current) + else + LOCAL_JAVA_LIBRARIES := sdk_v$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES) + $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, sdk_v$(LOCAL_SDK_VERSION)) + endif +else + LOCAL_JAVA_LIBRARIES := core-oj core-libart ext framework $(LOCAL_JAVA_LIBRARIES) + $(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, core-oj):$(call java-lib-files, core-libart) +endif # LOCAL_SDK_VERSION +LOCAL_JAVA_LIBRARIES := $(sort $(LOCAL_JAVA_LIBRARIES)) + +full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH) +full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH) +endif # !LOCAL_IS_HOST_MODULE + +$(full_target): PRIVATE_CLASSPATH := $(subst $(space),:,$(full_java_libs)) +$(full_target): PRIVATE_DOCLAVA_CLASSPATH := $(HOST_OUT_JAVA_LIBRARIES)/jsilver$(COMMON_JAVA_PACKAGE_SUFFIX):$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX) + +intermediates.COMMON := $(call local-intermediates-dir,COMMON) + +$(full_target): PRIVATE_SOURCE_PATH := $(call normalize-path-list,$(LOCAL_DROIDDOC_SOURCE_PATH)) +$(full_target): PRIVATE_JAVA_FILES := $(filter %.java,$(full_src_files)) +$(full_target): PRIVATE_JAVA_FILES += $(addprefix $($(my_prefix)OUT_COMMON_INTERMEDIATES)/, $(filter %.java,$(LOCAL_INTERMEDIATE_SOURCES))) +$(full_target): PRIVATE_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/src +$(full_target): PRIVATE_SRC_LIST_FILE := $(intermediates.COMMON)/droiddoc-src-list + +ifneq ($(strip $(LOCAL_ADDITIONAL_JAVA_DIR)),) +$(full_target): PRIVATE_ADDITIONAL_JAVA_DIR := $(LOCAL_ADDITIONAL_JAVA_DIR) +endif + +# Lists the input files for the doc build into a text file +# suitable for the @ syntax of javadoc. +# $(1): the file to create +# $(2): files to include +# $(3): list of directories to search for java files in +define prepare-doc-source-list +$(hide) mkdir -p $(dir $(1)) +$(call dump-words-to-file, $(2), $(1)) +$(hide) for d in $(3) ; do find $$d -name '*.java' -and -not -name '.*' >> $(1) 2> /dev/null ; done ; true +endef + +## +## +## jdiff only +## +## + +jdiff := \ + $(HOST_JDK_TOOLS_JAR) \ + $(HOST_OUT_JAVA_LIBRARIES)/jdiff$(COMMON_JAVA_PACKAGE_SUFFIX) + +doclava := \ + $(HOST_JDK_TOOLS_JAR) \ + $(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX) + +$(full_target): PRIVATE_NEWAPI := $(LOCAL_APIDIFF_NEWAPI) +$(full_target): PRIVATE_OLDAPI := $(LOCAL_APIDIFF_OLDAPI) +$(full_target): PRIVATE_OUT_DIR := $(out_dir) +$(full_target): PRIVATE_OUT_NEWAPI := $(out_dir)/current.xml +$(full_target): PRIVATE_OUT_OLDAPI := $(out_dir)/$(notdir $(basename $(LOCAL_APIDIFF_OLDAPI))).xml +$(full_target): PRIVATE_DOCLETPATH := $(HOST_OUT_JAVA_LIBRARIES)/jdiff$(COMMON_JAVA_PACKAGE_SUFFIX) +$(full_target): \ + $(full_src_files) \ + $(full_java_lib_deps) \ + $(jdiff) \ + $(doclava) \ + $(LOCAL_MODULE)-docs \ + $(LOCAL_ADDITIONAL_DEPENDENCIES) + @echo Generating API diff: $(PRIVATE_OUT_DIR) + @echo Old API: $(PRIVATE_OLDAPI) + @echo New API: $(PRIVATE_NEWAPI) + @echo Old XML: $(PRIVATE_OUT_OLDAPI) + @echo New XML: $(PRIVATE_OUT_NEWAPI) + $(hide) mkdir -p $(dir $@) + @echo Converting API files to XML... + $(hide) mkdir -p $(PRIVATE_OUT_DIR) + $(hide) ( \ + $(JAVA) \ + $(addprefix -classpath ,$(PRIVATE_CLASSPATH):$(PRIVATE_DOCLAVA_CLASSPATH):$(PRIVATE_BOOTCLASSPATH):$(HOST_JDK_TOOLS_JAR)) \ + com.google.doclava.apicheck.ApiCheck \ + -convert2xml \ + $(basename $(PRIVATE_NEWAPI)).txt \ + $(basename $(PRIVATE_OUT_NEWAPI)).xml \ + ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45) + $(hide) ( \ + $(JAVA) \ + $(addprefix -classpath ,$(PRIVATE_CLASSPATH):$(PRIVATE_DOCLAVA_CLASSPATH):$(PRIVATE_BOOTCLASSPATH):$(HOST_JDK_TOOLS_JAR)) \ + com.google.doclava.apicheck.ApiCheck \ + -convert2xml \ + $(basename $(PRIVATE_OLDAPI)).txt \ + $(basename $(PRIVATE_OUT_OLDAPI)).xml \ + ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45) + @echo Running JDiff... + $(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \ + $(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR)) + $(hide) ( \ + $(JAVADOC) \ + -encoding UTF-8 \ + \@$(PRIVATE_SRC_LIST_FILE) \ + -J-Xmx1600m \ + -XDignore.symbol.file \ + -quiet \ + -doclet jdiff.JDiff \ + -docletpath $(PRIVATE_DOCLETPATH) \ + $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \ + $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \ + -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \ + -d $(PRIVATE_OUT_DIR) \ + -newapi $(notdir $(basename $(PRIVATE_OUT_NEWAPI))) \ + -newapidir $(dir $(PRIVATE_OUT_NEWAPI)) \ + -oldapi $(notdir $(basename $(PRIVATE_OUT_OLDAPI))) \ + -oldapidir $(dir $(PRIVATE_OUT_OLDAPI)) \ + -javadocnew ../../../reference/ \ + && touch -f $@ \ + ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45) + +ALL_DOCS += $(full_target) + +.PHONY: $(LOCAL_MODULE)-diff +$(LOCAL_MODULE)-diff : $(full_target) diff --git a/core/build_id.mk b/core/build_id.mk index ff4d013fb9..0e8e2cf4bf 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. -export BUILD_ID=OC-MR1 +export BUILD_ID=MASTER diff --git a/core/clear_vars.mk b/core/clear_vars.mk index bdac5dc410..a03eef02a5 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -6,6 +6,7 @@ LOCAL_32_BIT_ONLY:= LOCAL_AAPT_FLAGS:= LOCAL_AAPT_INCLUDE_ALL_RESOURCES:= +LOCAL_AAPT_NAMESPACES:= LOCAL_ADDITIONAL_CERTIFICATES:= LOCAL_ADDITIONAL_DEPENDENCIES:= LOCAL_ADDITIONAL_HTML_DIR:= @@ -14,6 +15,8 @@ LOCAL_AIDL_INCLUDES:= LOCAL_ALLOW_UNDEFINED_SYMBOLS:= LOCAL_ANNOTATION_PROCESSORS:= LOCAL_ANNOTATION_PROCESSOR_CLASSES:= +LOCAL_APIDIFF_NEWAPI:= +LOCAL_APIDIFF_OLDAPI:= LOCAL_APK_LIBRARIES:= LOCAL_ARM_MODE:= LOCAL_ASFLAGS:= diff --git a/core/config.mk b/core/config.mk index b853d365c1..d23530dc71 100644 --- a/core/config.mk +++ b/core/config.mk @@ -114,6 +114,7 @@ BUILD_JAVA_LIBRARY:= $(BUILD_SYSTEM)/java_library.mk BUILD_STATIC_JAVA_LIBRARY:= $(BUILD_SYSTEM)/static_java_library.mk BUILD_HOST_JAVA_LIBRARY:= $(BUILD_SYSTEM)/host_java_library.mk BUILD_DROIDDOC:= $(BUILD_SYSTEM)/droiddoc.mk +BUILD_APIDIFF:= $(BUILD_SYSTEM)/apidiff.mk BUILD_COPY_HEADERS := $(BUILD_SYSTEM)/copy_headers.mk BUILD_NATIVE_TEST := $(BUILD_SYSTEM)/native_test.mk BUILD_NATIVE_BENCHMARK := $(BUILD_SYSTEM)/native_benchmark.mk diff --git a/core/dex_preopt_libart.mk b/core/dex_preopt_libart.mk index 96160367be..40d34f1318 100644 --- a/core/dex_preopt_libart.mk +++ b/core/dex_preopt_libart.mk @@ -96,7 +96,7 @@ LIBART_TARGET_BOOT_ART_EXTRA_FILES += boot.oat boot.vdex my_use_profile_for_boot_image := $(PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE) ifeq (,$(my_use_profile_for_boot_image)) # If not set, use the default. -my_use_profile_for_boot_image := false +my_use_profile_for_boot_image := true endif ifeq (true,$(my_use_profile_for_boot_image)) diff --git a/core/package_internal.mk b/core/package_internal.mk index 93c15b630d..5f6a64074c 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -422,8 +422,13 @@ endif # renderscript_target_api < 21 endif # renderscript_target_api is set my_asset_dirs := $(LOCAL_ASSET_DIR) my_full_asset_paths := $(all_assets) + # Add AAPT2 link specific flags. -$(my_res_package): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --no-static-lib-packages +$(my_res_package): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) +ifndef LOCAL_AAPT_NAMESPACES + $(my_res_package): PRIVATE_AAPT_FLAGS += --no-static-lib-packages +endif + include $(BUILD_SYSTEM)/aapt2.mk else # LOCAL_USE_AAPT2 diff --git a/core/static_java_library.mk b/core/static_java_library.mk index c39c40a71b..b959728ce8 100644 --- a/core/static_java_library.mk +++ b/core/static_java_library.mk @@ -128,7 +128,10 @@ endif # add --non-constant-id to prevent inlining constants. # AAR needs text symbol file R.txt. ifdef LOCAL_USE_AAPT2 -$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --static-lib --no-static-lib-packages +$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) --static-lib +ifndef LOCAL_AAPT_NAMESPACES + $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_AAPT_FLAGS += --no-static-lib-packages +endif $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_PRODUCT_AAPT_CONFIG := $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_PRODUCT_AAPT_PREF_CONFIG := $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_AAPT_CHARACTERISTICS := diff --git a/core/tasks/apidiff.mk b/core/tasks/apidiff.mk new file mode 100644 index 0000000000..4eb59afbb9 --- /dev/null +++ b/core/tasks/apidiff.mk @@ -0,0 +1,21 @@ +# 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. + +# +# Rules for building API diffs. +# + +.PHONY: api-diff + +api-diff: offline-sdk-referenceonly-diff diff --git a/core/version_defaults.mk b/core/version_defaults.mk index 22eea8de01..27632e85c4 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -38,9 +38,9 @@ ifdef INTERNAL_BUILD_ID_MAKEFILE include $(INTERNAL_BUILD_ID_MAKEFILE) endif -DEFAULT_PLATFORM_VERSION := OPM1 -MIN_PLATFORM_VERSION := OPM1 -MAX_PLATFORM_VERSION := OPM1 +DEFAULT_PLATFORM_VERSION := PPR1 +MIN_PLATFORM_VERSION := PPR1 +MAX_PLATFORM_VERSION := PPR1 ALLOWED_VERSIONS := $(call allowed-platform-versions,\ $(MIN_PLATFORM_VERSION),\ @@ -74,11 +74,11 @@ endif # please add that PLATFORM_VERSION as well as clean up obsolete PLATFORM_VERSION's # in the following text file: # cts/tests/tests/os/assets/platform_versions.txt -PLATFORM_VERSION.OPM1 := 8.1.0 +PLATFORM_VERSION.PPR1 := P # 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.OPM1 := REL +PLATFORM_VERSION_CODENAME.PPR1 := P ifndef PLATFORM_VERSION PLATFORM_VERSION := $(PLATFORM_VERSION.$(TARGET_PLATFORM_VERSION)) @@ -175,7 +175,7 @@ else # assuming the device can only support APIs as of the previous official # public release. # This value will always be 0 for release builds. - PLATFORM_PREVIEW_SDK_VERSION := 0 + PLATFORM_PREVIEW_SDK_VERSION := 1 endif endif diff --git a/target/board/generic_arm64_a/BoardConfig.mk b/target/board/generic_arm64_a/BoardConfig.mk index 8f4043f162..34a8ac0012 100644 --- a/target/board/generic_arm64_a/BoardConfig.mk +++ b/target/board/generic_arm64_a/BoardConfig.mk @@ -23,7 +23,7 @@ TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := generic TARGET_2ND_ARCH := arm -TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_ARCH_VARIANT := armv8-a TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi -TARGET_2ND_CPU_VARIANT := cortex-a15 +TARGET_2ND_CPU_VARIANT := generic diff --git a/target/board/generic_arm64_ab/BoardConfig.mk b/target/board/generic_arm64_ab/BoardConfig.mk index e0d7372b8d..00afee615a 100644 --- a/target/board/generic_arm64_ab/BoardConfig.mk +++ b/target/board/generic_arm64_ab/BoardConfig.mk @@ -23,10 +23,10 @@ TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := generic TARGET_2ND_ARCH := arm -TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_ARCH_VARIANT := armv8-a TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi -TARGET_2ND_CPU_VARIANT := cortex-a15 +TARGET_2ND_CPU_VARIANT := generic # Enable A/B update TARGET_NO_RECOVERY := true diff --git a/target/product/base.mk b/target/product/base.mk index 252929f966..1a35bad2c5 100644 --- a/target/product/base.mk +++ b/target/product/base.mk @@ -44,6 +44,7 @@ PRODUCT_PACKAGES += \ ime \ incidentd \ incident \ + incident_helper \ incident_report \ input \ javax.obex \ diff --git a/target/product/core.mk b/target/product/core.mk index a2b0f1c551..3771b7ea9c 100644 --- a/target/product/core.mk +++ b/target/product/core.mk @@ -53,6 +53,7 @@ PRODUCT_PACKAGES += \ ProxyHandler \ QuickSearchBox \ Settings \ + SettingsIntelligence \ SharedStorageBackup \ StorageManager \ Telecom \ diff --git a/target/product/embedded.mk b/target/product/embedded.mk index 0a56c990c8..17d4a20132 100644 --- a/target/product/embedded.mk +++ b/target/product/embedded.mk @@ -20,7 +20,7 @@ PRODUCT_PACKAGES += \ adb \ adbd \ - android.hardware.configstore@1.0-service \ + android.hardware.configstore@1.1-service \ android.hidl.allocator@1.0-service \ android.hidl.memory@1.0-impl \ atrace \ diff --git a/target/product/emulator.mk b/target/product/emulator.mk index 0e1e581cdd..00b353385b 100644 --- a/target/product/emulator.mk +++ b/target/product/emulator.mk @@ -129,6 +129,7 @@ PRODUCT_PACKAGES += \ libcompiler_rt.vndk-sp\ libbacktrace.vndk-sp\ libunwind.vndk-sp\ + libunwindstack.vndk-sp\ liblzma.vndk-sp\ libz.vndk-sp\ diff --git a/target/product/full_base.mk b/target/product/full_base.mk index 65bdf0f1b4..f8e9b2ac6e 100644 --- a/target/product/full_base.mk +++ b/target/product/full_base.mk @@ -52,7 +52,7 @@ $(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk) $(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk) # Get a list of languages. -$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) # Get everything else from the parent package $(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) diff --git a/target/product/locales_full.mk b/target/product/locales_full.mk deleted file mode 100644 index 3a90d2b885..0000000000 --- a/target/product/locales_full.mk +++ /dev/null @@ -1,3 +0,0 @@ -PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN - -$(call inherit-product, build/target/product/languages_full.mk) diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py index 52d3918926..02f2000a07 100755 --- a/tools/releasetools/add_img_to_target_files.py +++ b/tools/releasetools/add_img_to_target_files.py @@ -58,6 +58,7 @@ import shlex import shutil import subprocess import tempfile +import uuid import zipfile import build_image @@ -257,6 +258,19 @@ def CreateImage(input_dir, info_dict, what, output_file, block_list=None): if block_list: image_props["block_list"] = block_list.name + # Use repeatable ext4 FS UUID and hash_seed UUID (based on partition name and + # build fingerprint). + uuid_seed = what + "-" + if "build.prop" in info_dict: + build_prop = info_dict["build.prop"] + if "ro.build.fingerprint" in build_prop: + uuid_seed += build_prop["ro.build.fingerprint"] + elif "ro.build.thumbprint" in build_prop: + uuid_seed += build_prop["ro.build.thumbprint"] + image_props["uuid"] = str(uuid.uuid5(uuid.NAMESPACE_URL, uuid_seed)) + hash_seed = "hash_seed-" + uuid_seed + image_props["hash_seed"] = str(uuid.uuid5(uuid.NAMESPACE_URL, hash_seed)) + succ = build_image.BuildImage(os.path.join(temp_dir, what), image_props, output_file.name) assert succ, "build " + what + ".img image failed" diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index d2c9f59700..c50f605b61 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -475,6 +475,12 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): build_command.extend(["-e", prop_dict["flash_erase_block_size"]]) if "flash_logical_block_size" in prop_dict: build_command.extend(["-o", prop_dict["flash_logical_block_size"]]) + # Specify UUID and hash_seed if using mke2fs. + if prop_dict["ext_mkuserimg"] == "mkuserimg_mke2fs.sh": + if "uuid" in prop_dict: + build_command.extend(["-U", prop_dict["uuid"]]) + if "hash_seed" in prop_dict: + build_command.extend(["-S", prop_dict["hash_seed"]]) if "selinux_fc" in prop_dict: build_command.append(prop_dict["selinux_fc"]) elif fs_type.startswith("squash"): |