diff --git a/test-base/Android.bp b/test-base/Android.bp index b65cda9302a7e4729b329a360946fb4846b070c6..c008eca169244815bbe4ba99e6eadd1543579291 100644 --- a/test-base/Android.bp +++ b/test-base/Android.bp @@ -27,12 +27,8 @@ java_library { // Needs to be consistent with the repackaged version of this make target. java_version: "1.8", - no_framework_libs: true, + sdk_version: "current", hostdex: true, - libs: [ - "framework", - ], - } // Build the legacy-test library @@ -42,12 +38,9 @@ java_library { // Also contains the com.android.internal.util.Predicate[s] classes. java_library { name: "legacy-test", - static_libs: ["android.test.base"], - no_framework_libs: true, - libs: [ - "framework", - ], + sdk_version: "current", + static_libs: ["android.test.base"], } // Build the repackaged.android.test.base library @@ -57,11 +50,8 @@ java_library { java_library_static { name: "repackaged.android.test.base", + sdk_version: "current", static_libs: ["android.test.base"], - no_framework_libs: true, - libs: [ - "framework", - ], jarjar_rules: "jarjar-rules.txt", // Pin java_version until jarjar is certified to support later versions. http://b/72703434 diff --git a/test-base/Android.mk b/test-base/Android.mk index 861385467a0f5b53fb06af7d68181c6e6234eadd..ebb33deb42d372fbe2753a609267c910f5e6e31a 100644 --- a/test-base/Android.mk +++ b/test-base/Android.mk @@ -26,10 +26,7 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES := \ $(call all-java-files-under, src) -LOCAL_JAVA_LIBRARIES := \ - core-oj \ - core-libart \ - framework \ +LOCAL_SDK_VERSION := current LOCAL_MODULE_CLASS := JAVA_LIBRARIES LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src diff --git a/test-legacy/Android.mk b/test-legacy/Android.mk index b8c53266b9f816e6ea4e743971754f1b757cd10c..da47de0a3d35387d6abd030afa4f9336a332f2b9 100644 --- a/test-legacy/Android.mk +++ b/test-legacy/Android.mk @@ -21,16 +21,38 @@ ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) # Build the android.test.legacy library # ===================================== +# Built against the SDK so that it can be statically included in APKs +# without breaking link type checks. +# +# This builds directly from the source rather than simply statically +# including the android.test.base-minus-junit and +# android.test.runner-minus-junit libraries because the latter library +# cannot itself be built against the SDK. That is because it uses on +# an internal method (setTestContext) on the AndroidTestCase class. +# That class is provided by both the android.test.base-minus-junit and +# the current SDK and as the latter is first on the classpath its +# version is used. Unfortunately, it does not provide the internal +# method and so compilation fails. +# +# Building from source avoids that because the compiler will use the +# source version of AndroidTestCase instead of the one from the current +# SDK. +# +# The use of the internal method does not prevent this from being +# statically included because the class that provides the method is +# also included in this library. include $(CLEAR_VARS) LOCAL_MODULE := android.test.legacy +LOCAL_SRC_FILES := \ + $(call all-java-files-under, ../test-base/src/android) \ + $(call all-java-files-under, ../test-base/src/com) \ + $(call all-java-files-under, ../test-runner/src/android) \ + LOCAL_SDK_VERSION := current -LOCAL_JAVA_LIBRARIES := junit -LOCAL_STATIC_JAVA_LIBRARIES := \ - android.test.base-minus-junit \ - android.test.runner-minus-junit \ +LOCAL_JAVA_LIBRARIES := junit android.test.mock.stubs include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/test-mock/Android.mk b/test-mock/Android.mk index 05794a7615c0d4be307b04a78dbfd5f19c487960..15fa12d1298ee3d673a50935ab93559dd9c78963 100644 --- a/test-mock/Android.mk +++ b/test-mock/Android.mk @@ -21,14 +21,14 @@ LOCAL_PATH:= $(call my-dir) # otherwise hidden methods could be visible. android_test_mock_source_files := \ $(call all-java-files-under, src/android/test/mock) \ - $(call all-java-files-under, ../core/java) \ + $(call all-java-files-under, ../core/java/android) # Generate the stub source files for android.test.mock.stubs # ========================================================== include $(CLEAR_VARS) LOCAL_SRC_FILES := $(android_test_mock_source_files) -LOCAL_JAVA_LIBRARIES := core-oj core-libart framework +LOCAL_JAVA_LIBRARIES := core-oj core-libart framework conscrypt okhttp bouncycastle LOCAL_MODULE_CLASS := JAVA_LIBRARIES LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src/android/test/mock @@ -39,6 +39,7 @@ ANDROID_TEST_MOCK_API_FILE := $(LOCAL_PATH)/api/android-test-mock-current.txt ANDROID_TEST_MOCK_REMOVED_API_FILE := $(LOCAL_PATH)/api/android-test-mock-removed.txt LOCAL_DROIDDOC_OPTIONS:= \ + -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \ -stubpackages android.test.mock \ -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/src \ -nodocs \ @@ -67,6 +68,7 @@ LOCAL_SOURCE_FILES_ALL_GENERATED := true # Make sure to run droiddoc first to generate the stub source files. LOCAL_ADDITIONAL_DEPENDENCIES := $(android_test_mock_gen_stamp) +android_test_mock_gen_stamp := LOCAL_SDK_VERSION := current diff --git a/test-runner/Android.bp b/test-runner/Android.bp index 66b95271ee0664f30ce153f82a595e8b244be90d..938bb4efe7ba6c629b1b0238d67c0c28ef9c34f2 100644 --- a/test-runner/Android.bp +++ b/test-runner/Android.bp @@ -33,8 +33,8 @@ java_library { // Build the android.test.runner-minus-junit library // ================================================= -// This is only intended for inclusion in the android.test.legacy and -// legacy-android-test static libraries and must not be used elsewhere. +// This is only intended for inclusion in the legacy-android-test static +// library and must not be used elsewhere. java_library { name: "android.test.runner-minus-junit",