Additional certificates support for an apk.
Change-Id: I5b35d5728ba9d65f7ece956127270a9ca2ea0efe
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index e7edbf3..853f9a0 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -128,6 +128,7 @@
LOCAL_SOURCE_FILES_ALL_GENERATED:= # '',true
# Don't delete the META_INF dir when merging static Java libraries.
LOCAL_DONT_DELETE_JAR_META_INF:=
+LOCAL_ADDITIONAL_CERTIFICATES:=
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
# iterate over thousands of entries every time.
diff --git a/core/definitions.mk b/core/definitions.mk
index 97a909b..8926b2b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1659,7 +1659,8 @@
define sign-package
$(hide) mv $@ $@.unsigned
$(hide) java -jar $(SIGNAPK_JAR) \
- $(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) $@.unsigned $@.signed
+ $(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) \
+ $(PRIVATE_ADDITIONAL_CERTIFICATES) $@.unsigned $@.signed
$(hide) mv $@.signed $@
endef
diff --git a/core/package.mk b/core/package.mk
index 358caee..3af1afb 100644
--- a/core/package.mk
+++ b/core/package.mk
@@ -376,6 +376,9 @@
PACKAGES.$(LOCAL_PACKAGE_NAME).PRIVATE_KEY := $(private_key)
PACKAGES.$(LOCAL_PACKAGE_NAME).CERTIFICATE := $(certificate)
+$(LOCAL_BUILT_MODULE): PRIVATE_ADDITIONAL_CERTIFICATES := $(foreach c,\
+ $(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8)
+
# Define the rule to build the actual package.
$(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN)
ifdef LOCAL_DEX_PREOPT