diff options
author | Dmitriy Ivanov <dimitry@google.com> | 2014-07-23 15:27:21 -0700 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2015-02-26 12:31:40 +0000 |
commit | 13e5965306212a9051772ff1d5bc3a88e5fb519a (patch) | |
tree | a7f9df0715cae66a22c1901522f520bd561e3b70 /core/package_internal.mk | |
parent | 876f45e73f938cdaa7cfc25c43822fc6b274f105 (diff) | |
download | build-13e5965306212a9051772ff1d5bc3a88e5fb519a.zip build-13e5965306212a9051772ff1d5bc3a88e5fb519a.tar.gz build-13e5965306212a9051772ff1d5bc3a88e5fb519a.tar.bz2 |
Store native libs aligned to PAGE_SIZE
- Add a new flag to zipalign (-p) that page aligns shared
libraries (zip entries ending with ".so") in the archive.
- Add a new build variable LOCAL_PAGE_ALIGN_SHARED_LIBRARIES
to turn on this behaviour in zipalign.
- Add a new LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS to control
zip behaviour.
Bug: 8076853
Bug: 19330157
Co-Authored-By: Simon Baldwin <simonb@google.com>
Co-Authored-By: Dimitry Ivanov <dimitry@google.com>
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
Diffstat (limited to 'core/package_internal.mk')
-rw-r--r-- | core/package_internal.mk | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/package_internal.mk b/core/package_internal.mk index 49a6d9b..f5e6c25 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -63,6 +63,14 @@ ifeq ($(LOCAL_MODULE_TAGS),) LOCAL_MODULE_TAGS := optional endif +ifeq ($(LOCAL_PACKAGE_ALIGNMENT),) +LOCAL_PACKAGE_ALIGNMENT := $(DEFAULT_PACKAGE_ALIGNMENT) +endif + +ifeq ($(LOCAL_JNI_SHARED_LIBRARIES_PACKAGE_ALIGNMENT),) +LOCAL_JNI_SHARED_LIBRARIES_PACKAGE_ALIGNMENT := $(DEFAULT_JNI_SHARED_LIBRARIES_PACKAGE_ALIGNMENT) +endif + ifeq ($(filter tests, $(LOCAL_MODULE_TAGS)),) # Force localization check if it's not tagged as tests. LOCAL_AAPT_FLAGS := $(LOCAL_AAPT_FLAGS) -z @@ -373,6 +381,8 @@ $(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN) $(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES := $(jni_shared_libraries_with_abis) # PRIVATE_JNI_SHARED_LIBRARIES_ABI is a list of ABI names. $(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES_ABI := $(jni_shared_libraries_abis) +$(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES_ZIP_OPTIONS := $(LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS) +$(LOCAL_BUILT_MODULE): PRIVATE_PAGE_ALIGN_JNI_SHARED_LIBRARIES := $(LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES) ifneq ($(TARGET_BUILD_APPS),) # Include all resources for unbundled apps. LOCAL_AAPT_INCLUDE_ALL_RESOURCES := true @@ -485,7 +495,7 @@ $(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) + $(align-package) $(call dist-for-goals, apps_only, $(apk_jni_stripped):$(dist_subdir)/$(LOCAL_PACKAGE_NAME).apk) |