1ACTUAL_LOCAL_PATH := $(call my-dir) 2 3# this var will hold all the test apk module names later. 4FrameworkCoreTests_all_apks := 5 6# We have to include the subdir makefiles first 7# so that FrameworkCoreTests_all_apks will be populated correctly. 8include $(call all-makefiles-under,$(ACTUAL_LOCAL_PATH)) 9 10LOCAL_PATH := $(ACTUAL_LOCAL_PATH) 11 12include $(CLEAR_VARS) 13 14# We only want this apk build for tests. 15LOCAL_MODULE_TAGS := tests 16 17# Include all test java files. 18LOCAL_SRC_FILES := \ 19 $(call all-java-files-under, src) \ 20 $(call all-Iaidl-files-under, src) \ 21 $(call all-java-files-under, DisabledTestApp/src) \ 22 $(call all-java-files-under, EnabledTestApp/src) 23 24LOCAL_DX_FLAGS := --core-library 25LOCAL_JACK_FLAGS := --multi-dex native 26LOCAL_AAPT_FLAGS = -0 dat -0 gld -c fa 27LOCAL_STATIC_JAVA_LIBRARIES := \ 28 core-tests-support \ 29 android-common \ 30 frameworks-core-util-lib \ 31 mockwebserver \ 32 guava \ 33 android-support-test \ 34 mockito-target-minus-junit4 \ 35 espresso-core \ 36 ub-uiautomator \ 37 platform-test-annotations \ 38 compatibility-device-util \ 39 truth-prebuilt 40 41LOCAL_JAVA_LIBRARIES := android.test.runner conscrypt telephony-common org.apache.http.legacy 42LOCAL_PACKAGE_NAME := FrameworksCoreTests 43LOCAL_COMPATIBILITY_SUITE := device-tests 44 45LOCAL_CERTIFICATE := platform 46 47# intermediate dir to include all the test apks as raw resource 48FrameworkCoreTests_intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/test_apks/res 49LOCAL_RESOURCE_DIR := $(FrameworkCoreTests_intermediates) $(LOCAL_PATH)/res 50 51include $(BUILD_PACKAGE) 52# Rules to copy all the test apks to the intermediate raw resource directory 53FrameworkCoreTests_all_apks_res := $(addprefix $(FrameworkCoreTests_intermediates)/raw/, \ 54 $(foreach a, $(FrameworkCoreTests_all_apks), $(patsubst FrameworkCoreTests_%,%,$(a)))) 55 56$(FrameworkCoreTests_all_apks_res): $(FrameworkCoreTests_intermediates)/raw/%: $(call intermediates-dir-for,APPS,FrameworkCoreTests_%)/package.apk 57 $(call copy-file-to-new-target) 58 59# Use R_file_stamp as dependency because we want the test apks in place before the R.java is generated. 60$(R_file_stamp) : $(FrameworkCoreTests_all_apks_res) 61 62FrameworkCoreTests_all_apks := 63FrameworkCoreTests_intermediates := 64FrameworkCoreTests_all_apks_res := 65