From ded4fd729b50d5298e77199194996d22d3b573cf Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Thu, 22 Feb 2018 16:04:02 +0900 Subject: [PATCH] Fix link-type check warning on com.android.nfc_extras The library has been built without SDK, and is used by an app NfcExtrasTests that is built with SDK. Such this SDK -> non-SDK dependency has been causing link-type check warnings, which will turn into errors soon. This change fixes the warning by making a stub library com.android.nfc_extras.stubs from the runtime library and let the app to link against the stub library. Since the stubs library does not use any private APIs, it is built with SDK. Bug: 69899800 Test: m -j NfcExtrasTests is successful and does not show any link-type check warning. Change-Id: I57980ccbc9036d7cc6df114a975a384d10a2962b --- nfc-extras/Android.mk | 32 ++++++++++++++++++++++++++------ nfc-extras/tests/Android.mk | 2 +- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/nfc-extras/Android.mk b/nfc-extras/Android.mk index dc45a50968f62..03de00cc5d415 100644 --- a/nfc-extras/Android.mk +++ b/nfc-extras/Android.mk @@ -1,13 +1,33 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) - +LOCAL_MODULE := com.android.nfc_extras LOCAL_MODULE_TAGS := optional - -LOCAL_SRC_FILES := $(call all-java-files-under, java) - -LOCAL_MODULE:= com.android.nfc_extras - +LOCAL_SRC_FILES := $(call all-java-files-under,java) include $(BUILD_JAVA_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := com.android.nfc_extras-stubs-gen +LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_SRC_FILES := $(call all-java-files-under,java) +# This is to reference SdkConstant annotation; not part of this lib. +LOCAL_DROIDDOC_SOURCE_PATH := frameworks/base/core/java/android/annotation +LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/com.android.nfc_extras.stubs_intermediates/src +LOCAL_DROIDDOC_OPTIONS:= \ + -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \ + -stubpackages com.android.nfc_extras \ + -nodocs +LOCAL_UNINSTALLABLE_MODULE := true +include $(BUILD_DROIDDOC) +com_android_nfc_extras_gen_stamp := $(full_target) + +include $(CLEAR_VARS) +LOCAL_MODULE := com.android.nfc_extras.stubs +# This is to reference SdkConstant annotation; not part of this lib. +LOCAL_SRC_FILES := ../core/java/android/annotation/SdkConstant.java +LOCAL_SDK_VERSION := current +LOCAL_ADDITIONAL_DEPENDENCIES := $(com_android_nfc_extras_gen_stamp) +com_android_nfc_extras_gen_stamp := +include $(BUILD_STATIC_JAVA_LIBRARY) + include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/nfc-extras/tests/Android.mk b/nfc-extras/tests/Android.mk index 51396d3346e9f..8bba3ba99974d 100644 --- a/nfc-extras/tests/Android.mk +++ b/nfc-extras/tests/Android.mk @@ -20,7 +20,7 @@ LOCAL_MODULE_TAGS := tests LOCAL_JAVA_LIBRARIES := \ android.test.runner.stubs \ - com.android.nfc_extras \ + com.android.nfc_extras.stubs \ android.test.base.stubs LOCAL_STATIC_JAVA_LIBRARIES := junit