| # |
| # Copyright (C) 2010 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| LOCAL_PATH:= $(call my-dir) |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE_TAGS := optional |
| |
| LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) |
| |
| LOCAL_MULTILIB := both |
| |
| LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src) \ |
| ../ForceStopHelperApp/src/com/android/cts/forcestophelper/Constants.java |
| |
| LOCAL_AIDL_INCLUDES := \ |
| frameworks/native/aidl/gui |
| |
| LOCAL_USE_AAPT2 := true |
| |
| LOCAL_STATIC_JAVA_LIBRARIES := android-ex-camera2 \ |
| compatibility-common-util-devicesidelib \ |
| cts-sensors-tests \ |
| cts-camera-performance-tests \ |
| ctstestrunner-axt \ |
| apache-commons-math \ |
| androidplot \ |
| ctsverifier-opencv \ |
| core-tests-support \ |
| androidx.legacy_legacy-support-v4 \ |
| mockito-target-minus-junit4 \ |
| mockwebserver \ |
| compatibility-device-util-axt \ |
| platform-test-annotations \ |
| cts-security-test-support-library \ |
| cts-midi-lib \ |
| cbor-java |
| |
| LOCAL_STATIC_ANDROID_LIBRARIES := \ |
| androidx.legacy_legacy-support-v4 |
| |
| LOCAL_JAVA_LIBRARIES += telephony-common |
| LOCAL_JAVA_LIBRARIES += android.test.runner.stubs |
| LOCAL_JAVA_LIBRARIES += android.test.base.stubs |
| LOCAL_JAVA_LIBRARIES += android.test.mock.stubs |
| LOCAL_JAVA_LIBRARIES += android.car |
| LOCAL_JAVA_LIBRARIES += voip-common |
| LOCAL_JAVA_LIBRARIES += truth-prebuilt |
| |
| LOCAL_PACKAGE_NAME := CtsVerifier |
| LOCAL_PRIVATE_PLATFORM_APIS := true |
| |
| LOCAL_JNI_SHARED_LIBRARIES := \ |
| libctsverifier_jni \ |
| libctsnativemidi_jni \ |
| libaudioloopback_jni \ |
| |
| LOCAL_PROGUARD_FLAG_FILES := proguard.flags |
| |
| LOCAL_DEX_PREOPT := false |
| -include cts/error_prone_rules_tests.mk |
| include $(BUILD_PACKAGE) |
| |
| # Build CTS verifier framework as a libary. |
| |
| include $(CLEAR_VARS) |
| |
| define java-files-in |
| $(sort $(patsubst ./%,%, \ |
| $(shell cd $(LOCAL_PATH) ; \ |
| find -L $(1) -maxdepth 1 -name *.java -and -not -name ".*") \ |
| )) |
| endef |
| |
| LOCAL_MODULE := cts-verifier-framework |
| LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages android.support.v4 |
| LOCAL_SDK_VERSION := current |
| LOCAL_MIN_SDK_VERSION := 19 |
| LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res |
| LOCAL_SRC_FILES := \ |
| $(call java-files-in, src/com/android/cts/verifier) \ |
| $(call all-Iaidl-files-under, src) |
| |
| LOCAL_STATIC_JAVA_LIBRARIES := androidx.legacy_legacy-support-v4 \ |
| compatibility-common-util-devicesidelib \ |
| compatibility-device-util-axt |
| |
| include $(BUILD_STATIC_JAVA_LIBRARY) |
| |
| # opencv library |
| include $(CLEAR_VARS) |
| |
| LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ |
| ctsverifier-opencv:libs/opencv3-android.jar |
| |
| include $(BUILD_MULTI_PREBUILT) |
| |
| pre-installed-apps := \ |
| CtsEmptyDeviceAdmin \ |
| CtsEmptyDeviceOwner \ |
| CtsPermissionApp \ |
| CtsForceStopHelper \ |
| NotificationBot \ |
| CrossProfileTestApp |
| |
| # Apps to be installed as Instant App using adb install --instant |
| pre-installed-instant-app := CtsVerifierInstantApp |
| |
| other-required-apps := \ |
| CtsVerifierUSBCompanion \ |
| CtsVpnFirewallAppApi23 \ |
| CtsVpnFirewallAppApi24 \ |
| CtsVpnFirewallAppNotAlwaysOn |
| |
| apps-to-include := \ |
| $(pre-installed-apps) \ |
| $(pre-installed-instant-app) \ |
| $(other-required-apps) |
| |
| define apk-location-for |
| $(call intermediates-dir-for,APPS,$(1))/package.apk |
| endef |
| |
| # Builds and launches CTS Verifier on a device. |
| .PHONY: cts-verifier |
| cts-verifier: CtsVerifier adb $(pre-installed-apps) $(pre-installed-instant-app) |
| adb install -r $(PRODUCT_OUT)/data/app/CtsVerifier/CtsVerifier.apk \ |
| $(foreach app,$(pre-installed-apps), \ |
| && adb install -r -t $(call apk-location-for,$(app))) \ |
| && adb install -r --instant $(call apk-location-for,$(pre-installed-instant-app)) \ |
| && adb shell "am start -n com.android.cts.verifier/.CtsVerifierActivity" |
| |
| # |
| # Creates a "cts-verifier" directory that will contain: |
| # |
| # 1. Out directory with a "android-cts-verifier" containing the CTS Verifier |
| # and other binaries it needs. |
| # |
| # 2. Zipped version of the android-cts-verifier directory to be included with |
| # the build distribution. |
| # |
| cts-dir := $(HOST_OUT)/cts-verifier |
| verifier-dir-name := android-cts-verifier |
| verifier-dir := $(cts-dir)/$(verifier-dir-name) |
| verifier-zip-name := $(verifier-dir-name).zip |
| verifier-zip := $(cts-dir)/$(verifier-zip-name) |
| |
| # turned off sensor power tests in initial L release |
| #$(PRODUCT_OUT)/data/app/CtsVerifier.apk $(verifier-zip): $(verifier-dir)/power/execute_power_tests.py |
| #$(PRODUCT_OUT)/data/app/CtsVerifier.apk $(verifier-zip): $(verifier-dir)/power/power_monitors/monsoon.py |
| |
| # Copy the necessary host-side scripts to include in the zip file: |
| #$(verifier-dir)/power/power_monitors/monsoon.py: cts/apps/CtsVerifier/assets/scripts/power_monitors/monsoon.py | $(ACP) |
| # $(hide) mkdir -p $(verifier-dir)/power/power_monitors |
| # $(hide) $(ACP) -fp cts/apps/CtsVerifier/assets/scripts/power_monitors/*.py $(verifier-dir)/power/power_monitors/. |
| # |
| #$(verifier-dir)/power/execute_power_tests.py: cts/apps/CtsVerifier/assets/scripts/execute_power_tests.py | $(ACP) |
| # $(hide) mkdir -p $(verifier-dir)/power |
| # $(hide) $(ACP) -fp cts/apps/CtsVerifier/assets/scripts/execute_power_tests.py $@ |
| |
| cts : $(verifier-zip) |
| $(verifier-zip) : $(HOST_OUT)/CameraITS |
| $(verifier-zip) : $(foreach app,$(apps-to-include),$(call apk-location-for,$(app))) |
| $(verifier-zip) : $(call intermediates-dir-for,APPS,CtsVerifier)/package.apk | $(ACP) |
| $(hide) mkdir -p $(verifier-dir) |
| $(hide) $(ACP) -fp $< $(verifier-dir)/CtsVerifier.apk |
| $(foreach app,$(apps-to-include), \ |
| $(ACP) -fp $(call apk-location-for,$(app)) $(verifier-dir)/$(app).apk;) |
| $(hide) $(ACP) -fpr $(HOST_OUT)/CameraITS $(verifier-dir) |
| $(hide) cd $(cts-dir) && zip -rq $(verifier-dir-name) $(verifier-dir-name) |
| |
| $(call dist-for-goals, cts, $(verifier-zip):$(verifier-zip-name)) |
| |
| include $(call all-makefiles-under,$(LOCAL_PATH)) |