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
commit 015fd9e71b
1 changed files with 10 additions and 0 deletions

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