You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
4.3 KiB
112 lines
4.3 KiB
# Copyright (C) 2015 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.
|
|
|
|
#
|
|
# Builds a package which can be instrumented to retrieve information about the device under test.
|
|
#
|
|
|
|
DEVICE_INFO_PACKAGE := com.android.compatibility.common.deviceinfo
|
|
DEVICE_INFO_INSTRUMENT := androidx.test.runner.AndroidJUnitRunner
|
|
DEVICE_INFO_USES_LIBRARY := android.test.runner
|
|
DEVICE_INFO_USES_OPTIONAL_LIBRARIES := \
|
|
androidx.window.sidecar
|
|
DEVICE_INFO_PERMISSIONS += \
|
|
android.permission.READ_PHONE_STATE \
|
|
android.permission.WRITE_EXTERNAL_STORAGE
|
|
DEVICE_INFO_ACTIVITIES += \
|
|
$(DEVICE_INFO_PACKAGE).AppStandbyDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).ClientIdDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).ConfigurationDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).CpuDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).FeatureDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).GenericDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).GlesStubActivity \
|
|
$(DEVICE_INFO_PACKAGE).GraphicsDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).LocaleDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).MediaDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).MemoryDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).PackageDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).ScreenDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).StorageDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).UserDeviceInfo \
|
|
$(DEVICE_INFO_PACKAGE).VintfDeviceInfo \
|
|
com.android.compatibility.common.util.DummyActivity
|
|
|
|
ifeq ($(DEVICE_INFO_MIN_SDK),)
|
|
DEVICE_INFO_MIN_SDK := 8
|
|
endif
|
|
|
|
ifeq ($(DEVICE_INFO_TARGET_SDK),)
|
|
DEVICE_INFO_TARGET_SDK := 17
|
|
endif
|
|
|
|
# Add the base device info
|
|
LOCAL_STATIC_JAVA_LIBRARIES += compatibility-device-info compatibility-device-util-axt
|
|
|
|
# Generator of APK manifests.
|
|
MANIFEST_GENERATOR_JAR := $(HOST_OUT_JAVA_LIBRARIES)/compatibility-manifest-generator.jar
|
|
MANIFEST_GENERATOR := $(JAVA) -jar $(MANIFEST_GENERATOR_JAR)
|
|
|
|
# Generate the manifest
|
|
manifest_xml := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/AndroidManifest.xml
|
|
$(manifest_xml): PRIVATE_INFO_PERMISSIONS := $(foreach permission, $(DEVICE_INFO_PERMISSIONS),-r $(permission))
|
|
$(manifest_xml): PRIVATE_INFO_ACTIVITIES := $(foreach activity,$(DEVICE_INFO_ACTIVITIES),-a $(activity))
|
|
$(manifest_xml): PRIVATE_USES_LIBRARY := $(DEVICE_INFO_USES_LIBRARY)
|
|
$(manifest_xml): PRIVATE_USES_OPTIONAL_LIBRARIES := $(foreach library,$(DEVICE_INFO_USES_OPTIONAL_LIBRARIES),-lo $(library))
|
|
$(manifest_xml): PRIVATE_PACKAGE := $(DEVICE_INFO_PACKAGE)
|
|
$(manifest_xml): PRIVATE_INSTRUMENT := $(DEVICE_INFO_INSTRUMENT)
|
|
$(manifest_xml): PRIVATE_MIN_SDK := $(DEVICE_INFO_MIN_SDK)
|
|
$(manifest_xml): PRIVATE_TARGET_SDK := $(DEVICE_INFO_TARGET_SDK)
|
|
|
|
# Regenerate manifest.xml if the generator jar, */cts-device-info/Android.mk, or this file is changed.
|
|
$(manifest_xml): $(MANIFEST_GENERATOR_JAR) $(LOCAL_PATH)/Android.mk cts/build/device_info_package.mk
|
|
$(hide) echo Generating manifest for $(PRIVATE_NAME)
|
|
$(hide) mkdir -p $(dir $@)
|
|
$(hide) $(MANIFEST_GENERATOR) \
|
|
$(PRIVATE_INFO_PERMISSIONS) \
|
|
$(PRIVATE_INFO_ACTIVITIES) \
|
|
-l $(PRIVATE_USES_LIBRARY) \
|
|
$(PRIVATE_USES_OPTIONAL_LIBRARIES) \
|
|
-p $(PRIVATE_PACKAGE) \
|
|
-i $(PRIVATE_INSTRUMENT) \
|
|
-s $(PRIVATE_MIN_SDK) \
|
|
-t $(PRIVATE_TARGET_SDK) \
|
|
-o $@
|
|
|
|
# Reset variables
|
|
DEVICE_INFO_MIN_SDK :=
|
|
DEVICE_INFO_TARGET_SDK :=
|
|
DEVICE_INFO_PACKAGE :=
|
|
DEVICE_INFO_INSTRUMENT :=
|
|
DEVICE_INFO_PERMISSIONS :=
|
|
DEVICE_INFO_ACTIVITIES :=
|
|
|
|
LOCAL_FULL_MANIFEST_FILE := $(manifest_xml)
|
|
# Disable by default
|
|
LOCAL_DEX_PREOPT := false
|
|
LOCAL_PROGUARD_ENABLED := disabled
|
|
|
|
# Don't include this package in any target
|
|
LOCAL_MODULE_TAGS := optional
|
|
# And when built explicitly put it in the data partition
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
|
|
|
|
|
|
#TODO(b/72620511) remove this condition when AtsDeviceInfo can be built with SDK again
|
|
ifneq ($(LOCAL_PRIVATE_PLATFORM_APIS),true)
|
|
LOCAL_SDK_VERSION := current
|
|
endif
|
|
|
|
include $(BUILD_CTS_SUPPORT_PACKAGE)
|