xref: /aosp_15_r20/cts/build/device_info_package.mk (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker# Copyright (C) 2015 The Android Open Source Project
2*b7c941bbSAndroid Build Coastguard Worker#
3*b7c941bbSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*b7c941bbSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*b7c941bbSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*b7c941bbSAndroid Build Coastguard Worker#
7*b7c941bbSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*b7c941bbSAndroid Build Coastguard Worker#
9*b7c941bbSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*b7c941bbSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*b7c941bbSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*b7c941bbSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*b7c941bbSAndroid Build Coastguard Worker# limitations under the License.
14*b7c941bbSAndroid Build Coastguard Worker
15*b7c941bbSAndroid Build Coastguard Worker#
16*b7c941bbSAndroid Build Coastguard Worker# Builds a package which can be instrumented to retrieve information about the device under test.
17*b7c941bbSAndroid Build Coastguard Worker#
18*b7c941bbSAndroid Build Coastguard Worker
19*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_PACKAGE := com.android.compatibility.common.deviceinfo
20*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_INSTRUMENT := androidx.test.runner.AndroidJUnitRunner
21*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_USES_LIBRARY := android.test.runner
22*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_USES_OPTIONAL_LIBRARIES += \
23*b7c941bbSAndroid Build Coastguard Worker  androidx.window.extensions \
24*b7c941bbSAndroid Build Coastguard Worker  androidx.window.sidecar
25*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_PERMISSIONS += \
26*b7c941bbSAndroid Build Coastguard Worker  android.permission.ACCESS_FINE_LOCATION \
27*b7c941bbSAndroid Build Coastguard Worker  android.permission.READ_PHONE_STATE \
28*b7c941bbSAndroid Build Coastguard Worker  android.permission.WRITE_EXTERNAL_STORAGE
29*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_ACTIVITIES += \
30*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).AppStandbyDeviceInfo \
31*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).BiometricsDeviceInfo \
32*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).ClientIdDeviceInfo \
33*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).ConfigurationDeviceInfo \
34*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).ConnectivityDeviceInfo \
35*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).CpuDeviceInfo \
36*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).DefaultAppDeviceInfo \
37*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).DeviceIdleDeviceInfo \
38*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).FeatureDeviceInfo \
39*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).GenericDeviceInfo \
40*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).GlesStubActivity \
41*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).GnssDeviceInfo \
42*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).GraphicsDeviceInfo \
43*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).HapticsDeviceInfo \
44*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).InputDeviceInfo \
45*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).KeystoreAttestationDeviceInfo \
46*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).LocaleDeviceInfo \
47*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).MediaDeviceInfo \
48*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).MediaOutputDeviceInfo \
49*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).MemoryDeviceInfo \
50*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).PackageDeviceInfo \
51*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).PermissionDeviceInfo \
52*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).ScreenDeviceInfo \
53*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).StorageDeviceInfo \
54*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).UserDeviceInfo \
55*b7c941bbSAndroid Build Coastguard Worker  $(DEVICE_INFO_PACKAGE).VintfDeviceInfo \
56*b7c941bbSAndroid Build Coastguard Worker  com.android.compatibility.common.util.DummyActivity
57*b7c941bbSAndroid Build Coastguard Worker
58*b7c941bbSAndroid Build Coastguard Workerifeq ($(DEVICE_INFO_MIN_SDK),)
59*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_MIN_SDK := 8
60*b7c941bbSAndroid Build Coastguard Workerendif
61*b7c941bbSAndroid Build Coastguard Worker
62*b7c941bbSAndroid Build Coastguard Workerifeq ($(DEVICE_INFO_TARGET_SDK),)
63*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_TARGET_SDK := 17
64*b7c941bbSAndroid Build Coastguard Workerendif
65*b7c941bbSAndroid Build Coastguard Worker
66*b7c941bbSAndroid Build Coastguard Worker# Add the base device info
67*b7c941bbSAndroid Build Coastguard WorkerLOCAL_STATIC_JAVA_LIBRARIES += compatibility-device-info compatibility-device-util-axt
68*b7c941bbSAndroid Build Coastguard Worker
69*b7c941bbSAndroid Build Coastguard Worker# Generator of APK manifests.
70*b7c941bbSAndroid Build Coastguard WorkerMANIFEST_GENERATOR_JAR := $(HOST_OUT_JAVA_LIBRARIES)/compatibility-manifest-generator.jar
71*b7c941bbSAndroid Build Coastguard WorkerMANIFEST_GENERATOR := $(JAVA) -jar $(MANIFEST_GENERATOR_JAR)
72*b7c941bbSAndroid Build Coastguard Worker
73*b7c941bbSAndroid Build Coastguard Worker# Generate the manifest
74*b7c941bbSAndroid Build Coastguard Workermanifest_xml := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/AndroidManifest.xml
75*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_INFO_PERMISSIONS := $(foreach permission, $(DEVICE_INFO_PERMISSIONS),-r $(permission))
76*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_INFO_ACTIVITIES := $(foreach activity,$(DEVICE_INFO_ACTIVITIES),-a $(activity))
77*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_USES_LIBRARY := $(DEVICE_INFO_USES_LIBRARY)
78*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_USES_OPTIONAL_LIBRARIES := $(foreach library,$(DEVICE_INFO_USES_OPTIONAL_LIBRARIES),-lo $(library))
79*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_PACKAGE := $(DEVICE_INFO_PACKAGE)
80*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_INSTRUMENT := $(DEVICE_INFO_INSTRUMENT)
81*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_MIN_SDK := $(DEVICE_INFO_MIN_SDK)
82*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): PRIVATE_TARGET_SDK := $(DEVICE_INFO_TARGET_SDK)
83*b7c941bbSAndroid Build Coastguard Worker
84*b7c941bbSAndroid Build Coastguard Worker# Regenerate manifest.xml if the generator jar, */cts-device-info/Android.mk, or this file is changed.
85*b7c941bbSAndroid Build Coastguard Worker$(manifest_xml): $(MANIFEST_GENERATOR_JAR) $(LOCAL_PATH)/Android.mk cts/build/device_info_package.mk
86*b7c941bbSAndroid Build Coastguard Worker	$(hide) echo Generating manifest for $(PRIVATE_NAME)
87*b7c941bbSAndroid Build Coastguard Worker	$(hide) mkdir -p $(dir $@)
88*b7c941bbSAndroid Build Coastguard Worker	$(hide) $(MANIFEST_GENERATOR) \
89*b7c941bbSAndroid Build Coastguard Worker						$(PRIVATE_INFO_PERMISSIONS) \
90*b7c941bbSAndroid Build Coastguard Worker						$(PRIVATE_INFO_ACTIVITIES) \
91*b7c941bbSAndroid Build Coastguard Worker						-l $(PRIVATE_USES_LIBRARY) \
92*b7c941bbSAndroid Build Coastguard Worker						$(PRIVATE_USES_OPTIONAL_LIBRARIES) \
93*b7c941bbSAndroid Build Coastguard Worker						-p $(PRIVATE_PACKAGE) \
94*b7c941bbSAndroid Build Coastguard Worker						-i $(PRIVATE_INSTRUMENT) \
95*b7c941bbSAndroid Build Coastguard Worker						-s $(PRIVATE_MIN_SDK) \
96*b7c941bbSAndroid Build Coastguard Worker						-t $(PRIVATE_TARGET_SDK) \
97*b7c941bbSAndroid Build Coastguard Worker						-o $@
98*b7c941bbSAndroid Build Coastguard Worker
99*b7c941bbSAndroid Build Coastguard Worker# Reset variables
100*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_MIN_SDK :=
101*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_TARGET_SDK :=
102*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_PACKAGE :=
103*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_INSTRUMENT :=
104*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_PERMISSIONS :=
105*b7c941bbSAndroid Build Coastguard WorkerDEVICE_INFO_ACTIVITIES :=
106*b7c941bbSAndroid Build Coastguard Worker
107*b7c941bbSAndroid Build Coastguard WorkerLOCAL_FULL_MANIFEST_FILE := $(manifest_xml)
108*b7c941bbSAndroid Build Coastguard Worker# Disable by default
109*b7c941bbSAndroid Build Coastguard WorkerLOCAL_DEX_PREOPT := false
110*b7c941bbSAndroid Build Coastguard WorkerLOCAL_PROGUARD_ENABLED := disabled
111*b7c941bbSAndroid Build Coastguard Worker
112*b7c941bbSAndroid Build Coastguard Worker# Don't include this package in any target
113*b7c941bbSAndroid Build Coastguard WorkerLOCAL_MODULE_TAGS := optional
114*b7c941bbSAndroid Build Coastguard Worker# And when built explicitly put it in the data partition
115*b7c941bbSAndroid Build Coastguard WorkerLOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
116*b7c941bbSAndroid Build Coastguard Worker
117*b7c941bbSAndroid Build Coastguard Worker
118*b7c941bbSAndroid Build Coastguard Worker#TODO(b/72620511) remove this condition when AtsDeviceInfo can be built with SDK again
119*b7c941bbSAndroid Build Coastguard Workerifneq ($(LOCAL_PRIVATE_PLATFORM_APIS),true)
120*b7c941bbSAndroid Build Coastguard WorkerLOCAL_SDK_VERSION := current
121*b7c941bbSAndroid Build Coastguard Workerendif
122*b7c941bbSAndroid Build Coastguard Worker
123*b7c941bbSAndroid Build Coastguard Workerinclude $(BUILD_CTS_SUPPORT_PACKAGE)
124