History log of /build/core/install_jni_libs_internal.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
445553f4e7f661f200ed9387ff2ab3ef98f65425 07-Dec-2016 Andreas Gampe <agampe@google.com> Build: Skip JNI lib symlink in second-stage build

When creating a sanitized image, skip creating JNI library
symlinks in the second round.

Bug: 33279120
Test: m && m SANITIZE_TARGET=address & ls -l $OUT/system/app/NfcNci/lib/*
Change-Id: Ib5eace9a49eb8b693603ba5cc59e392d575c44e3
/build/make/core/install_jni_libs_internal.mk
121e284b460afc3603b88883563ad3156aa2de4d 15-Sep-2016 Dan Willemsen <dwillemsen@google.com> Fix link_type checking

This was printing "error:", but not actually triggering an error.
Instead of trying to write a single line bash script to handle this,
move the actual check into python. This allows us to print all of the
errors for a single module before triggering the failure.

Also updates the warning format and the warn.py script to properly parse
these warning. Many of the java:sdk -> java:platform warnings are false
positives due to the lack of LOCAL_SDK_VERSION markings on prebuilts.

Individual tags can be marked as warnings now, which lets us check for
system libraries linking against vendor libraries (which won't work on
AOSP). I'm not sure this is a completely valid check, which one reason
that it's just a warning.

Test: m all_link_types (with some missing libs commented out)
Change-Id: I333e418c9a4511b7c7e826891ae481da08fbf6f9
/build/make/core/install_jni_libs_internal.mk
609fa6c0c3f2fa92dc5ffa016866600ba3999816 09-Aug-2016 Dan Albert <danalbert@google.com> Account for `LOCAL_NDK_VERSION` when packaging.

Previously an app built with `LOCAL_NDK_VERSION := r10` would still
be packaged with r11's library.

Test: make checkbuild
Change-Id: I1dcbd65057adaa1af605b9770283f7da994fc3cf
/build/make/core/install_jni_libs_internal.mk
b097fbed0a035198c67c3a5ffa61cae75c08537f 07-Jun-2016 Dan Willemsen <dwillemsen@google.com> Check that NDK-built modules only link to NDK-built modules

Modules built against the NDK should only link against modules also
built against the NDK (or link to the NDK prebuilts). This patch
attempts to catch these cases, and prints a large warning when this is
violated. Once the tree is cleaned up, this will change to an error.

Change-Id: Ib6ffcc38d9161abdbe45a58af26ba429fb6f1876
/build/make/core/install_jni_libs_internal.mk
d358f826e779b9ee340d2d2faea433c8a3d0f2d3 16-Oct-2015 Ying Wang <wangying@google.com> Use direct dependency on the JNI so files.

With the order-only dependency if the jni so files is updated,
make won't rebuild the system.img, which has dependency only on the apk
file.

Bug: 24865400
Change-Id: I9d5bee82b8a712a2c24dabaa0cd4c50174ea219f
/build/make/core/install_jni_libs_internal.mk
1fb0152ff7bf24b565b44a57e51290f2a5430107 01-May-2015 Ying Wang <wangying@google.com> Don't extract jni from prebuilt apks.

- We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always
page-align jni shared libraries and store them umcompressed.
- For prebuilt apks, we don't extract jni any more; Instead we always run
uncompress-shared-libs on them.
- For apks built from source, we still install the jni separately, because
that way multiple apks can share the same jni and it saves space.

With this change, for most prebuilt apks, we don't need to specify
LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build
system automatically replaces the embedded jni with uncompressed files;
But if a prebuilt is a fat apk (i.e. containing jni not needed by the
current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to
specify what jni to keep. Otherwise all embedded jni will be replaced with
uncompressed files, that wastes space.

Bug: 8076853
Change-Id: Ic3666dc72bf17cd293787414dd185470b365f967
/build/make/core/install_jni_libs_internal.mk
97dfa3177d9594f9691424052b2a85befeb0b3d8 04-May-2015 Ying Wang <wangying@google.com> Revert "Don't extract jni from prebuilt apks."

This reverts commit 3797466fbd31cc3ca5a1eddea64e7fdf0921ea67.

Bug: 20810492
Bug: 20811499
Change-Id: Ic922d9daccc4550db489c0f3d4ad6b4ff85b5e60
/build/make/core/install_jni_libs_internal.mk
3797466fbd31cc3ca5a1eddea64e7fdf0921ea67 01-May-2015 Ying Wang <wangying@google.com> Don't extract jni from prebuilt apks.

- We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always
page-align jni shared libraries and store them umcompressed.
- For prebuilt apks, we don't extract jni any more; Instead we always run
uncompress-shared-libs on them.
- For apks built from source, we still install the jni separately, because
that way multiple apks can share the same jni and it saves space.

With this change, for most prebuilt apks, we don't need to specify
LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build
system automatically replaces the embedded jni with uncompressed files;
But if a prebuilt is a fat apk (i.e. containing jni not needed by the
current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to
specify what jni to keep. Otherwise all embedded jni will be replaced with
uncompressed files, that wastes space.

Bug: 8076853
Change-Id: Icf07e0998ac3602e6e05e80fed836fbafca33e01
/build/make/core/install_jni_libs_internal.mk
445e111def0f955df7f9cb6ae7269dc9492cff38 18-Apr-2015 Nick Kralevich <nnk@google.com> Error out if LOCAL_PREBUILT_JNI_LIBS and LOCAL_CERTIFICATE := PRESIGNED are used

LOCAL_PREBUILT_JNI_LIBS is an indication to the build system that
all shared libraries should be deleted from an APK, and the shared
libraries should be placed in the application's /system/app directory.

However, using this option isn't appropriate for pre-signed APKs.
Any attempt to delete files from a pre-signed APK will corrupt it's
signature or waste disk space.

Bug: 20247329
Bug: 8076853
Bug: 1162500
Change-Id: I89ce8f06d3889dd79dd9ffe86fc5fa60814498ad
/build/make/core/install_jni_libs_internal.mk
e66d7c1de0a888785cdbf697bebe53be7ed83380 12-Feb-2015 Ying Wang <wangying@google.com> Support LOCAL_PREBUILT_JNI_LIBS in unbundled build.

Package up LOCAL_PREBUILT_JNI_LIBS when you do tapas (apps_only) build.

Change-Id: Ibdc920fee22d4940eebee080a940e8e9492c06cb
/build/make/core/install_jni_libs_internal.mk
af9757e84940a3d3f4a4b88d2f1ed259d4f43c02 18-Jul-2014 Ying Wang <wangying@google.com> 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
/build/make/core/install_jni_libs_internal.mk
731322a90d2a67429a3f083fb461fde7a7dbcd3b 02-Jul-2014 Dan Willemsen <dwillemsen@nvidia.com> Fix partition_tag usage in install_jni_libs

This was expanding to TARGET_VENDOR_OUT_SHARED_LIBRARIES which was
empty. It should be expanding to TARGET_OUT_VENDOR_SHARED_LIBRARIES.

Change-Id: I32fe22e3e0b91a6d41f6a09a33d3ce2e4061d078
/build/make/core/install_jni_libs_internal.mk
8e20ef6205b3c96135b1c1e4484d523dbecb1b98 25-Jun-2014 Ying Wang <wangying@google.com> Support to add JNI of both archs in multilib build.

Use "LOCAL_MULTILIB := both" to install jni libraries of both archs in
multilib build.
The build system will package jni of both archs to the apk, or install
them to the right location on the system image and create symlinks,
extract .so files from prebuilt apk, etc if appropriate.

Bug: 15849902
Change-Id: I7e147b5a47db476584c38250de7b36c75ea40d81
/build/make/core/install_jni_libs_internal.mk