Support to dist unbundled files for bundled build

Usage:
LOCAL_DIST_BUNDLED_BINARIES := true
The dist files will include the jni shared libraries and the apk with
jni libraries stripped.

Bug: 8181626
Change-Id: I4a047d786ad35b948b4ad7a51adf37321dbe395c
This commit is contained in:
Ying Wang 2013-04-10 19:17:41 -07:00
parent c04a828222
commit 3e55609134
2 changed files with 24 additions and 0 deletions

View File

@ -135,6 +135,7 @@ LOCAL_DONT_DELETE_JAR_META_INF:=
LOCAL_ADDITIONAL_CERTIFICATES:=
LOCAL_PREBUILT_MODULE_FILE:=
LOCAL_POST_INSTALL_CMD:=
LOCAL_DIST_BUNDLED_BINARIES:=
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
# iterate over thousands of entries every time.

View File

@ -447,6 +447,29 @@ endif
PACKAGES := $(PACKAGES) $(LOCAL_PACKAGE_NAME)
# Dist the files that can be bundled in system.img.
# They include the jni shared libraries and the apk with jni libraries stripped.
ifeq ($(LOCAL_DIST_BUNDLED_BINARIES),true)
ifneq ($(filter $(LOCAL_PACKAGE_NAME),$(TARGET_BUILD_APPS)),)
ifneq ($(strip $(jni_shared_libraries)),)
dist_subdir := bundled_$(LOCAL_PACKAGE_NAME)
$(foreach f, $(jni_shared_libraries), \
$(call dist-for-goals, apps_only, $(f):$(dist_subdir)/$(notdir $(f))))
apk_jni_stripped := $(intermediates)/jni_stripped/package.apk
$(apk_jni_stripped): PRIVATE_JNI_SHARED_LIBRARIES := $(notdir $(jni_shared_libraries))
$(apk_jni_stripped) : $(LOCAL_BUILT_MODULE) | $(ZIPALIGN)
@rm -rf $(dir $@) && mkdir -p $(dir $@)
$(hide) cp $< $@
$(hide) zip -d $@ $(foreach f,$(PRIVATE_JNI_SHARED_LIBRARIES),\*/$(f))
$(call align-package)
$(call dist-for-goals, apps_only, $(apk_jni_stripped):$(dist_subdir)/$(LOCAL_PACKAGE_NAME).apk)
endif # jni_shared_libraries
endif # apps_only build
endif # LOCAL_DIST_BUNDLED_BINARIES
# Lint phony targets
.PHONY: lint-$(LOCAL_PACKAGE_NAME)
lint-$(LOCAL_PACKAGE_NAME): PRIVATE_PATH := $(LOCAL_PATH)