Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 742f5832 authored by Ying Wang's avatar Ying Wang
Browse files

Raise progaurd library to platform libraries even for "current" SDK.

Without this change, if an app with "LOCAL_SDK_VERSION := current" links
against a static library that uses removed APIs, the app will fail
ProGuard processing because the removed APIs can't be found in the
current SDK. This works around the issue.

Bug: 18510449
Bug: 20667396
Change-Id: Ia6e2a81cf5ecba972d155e56238ea946f8539411
parent aae1a0ba
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -441,9 +441,10 @@ proguard_dictionary := $(intermediates.COMMON)/proguard_dictionary
my_support_library_sdk_raise :=
ifneq (,$(filter android-support-%,$(LOCAL_STATIC_JAVA_LIBRARIES)))
ifdef LOCAL_SDK_VERSION
ifeq (,$(filter current system_current, $(LOCAL_SDK_VERSION)))
ifdef TARGET_BUILD_APPS
ifeq (,$(filter current system_current, $(LOCAL_SDK_VERSION)))
  my_support_library_sdk_raise := $(call java-lib-files, sdk_vcurrent)
endif
else
  # For platform build, we can't just raise to the "current" SDK,
  # that would break apps that use APIs removed from the current SDK.
@@ -451,7 +452,6 @@ else
endif
endif
endif
endif

# jack already has the libraries in its classpath and doesn't support jars
legacy_proguard_flags := $(addprefix -libraryjars ,$(my_support_library_sdk_raise) $(full_shared_java_libs))