Merge "Quick and dirty filtering of present LOCAL_OPTIONAL_USES_LIBRARIES."

This commit is contained in:
Ulyana Trafimovich
2021-02-04 06:16:03 +00:00
committed by Gerrit Code Review

View File

@@ -189,6 +189,16 @@ ifdef LOCAL_DEX_PREOPT
my_filtered_optional_uses_libraries := $(filter-out $(INTERNAL_PLATFORM_MISSING_USES_LIBRARIES), \
$(LOCAL_OPTIONAL_USES_LIBRARIES))
# TODO(b/132357300): This may filter out too much, as PRODUCT_PACKAGES doesn't
# include all packages (the full list is unknown until reading all Android.mk
# makefiles). As a consequence, a library may be present but not included in
# dexpreopt, which will result in class loader context mismatch and a failure
# to load dexpreopt code on device. We should fix this, either by deferring
# dependency computation until the full list of product packages is known, or
# by adding product-specific lists of missing libraries.
my_filtered_optional_uses_libraries := $(filter $(my_filtered_optional_uses_libraries), \
$(PRODUCT_PACKAGES))
ifeq ($(LOCAL_MODULE_CLASS),APPS)
# compatibility libraries are added to class loader context of an app only if
# targetSdkVersion in the app's manifest is lower than the given SDK version