Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e556091 authored by Ying Wang's avatar Ying Wang
Browse files

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
parent c04a8282
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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.
+23 −0
Original line number Diff line number Diff line
@@ -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)