summaryrefslogtreecommitdiffstats
path: root/core/install_jni_libs_internal.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2014-07-17 21:24:42 -0700
committerYing Wang <wangying@google.com>2014-07-18 16:26:24 -0700
commitaf9757e84940a3d3f4a4b88d2f1ed259d4f43c02 (patch)
treecf56b0c807de53b97b4f718dd838ed96516a121f /core/install_jni_libs_internal.mk
parent1756474d873130d3340310782bc397733c80a8b6 (diff)
downloadbuild-af9757e84940a3d3f4a4b88d2f1ed259d4f43c02.zip
build-af9757e84940a3d3f4a4b88d2f1ed259d4f43c02.tar.gz
build-af9757e84940a3d3f4a4b88d2f1ed259d4f43c02.tar.bz2
New installation path for apks and their JNIs.
Apk's path is changed to <parent_dir>/MyApp/MyApp.apk; JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so. Symlinks of JNIs are changed accordingly. Bug: 16319961 Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
Diffstat (limited to 'core/install_jni_libs_internal.mk')
-rw-r--r--core/install_jni_libs_internal.mk10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/install_jni_libs_internal.mk b/core/install_jni_libs_internal.mk
index eb90c50..944420b 100644
--- a/core/install_jni_libs_internal.mk
+++ b/core/install_jni_libs_internal.mk
@@ -18,7 +18,7 @@ my_jni_shared_libraries := \
$(LOCAL_JNI_SHARED_LIBRARIES)))
# App-specific lib path.
-my_app_lib_path := $($(my_2nd_arch_prefix)TARGET_OUT$(partition_tag)_SHARED_LIBRARIES)/$(basename $(my_installed_module_stem))
+my_app_lib_path := $(dir $(LOCAL_INSTALLED_MODULE))lib/$(TARGET_$(my_2nd_arch_prefix)ARCH)
my_extracted_jni_libs :=
ifdef my_embed_jni
@@ -54,16 +54,20 @@ ifneq ($(my_jni_shared_libraries),)
# The jni libaries will be installed to the system.img.
my_jni_filenames := $(notdir $(my_jni_shared_libraries))
# Make sure the JNI libraries get installed
-$(LOCAL_INSTALLED_MODULE) : | $(addprefix $($(my_2nd_arch_prefix)TARGET_OUT$(partition_tag)_SHARED_LIBRARIES)/, $(my_jni_filenames))
+my_shared_library_path := $($(my_2nd_arch_prefix)TARGET_OUT$(partition_tag)_SHARED_LIBRARIES)
+$(LOCAL_INSTALLED_MODULE) : | $(addprefix $(my_shared_library_path)/, $(my_jni_filenames))
# Create symlink in the app specific lib path
ifdef LOCAL_POST_INSTALL_CMD
# Add a shell command separator
LOCAL_POST_INSTALL_CMD += ;
endif
+
+my_symlink_target_dir := $(patsubst $(PRODUCT_OUT)%,%,\
+ $(my_shared_library_path))
LOCAL_POST_INSTALL_CMD += \
mkdir -p $(my_app_lib_path) \
- $(foreach lib, $(my_jni_filenames), ;ln -sf ../$(lib) $(my_app_lib_path)/$(lib))
+ $(foreach lib, $(my_jni_filenames), ;ln -sf $(my_symlink_target_dir)/$(lib) $(my_app_lib_path)/$(lib))
$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
# Clear jni_shared_libraries to not embed it into the apk.