Use $(AAPT) instead of aapt for verifying uses libraries

For SDK builds, $(AAPT) points to a prebuilt and aapt is not
necessarily in the path.

Test: make -j32 <some SDK build> tests
Bug: 70934104
Bug: 67345922
Change-Id: Icfd62a4e3ec284ed59a61714765e5a909a27947d
This commit is contained in:
Mathieu Chartier 2018-05-14 10:13:37 -07:00
parent 198b9f4f6a
commit 116790dae8
2 changed files with 4 additions and 1 deletions

View File

@ -175,6 +175,7 @@ class_loader_context=$(PRIVATE_DEX2OAT_CLASS_LOADER_CONTEXT) && \
stored_class_loader_context_arg="" && \
uses_library_names="$(PRIVATE_USES_LIBRARY_NAMES)" && \
optional_uses_library_names="$(PRIVATE_OPTIONAL_USES_LIBRARY_NAMES)" && \
aapt_binary="$(AAPT)" && \
$(if $(filter true,$(PRIVATE_ENFORCE_USES_LIBRARIES)), \
source build/make/core/verify_uses_libraries.sh "$(1)" && \
source build/make/core/construct_context.sh "$(PRIVATE_CONDITIONAL_USES_LIBRARIES_HOST)" "$(PRIVATE_CONDITIONAL_USES_LIBRARIES_TARGET)" && \

View File

@ -15,11 +15,13 @@
# limitations under the License.
# apt_binary is $(AAPT) in the build.
# Parse sdk, targetSdk, and uses librares in the APK, then cross reference against build specified ones.
set -e
local_apk=$1
badging=$(aapt dump badging "${local_apk}")
badging=$(${aapt_binary} dump badging "${local_apk}")
export sdk_version=$(echo "${badging}" | grep "sdkVersion" | sed -n "s/sdkVersion:'\(.*\)'/\1/p")
# Export target_sdk_version to the caller.
export target_sdk_version=$(echo "${badging}" | grep "targetSdkVersion" | sed -n "s/targetSdkVersion:'\(.*\)'/\1/p")