diff options
-rw-r--r-- | media/lib/signer/Android.mk | 21 | ||||
-rw-r--r-- | media/lib/signer/README.txt | 13 |
2 files changed, 32 insertions, 2 deletions
diff --git a/media/lib/signer/Android.mk b/media/lib/signer/Android.mk index 69ca4d2fc8c5..54aa9688be67 100644 --- a/media/lib/signer/Android.mk +++ b/media/lib/signer/Android.mk @@ -42,3 +42,24 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions LOCAL_SRC_FILES := $(LOCAL_MODULE) include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := com.android.mediadrm.signer.stubs-gen +LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_SRC_FILES := $(call all-java-files-under,java) +LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/com.android.mediadrm.signer.stubs_intermediates/src +LOCAL_DROIDDOC_OPTIONS:= \ + -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \ + -stubpackages com.android.mediadrm.signer \ + -nodocs +LOCAL_UNINSTALLABLE_MODULE := true +include $(BUILD_DROIDDOC) +com_android_mediadrm_signer_gen_stamp := $(full_target) + +include $(CLEAR_VARS) +LOCAL_MODULE := com.android.mediadrm.signer.stubs +LOCAL_SDK_VERSION := current +LOCAL_SOURCE_FILES_ALL_GENERATED := true +LOCAL_ADDITIONAL_DEPENDENCIES := $(com_android_mediadrm_signer_gen_stamp) +com_android_mediadrm_signer_gen_stamp := +include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/media/lib/signer/README.txt b/media/lib/signer/README.txt index 362ab8e668af..55df3fc82eea 100644 --- a/media/lib/signer/README.txt +++ b/media/lib/signer/README.txt @@ -1,10 +1,19 @@ -This library (com.android.mediadrm.signer.jar) is a shared java library +There are two libraries defined in this directory: +First, com.android.mediadrm.signer.jar is a shared java library containing classes required by unbundled apps running on devices that use the certficate provisioning and private key signing capabilities provided by the MediaDrm API. +Second, com.android.mediadrm.signer.stubs.jar is a stub for the shared library +which provides build-time APIs to the unbundled clients. + +At runtime, the shared library is added to the classloader of the app via the +<uses-library> tag. And since Java always tries to load a class from the +parent classloader, regardless of whether the stub library is linked to the +app statically or dynamically, the real classes are loaded from the shared +library. --- Rules of this library --- -o This library is effectively a PUBLIC API for unbundled CAST receivers +o The stub library is effectively a PUBLIC API for unbundled CAST receivers that may be distributed outside the system image. So it MUST BE API STABLE. You can add but not remove. The rules are the same as for the public platform SDK API. |