1# 2# Copyright 2017 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17LOCAL_PATH:= $(call my-dir) 18 19# Build a tiny library that the test app can dynamically load 20 21include $(CLEAR_VARS) 22 23LOCAL_MODULE_TAGS := tests 24LOCAL_MODULE := DynamicCodeLoggerTestLibrary 25LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/dcl) 26 27include $(BUILD_JAVA_LIBRARY) 28 29dynamiccodeloggertest_jar := $(LOCAL_BUILT_MODULE) 30 31 32# Also build a native library that the test app can dynamically load 33 34include $(CLEAR_VARS) 35 36LOCAL_MODULE_TAGS := tests 37LOCAL_MODULE := DynamicCodeLoggerNativeTestLibrary 38LOCAL_SRC_FILES := src/cpp/com_android_dcl_Jni.cpp 39LOCAL_C_INCLUDES += \ 40 $(JNI_H_INCLUDE) 41LOCAL_SDK_VERSION := 28 42LOCAL_NDK_STL_VARIANT := c++_static 43 44include $(BUILD_SHARED_LIBRARY) 45 46# And a standalone native executable that we can exec. 47 48include $(CLEAR_VARS) 49 50LOCAL_MODULE_TAGS := tests 51LOCAL_MODULE := DynamicCodeLoggerNativeExecutable 52LOCAL_SRC_FILES := src/cpp/test_executable.cpp 53 54include $(BUILD_EXECUTABLE) 55 56dynamiccodeloggertest_executable := $(LOCAL_BUILT_MODULE) 57 58# Build the test app itself 59 60include $(CLEAR_VARS) 61 62LOCAL_MODULE_TAGS := tests 63LOCAL_PACKAGE_NAME := DynamicCodeLoggerIntegrationTests 64LOCAL_SDK_VERSION := current 65LOCAL_COMPATIBILITY_SUITE := device-tests 66LOCAL_CERTIFICATE := shared 67LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/server/pm) 68 69LOCAL_STATIC_JAVA_LIBRARIES := \ 70 androidx.test.rules \ 71 truth-prebuilt \ 72 73# Include both versions of the .so if we have 2 arch 74LOCAL_MULTILIB := both 75LOCAL_JNI_SHARED_LIBRARIES := \ 76 DynamicCodeLoggerNativeTestLibrary \ 77 78# This gets us the javalib.jar built by DynamicCodeLoggerTestLibrary above as well as the various 79# native binaries. 80LOCAL_JAVA_RESOURCE_FILES := \ 81 $(dynamiccodeloggertest_jar) \ 82 $(dynamiccodeloggertest_executable) \ 83 84include $(BUILD_PACKAGE) 85