allow prebuilts to specify LOCAL_CERTIFICATE so they can be resigned

If a prebuilt specifies a LOCAL_CERTIFICATE, stick it in the
PACKAGES.* collection so that the predexopt process can work on the
file (which only works if the new .apk can be signed).
diff --git a/core/prebuilt.mk b/core/prebuilt.mk
index 34d2453..4cbbb99 100644
--- a/core/prebuilt.mk
+++ b/core/prebuilt.mk
@@ -40,6 +40,21 @@
 endif
 endif
 
+ifeq ($(LOCAL_CERTIFICATE),)
+  # can't re-sign this package, so predexopt is not available.
+else
+
+# If this is not an absolute certificate, assign it to a generic one.
+ifeq ($(dir $(strip $(LOCAL_CERTIFICATE))),./)
+    LOCAL_CERTIFICATE := $(SRC_TARGET_DIR)/product/security/$(LOCAL_CERTIFICATE)
+endif
+
+PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(LOCAL_CERTIFICATE).pk8
+PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE).x509.pem
+PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
+
+endif
+
 ifneq ($(prebuilt_module_is_a_library),)
   ifneq ($(LOCAL_IS_HOST_MODULE),)
 	$(transform-host-ranlib-copy-hack)