diff options
author | Ying Wang <wangying@google.com> | 2014-07-17 21:24:42 -0700 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2014-07-18 16:26:24 -0700 |
commit | af9757e84940a3d3f4a4b88d2f1ed259d4f43c02 (patch) | |
tree | cf56b0c807de53b97b4f718dd838ed96516a121f /core/install_jni_libs_internal.mk | |
parent | 1756474d873130d3340310782bc397733c80a8b6 (diff) | |
download | build-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.mk | 10 |
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. |