android.test.base/runner/mock libraries are shared libraries that are built without SDK, but with framework interanl libraries (framework.jar, etc). Apps or libs that are built with SDK (LOCAL_SDK_VERSION is set) shouldn't use them, but instead the stubs version of the test framework libraries, which are built using SDK. This is because, the build system does not allow a module built with SDK to depend on another module built without SDK. This has been exceptionally allowed with warnings, but will soon be errors. In order to prevent the expected build breakage, direct reference to the shared libraries are all changed to the stubs libraries. Note: no one has been using these shared libs statically. So, it is guaranteed that they won't encounter a problem due to missing <uses-library name="android.test.runner"/> even after this change. Bug: 69899800 Test: m -j checkbuild Change-Id: I7f25e0127c52c56adf288163a760f3dc9aee6586
26 lines
664 B
Makefile
26 lines
664 B
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
include $(CLEAR_VARS)
|
|
|
|
# We only want this apk build for tests.
|
|
LOCAL_MODULE_TAGS := tests
|
|
|
|
LOCAL_JAVA_LIBRARIES := android.test.runner.stubs android.test.base.stubs
|
|
|
|
LOCAL_STATIC_JAVA_LIBRARIES := junit
|
|
|
|
# Include all test java files.
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
|
|
|
# Notice that we don't have to include the src files of ApiDemos because, by
|
|
# running the tests using an instrumentation targeting ApiDemos, we
|
|
# automatically get all of its classes loaded into our environment.
|
|
|
|
LOCAL_PACKAGE_NAME := ApiDemosTests
|
|
|
|
LOCAL_INSTRUMENTATION_FOR := ApiDemos
|
|
|
|
LOCAL_SDK_VERSION := current
|
|
|
|
include $(BUILD_PACKAGE)
|
|
|