a07f3057d00a1da240099aa77d55aaf83362c489 |
|
22-Aug-2017 |
Jiyong Park <jiyong@google.com> |
vendor apk is unbundled For devices where VNDK restrictions are all enforced, vendor apks are recognized as unbundled; since system partition and vendor partition can be updated independently from each other. However, since vendor apks are still bundled in the vendor partition, they are allowed to do more than ordinaly unbundled apks that are downloaded and installed to the data partition. 1) /vendor/lib is allowed. So the path is added to the search_paths and permitted paths of the classloader namespace. 2) LLNDK libs are allowed in addition to the NDK libs. So, LLNDK lib list from llndk.libraries.txt is added to the list from public.libraries.txt. 3) VNDK-SP libs are allowed. To do so, the classloader namespace is linked to the 'vndk' namespace where VNDK-SP libs are searched and loaded from. The list of available VNDK-SP libs is read from vndksp.libraries.txt file. 4) Name of the namespace is changed to 'vendor-classloader-namespace' since the namespace is configured differently from the ordinary 'classloader-namespace'. Bug: 63553457 Test: 2017 pixel devices build and boots to the UI Test: a vendor apk (e.g. TimeService.apk) works. Turn the airplain mode on. Set time. Reboot the device. The time is not reset. Test: 1) set target as 2017 pixel 2) m -j CtsVendorJniTestCases 3) copy the built apk into /vendor/app/CtsVendorJniTestCases 4) reboot / factory reset 5) adb shell am instrument -w android.jni.vendor.cts Change-Id: I447452eb025c0a0fd076b5c9ac081d453dc6074e
/system/core/libnativeloader/native_loader.cpp
|
00fe3ad7287fa62c09d9ab707c71ca9f3f7a8404 |
|
19-Jul-2017 |
Steven Moreland <smoreland@google.com> |
system/core: use proper nativehelper headers libnativeheader exports headers under nativeheader. These were available before incorrectly as global headers in order to give access to jni.h. Test: modules using system/core find headers Bug: 63762847 Change-Id: I86240f7857dd815100cab32ad261aa9a0a54329c
/system/core/libnativeloader/native_loader.cpp
|
882cad2d87fc003ced61ddf9d68f8810ec8c4b3f |
|
02-May-2017 |
Dimitry Ivanov <dimitry@google.com> |
Load vendor public libraries to sphal namespace Load vendor public libraries to sphal namespace if it exists - preserve old behavior of loading these libraries to default namespace if sphal namespace is not present on the device. Bug: http://b/37410104 Test: cts-tradefed run singleCommand cts --skip-preconditions -m CtsJniTestCases on marlin (with enabled sphal configuration) and on angler where ld.config.txt is not present. Change-Id: Iaa3fa437ba2900acc2e5b9c78039fe1553e4c9dd (cherry picked from commit af0264bbe9f5e1228eb8fb486fa3d0d8e6e8605e)
/system/core/libnativeloader/native_loader.cpp
|
9e253ce6b7aea5a1a6f761d94a7471bb88574e53 |
|
09-May-2017 |
Dimitry Ivanov <dimitry@google.com> |
Explicitly enable greylist for classloader-namespaces The linker no longer enables greylist by default, it needs to be explicitly enabled by specifying corresponding flag. Bug: https://issuetracker.google.com/38146125 Test: builds Change-Id: Ib593f2d9a35dbadffb436f5fbc9a2a7a8f64ada0 (cherry picked from commit 058b2ea8c52ed8ce33442eda3a39e49ecd11e6dd)
/system/core/libnativeloader/native_loader.cpp
|
e8fb11dfa1b376124d0a1a349c8800799f25606a |
|
27-Feb-2017 |
Zhenhua WANG <zhenhua.wang@intel.com> |
NativeBridge: add "linked namespace" semantic corresponding to linker For dynamic linking perspective, semantics of NativeBridge needs to align with dynamic linker. This patch adds "linked namespace" semantic which shares some libraries from one namespace to another. Test: make test-art-host-run-test-115-native-bridge Change-Id: I71ce1dde19d61363d5eb9731fd4795a8c315b3a0
/system/core/libnativeloader/native_loader.cpp
|
fd87c062abb0c1600e068f477699530e9c6758ed |
|
11-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Replace public library list with shared lib sonames"
|
26e1a846ef6b3bda9386fba405ea4485056b4e62 |
|
03-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Replace public library list with shared lib sonames Call updated interface in order to setup anonymous and classloader namespaces Bug: http://b/26833548 Test: build & boot angler Change-Id: I1fae5d9c015f2026563eb64d986c622c1b68effb
/system/core/libnativeloader/native_loader.cpp
|
6b7425881860c7b16d4228a27ed2b2119aba0bda |
|
06-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Log errors from loading public libraries"
|
15a264e65c0df7574f2e8f2406ee6427b084cfff |
|
04-Feb-2017 |
Evan Ralston <eralston@amazon.com> |
Log errors from loading public libraries Prevent the boot from failing silently if one of the public libraries does not exist. Test: Add invalid element to public libraries and observe log is emited during boot failure. Change-Id: I0425085a1cc081068954f327f15be853a3ccd553
/system/core/libnativeloader/native_loader.cpp
|
b75d82b42a52faa66a6c00d46bf0de6391c95db4 |
|
10-Jan-2017 |
Jesse Hall <jessehall@google.com> |
Make dlext_namespaces.h available to users of libnativeloader Bug: 33531483 Test: build Change-Id: I1da92e2b1437b6775a9d81fc6c1a2d4bacecbc04 (cherry picked from commit 0936d25371e4f2618bf5760583a60dd542740542)
/system/core/libnativeloader/native_loader.cpp
|
30f991f251940be3ed11566fb71139852286f68a |
|
10-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
liblog: use log/log.h when utilizing ALOG macros Test: compile Bug: 30465923 Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
/system/core/libnativeloader/native_loader.cpp
|
d836ab005a3fd70e477a01d4200483131a285c9a |
|
03-Nov-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow different namespace types for different classloaders An app should be able to make cross-arch calls to different apps via other app's Context.getClassLoader() Bug: 32542970 Test: Boot fugu. Check that there are no linker-namespace related errors in the log. Change-Id: I1593f4688bcde0121a5e24a707441a4935fa7dc4
/system/core/libnativeloader/native_loader.cpp
|
800083d229fbf4ab4008e73205679556b058748b |
|
01-Nov-2016 |
Dimitry Ivanov <dimitry@google.com> |
Return nullptr from FindNamespaceByClassLoader for NB-enabled apps. This function is always called by the frameworks in order to initialize vulkan layer path. For NB apps returning nullptr disables vulkan layer library lookup as expected. Bug: http://b/32542970 Test: mm Change-Id: I426b2b9f5ea7227b00f063ed6040f37bb2b4f21f
/system/core/libnativeloader/native_loader.cpp
|
f2804e59854c2c7e7d3d5b58f987e5ec5cdc5b66 |
|
30-May-2016 |
Zhenhua WANG <zhenhua.wang@intel.com> |
Upgrade native bridge to version 3 to support namespace Native bridge implements namespace related interfaces in version 3. The namespace semantic here is same as Android dynamic linker's. Native loader wraps library loading functions of dynamic linker and native bridge. Thus, Android runtime is able to load native library of different ISA on one device by calling native loader directly. Bug: http://b/28242460 Test: mm && make test-art-host -j48 Change-Id: Idde2b9d99fb6ebe547407c716b5478a231f745a7 Signed-off-by: Zhenhua WANG <zhenhua.wang@intel.com>
/system/core/libnativeloader/native_loader.cpp
|
ff2dcd9af994a23ed483939a416b48bdc10eefd5 |
|
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
system/core Replace log/log.h with android/log.h Should use android/log.h instead of log/log.h as a good example to all others. Adjust header order to comply with Android Coding standards. Test: Compile Bug: 26552300 Bug: 31289077 Change-Id: I33a8fb4e754d2dc4754d335660c450e0a67190fc
/system/core/libnativeloader/native_loader.cpp
|
1b4f54e8786da5fbf50a06fc9ce5e18eed916b53 |
|
22-Jun-2016 |
Christopher Ferris <cferris@google.com> |
Merge \"Add support to indicate bitness of public library.\" am: 3fb358478f Change-Id: Ia5a7580cb26dbafa5863ae5d85aaaccb62936921
|
39da84b06cf53f87ae535a685b315c1584bba7cb |
|
22-Jun-2016 |
Christopher Ferris <cferris@google.com> |
Add support to indicate bitness of public library. For public vendor libraries, a vendor might have only a 32 bit or only a 64 bit version of the library. Add a way to indicate this in the public.libraries.txt files. The new format is: library.so 32 This indicates that this is a 32 bit only public library. library.so 64 This indicates that this is a 64 bit only public library. Bug: 29370721 Bug: 29512261 (cherry picked from commit 6664a805cae6983c7a19caf8abbe88ad2d918bcb) Change-Id: Id52c8b61d5c802ce62edda7e25f2755f6f93d6b7
/system/core/libnativeloader/native_loader.cpp
|
fcd4ee48a4f29c3271e4a3d0f5174f9d6a7042c9 |
|
24-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Remove target_sdk_version parameter" into nyc-dev am: 07f46c84e6 * commit '07f46c84e614e2635e8072403dce8f17cc9285ba': Remove target_sdk_version parameter Change-Id: Idf4bca526e7a40064518ad0e5ccc5aa1f63dbe75
|
94ee4e690dc4e529a27561b9e0d1e52a0dddc7d5 |
|
24-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Remove target_sdk_version parameter Since linker-namespaces are enabled for all target_sdk_versions and there is no longer need in workarounds in libnativeloader - remove unused target_sdk_version parameter for internal calls. This also brings libnativeloader closer to aosp/master Bug: http://b/26040253 Change-Id: I7d6f6ac31be0dca5f3c3f6ea20e6cc87ce3a3c7f
/system/core/libnativeloader/native_loader.cpp
|
e17c2efc4c6a49c5c02061d90b9d5384c94eddce |
|
18-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Set parent namespace for linker-namespaces" am: ac50d0cc57 am: 3457aba394 * commit '3457aba39480e85d582dd6890c4c72e418958782': Set parent namespace for linker-namespaces Change-Id: I20ea9239e95377894f477c33cf65bc7da7ad1e5a
|
ade364b4566212a0c16920443a84aa85ac31f781 |
|
13-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Set parent namespace for linker-namespaces This change allows applications to share RTLD_GLOBAL native libraries between namespaces associated with different classloaders. The rule is - if a library is GLOBAL within namespace associated with parent classloader, it is shared with namespace associated with this classloader Note that the sharing happens on create_namespace event, which is tied to createClassloader in case of application classloaders created by the framework, for custom application classloaders it is tied to first loadLibrary() event. Bug: http://b/28560538 Bug: https://code.google.com/p/android/issues/detail?id=208458 Change-Id: I7ee701166f8ec5eff033b7acc0f80c7aa4ec5bda (cherry picked from commit 24db75c1ce7ff8376a475214b059b9a37ac07936)
/system/core/libnativeloader/native_loader.cpp
|
d98683f415db73668378e1945d4eb5c9dc2d0a18 |
|
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. am: 25df4bff44 * commit '25df4bff44a0d1a342dc45521bf7e860b3fef947': Pass permitted_path to the linker as is. Change-Id: Idf8459267f8e1cc7bebc9a55b1272871b3d8119a
|
24db75c1ce7ff8376a475214b059b9a37ac07936 |
|
13-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Set parent namespace for linker-namespaces This change allows applications to share RTLD_GLOBAL native libraries between namespaces associated with different classloaders. The rule is - if a library is GLOBAL within namespace associated with parent classloader, it is shared with namespace associated with this classloader Note that the sharing happens on create_namespace event, which is tied to createClassloader in case of application classloaders created by the framework, for custom application classloaders it is tied to first loadLibrary() event. Bug: http://b/28560538 Bug: https://code.google.com/p/android/issues/detail?id=208458 Change-Id: I7ee701166f8ec5eff033b7acc0f80c7aa4ec5bda
/system/core/libnativeloader/native_loader.cpp
|
25df4bff44a0d1a342dc45521bf7e860b3fef947 |
|
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. Now that we have the fixed list of whitelisted libraries there is no longer need to check if java_permitted_path is nullptr. In fact checking it prevents custom classloaders created by apps from loading libraries using absolute path. Bug: http://b/28659864 Change-Id: I1bfc16a573b090f70f078ecccd0e4016939a5dc0 (cherry picked from commit b31caa95ec1ab9da7b300544e9716c1cac92d8f8)
/system/core/libnativeloader/native_loader.cpp
|
b31caa95ec1ab9da7b300544e9716c1cac92d8f8 |
|
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. Now that we have the fixed list of whitelisted libraries there is no longer need to check if java_permitted_path is nullptr. In fact checking it prevents custom classloaders created by apps from loading libraries using absolute path. Bug: http://b/28659864 Change-Id: I1bfc16a573b090f70f078ecccd0e4016939a5dc0
/system/core/libnativeloader/native_loader.cpp
|
17decbd637ab9dba0d87ea8cb92867c4117b5a7d |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Move linker-namespace functions declarations" am: 37ed923d1c am: 3f0a12622b * commit '3f0a12622b8d35f1223945498a086e19c791bf24': Move linker-namespace functions declarations Change-Id: I6f3e8b5ef608e3b930510b5c483ec6e7963eb4f7
|
c337cae9adcb538a4562641f97bdde933d085a82 |
|
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move linker-namespace functions declarations They are intended for platform use only and we shouldn't have them in the public header file. This CL moves them to libnativeloader private header file. Bug: http://b/28174921 Change-Id: I01cf446d2d8d7cf6f9e31130aa3d4e54fbbbb9fc (cherry picked from commit 6796522256b4cd861d3ebaf8264bd272b3c7441f)
/system/core/libnativeloader/native_loader.cpp
|
37ed923d1c08b8b9204a6a66f11bbf0b4375d35b |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Move linker-namespace functions declarations"
|
d7cbb6f053c29c9967c25b5723be32ae6d26f97d |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "nativeloader: Ignore empty java_permitted_path" into nyc-dev am: 6edd0c3a68 * commit '6edd0c3a68f60541c31fd65080e52939f2be3bc2': nativeloader: Ignore empty java_permitted_path Change-Id: I1777b3a05d2e233000815172cfa1e56326be634b
|
72ca40f738a86d9bb8d1cdfb06ce20ca4493bf61 |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Ignore empty java_permitted_path Passing empty permitted path should result in no-op. This addresses review comment on CL with commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 Bug: http://b/28639227 Change-Id: I4a4540e522e90a145a374939921932c86f35e88d (cherry picked from commit d0b1531929d76411d964d4077d441d751e2c01fb)
/system/core/libnativeloader/native_loader.cpp
|
ddc6a4a0a6d5ee2faab9021ff302142033b16842 |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Check if public namespace has already been initialized" am: 0756fae4f1 am: 5cd1e6822a * commit '5cd1e6822abd016e5ee6e642528b39acaf15ae55': Check if public namespace has already been initialized Change-Id: I13740764783765256af2fb1672fbfc5592147760
|
0756fae4f1aea5072ed820087b2487b408194c38 |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Check if public namespace has already been initialized"
|
d0b1531929d76411d964d4077d441d751e2c01fb |
|
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Ignore empty java_permitted_path Passing empty permitted path should result in no-op. This addresses review comment on CL with commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 Bug: http://b/28639227 Change-Id: I4a4540e522e90a145a374939921932c86f35e88d
/system/core/libnativeloader/native_loader.cpp
|
637da4eeeb3ac023a8af497ee91cf3c871d4b6dc |
|
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Extend white-listed directories to include /mnt/expand Apps on sdcard live under /mnt/expand and therefore this directory should be under linker namespaces permitted_path. Bug: http://b/28639227 Change-Id: I462f9f23656c95d9c2a48bb3f513abcd9d08f340 (cherry picked from commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9)
/system/core/libnativeloader/native_loader.cpp
|
f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 |
|
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Extend white-listed directories to include /mnt/expand Apps on sdcard live under /mnt/expand and therefore this directory should be under linker namespaces permitted_path. Bug: http://b/28639227 Change-Id: I462f9f23656c95d9c2a48bb3f513abcd9d08f340
/system/core/libnativeloader/native_loader.cpp
|
80ddb8f5517b4632307705858c3402081583a456 |
|
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Check if public namespace has already been initialized There is no point in reading/loading the list of public libraries once public namespace is already initialized. Change-Id: I5a53c46bb57b8de241ba521a6321c12e94a76476
/system/core/libnativeloader/native_loader.cpp
|
6796522256b4cd861d3ebaf8264bd272b3c7441f |
|
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move linker-namespace functions declarations They are intended for platform use only and we shouldn't have them in the public header file. This CL moves them to libnativeloader private header file. Bug: http://b/28174921 Change-Id: I01cf446d2d8d7cf6f9e31130aa3d4e54fbbbb9fc
/system/core/libnativeloader/native_loader.cpp
|
cf9892b6d1b0138bdf2341aaa0670c43af27cb85 |
|
09-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Fix the case of search_path == null When user creates custom classloader which does not extend BaseDexClassLoader the librarySearchPath gets set to null by java.lang.Runtime.doLoad(). This patch makes nativeloader correctly handle it. Bug: http://b/28659864 Change-Id: I1b61c6bc952984d7c49775a9178fc3270948e62a (cherry picked from commit 8a0425b86acd4f20ef68ef350ac32e1c5057c558)
/system/core/libnativeloader/native_loader.cpp
|
8a0425b86acd4f20ef68ef350ac32e1c5057c558 |
|
09-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Fix the case of search_path == null When user creates custom classloader which does not extend BaseDexClassLoader the librarySearchPath gets set to null by java.lang.Runtime.doLoad(). This patch makes nativeloader correctly handle it. Bug: http://b/28659864 Change-Id: I1b61c6bc952984d7c49775a9178fc3270948e62a
/system/core/libnativeloader/native_loader.cpp
|
7d02829636cfb4d23c5665b1481ccb3d20f27b56 |
|
06-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add public libs from an environment variable This is enabled only for builds with ro.debuggable=1 It is intended for use only in tests using dalvikvm and needing access to platform libraries. Bug: http://b/28449304 Change-Id: I402457d0da542996ccf265aeaa305f09881e4333 (cherry picked from commit 4ddabd01bf361cadb33baa7213e2ca5129b938f0)
/system/core/libnativeloader/native_loader.cpp
|
4ddabd01bf361cadb33baa7213e2ca5129b938f0 |
|
06-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add public libs from an environment variable This is enabled only for builds with ro.debuggable=1 It is intended for use only in tests using dalvikvm and needing access to platform libraries. Bug: http://b/28449304 Change-Id: I402457d0da542996ccf265aeaa305f09881e4333
/system/core/libnativeloader/native_loader.cpp
|
ad717d6566eb381fb0ef47941c000789f048cf81 |
|
05-May-2016 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "nativeloader: Add CloseNativeLibrary() method"
|
7a1f9518f77e33e40efcec7ace0ee5d3855ccd8b |
|
03-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add CloseNativeLibrary() method This method is called by art on UnloadNativeLibraries() Bug: http://b/28406866 Change-Id: Ibccff93c83d6ccd3d0a1c0294a64b09281b4e05e (cherry picked from commit 09a516bf161c5cabdaa3a67df5aa7fbac667f5f9)
/system/core/libnativeloader/native_loader.cpp
|
09a516bf161c5cabdaa3a67df5aa7fbac667f5f9 |
|
03-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add CloseNativeLibrary() method This method is called by art on UnloadNativeLibraries() Bug: http://b/28406866 Change-Id: Ibccff93c83d6ccd3d0a1c0294a64b09281b4e05e
/system/core/libnativeloader/native_loader.cpp
|
911472da85bb1caa3e28d86c17ade347d06f33b3 |
|
02-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add Reset capabilities In the case when VM is restarted all weak references from the old VM become invalid. In such event NativeLoader needs to clear the list of classloaders from old VM. Bug: http://b/28453840 Bug: http://b/28449304 Change-Id: I2268c1e21cf940c57ddc5f0312f56b71aa702134 (cherry picked from commit be4ca3afc0636b314d676480156eb6977739dd00)
/system/core/libnativeloader/native_loader.cpp
|
be4ca3afc0636b314d676480156eb6977739dd00 |
|
02-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add Reset capabilities In the case when VM is restarted all weak references from the old VM become invalid. In such event NativeLoader needs to clear the list of classloaders from old VM. Bug: http://b/28453840 Bug: http://b/28449304 Change-Id: I2268c1e21cf940c57ddc5f0312f56b71aa702134
/system/core/libnativeloader/native_loader.cpp
|
0b5651e1588c2fee6a587314993a166a77068974 |
|
22-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
native_loader: Use ANDROID_ROOT environment variable Replace "/system" with ANDROID_ROOT environment variable. Bug: http://b/28320913 Bug: http://b/28082914 Change-Id: Ib039722cb059bae1635b45f6af20ef0180e83ba9 (cherry picked from commit 7e8cee8fb2e3d92e60554296eebe9d1e75cfd473)
/system/core/libnativeloader/native_loader.cpp
|
5539db0b4f915bf15de742d1378904a553dc80dc |
|
21-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Enable namespaces for all target sdk versions We previously relied on the fact that target sdk version 0 implies system_server, which is not true, target sdk version may be set to 0 for other apps and it means 1 - the earliest version of android. This change enables namespaces for apps targeting all sdk version and for system_server. Bug: http://b/27702070 Change-Id: I16fbdeb6868c7035aec71132c80c150c08ea2cc3 (cherry picked from commit 213676b88019016f8c968a05c50a196e2aaaeff8)
/system/core/libnativeloader/native_loader.cpp
|
7e8cee8fb2e3d92e60554296eebe9d1e75cfd473 |
|
22-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
native_loader: Use ANDROID_ROOT environment variable Replace "/system" with ANDROID_ROOT environment variable. Bug: http://b/28320913 Bug: http://b/28082914 Change-Id: Ib039722cb059bae1635b45f6af20ef0180e83ba9
/system/core/libnativeloader/native_loader.cpp
|
213676b88019016f8c968a05c50a196e2aaaeff8 |
|
21-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Enable namespaces for all target sdk versions We previously relied on the fact that target sdk version 0 implies system_server, which is not true, target sdk version may be set to 0 for other apps and it means 1 - the earliest version of android. This change enables namespaces for apps targeting all sdk version and for system_server. Bug: http://b/27702070 Change-Id: I16fbdeb6868c7035aec71132c80c150c08ea2cc3
/system/core/libnativeloader/native_loader.cpp
|
3150fa25140fd5e2d66569841bd8e8eba07adb27 |
|
15-Apr-2016 |
Alex Light <allight@google.com> |
Remove workaround for libart greylist. Bug: 27775991 Change-Id: I77f03b95f70957df58e666b011a07cfc2a33b480
/system/core/libnativeloader/native_loader.cpp
|
b614045894c99fb1d35179d3e0a0bab0d5dec666 |
|
07-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow vendors to extend the list of public libs native_loader adds libraries specified in the (optional) file: /vendor/etc/public.libraries.txt to the list of public native libraries. Bug: http://b/27073931 Change-Id: I927193cce99d48c3395bd0e6c373ae9fad0f13f4 (cherry picked from commit 617f495cf7a8e07b433058fb7f4c7611b584fda9)
/system/core/libnativeloader/native_loader.cpp
|
617f495cf7a8e07b433058fb7f4c7611b584fda9 |
|
07-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow vendors to extend the list of public libs native_loader adds libraries specified in the (optional) file: /vendor/etc/public.libraries.txt to the list of public native libraries. Bug: http://b/27073931 Change-Id: I927193cce99d48c3395bd0e6c373ae9fad0f13f4
/system/core/libnativeloader/native_loader.cpp
|
4f8bb2577a7394f7c9ba0e4530f6374b8cbf20fa |
|
30-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Adjust check for target_sdk_version for workarounds target_sdk_version=0 is a valid version, it basically means 1 (the very first version of android) not current one. Bug: http://b/27702070 Change-Id: Ib7843718f364b975e1d09a05377bf8580b407d9d
/system/core/libnativeloader/native_loader.cpp
|
7f9a1aaf05dda20904f08a667dadcf555a41477e |
|
22-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
A workaround for apps using custom classloaders Allow custom classloaders to load native libraries from anywhere under /data Bug: http://b/27588281 Change-Id: Idb87b33361903f52b734ddd0ceaabe1ff9c281eb
/system/core/libnativeloader/native_loader.cpp
|
d1fdb9883011f57ab7a3fdcde4d835ef6918b14c |
|
15-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move list of public libraries to a config file This list contains libraries that should directly or indirectly be accessible to apps for the platform. Note that this list is not device specific but rather device class specific. For now we have 2 separate lists; one for Android Phones and Tablets, and another one for Android Wear devices. Bug: http://b/27546414 Bug: http://b/22548808 Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146 (cherry picked from commit 4b0e963872715775a63f36b385150cba4801b1d0)
/system/core/libnativeloader/native_loader.cpp
|
4b0e963872715775a63f36b385150cba4801b1d0 |
|
15-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move list of public libraries to a config file This list contains libraries that should directly or indirectly be accessible to apps for the platform. Note that this list is not device specific but rather device class specific. For now we have 2 separate lists; one for Android Phones and Tablets, and another one for Android Wear devices. Bug: http://b/27546414 Bug: http://b/22548808 Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146
/system/core/libnativeloader/native_loader.cpp
|
9c0a2029771846ecea9121cf249169e581f6f7f5 |
|
16-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Revert "libnativeloader: Make webviewchromium so file optional" This reverts commit 75dda7551f6a3499c0c45ed0f9530353c7616357. Bug: http://b/27546414
/system/core/libnativeloader/native_loader.cpp
|
75dda7551f6a3499c0c45ed0f9530353c7616357 |
|
16-Mar-2016 |
Prashant Malani <pmalani@google.com> |
libnativeloader: Make webviewchromium so file optional Not all android devices ship with Webview. The requirement of libwebviewchromium_plat_support.so to be loaded while initializing the android namespace is therefore liable to cause a crash on devices that don't support or use Webview. Therefore, this patch makes this requirement conditional, but enabled by default. To remove the dependency, device make files should add the following: TARGET_IGNORE_WEBVIEW_CHROMIUM := true Bug: 27336841 Bug: 27546414 Change-Id: Iaec1b58236356d981504ea8f716413ea334ca4f4
/system/core/libnativeloader/native_loader.cpp
|
5f28b8460d9e53c5ccbe154ec244c9ae56b4a97c |
|
04-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Handle the case when libart.so is not in use In the case when libartd.so is used libart.so does not have to be included in the public namespace. Bug: http://b/27496326 Change-Id: I464bafec1d9da5c3f3f03fef02af3f34bf377297
/system/core/libnativeloader/native_loader.cpp
|
1dff1aa97c4ee3ea1436e95fea2fb20c7e8cbead |
|
29-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Fix locking of libnativeloader This commit fixes race condition introduced in d047c925af62e1fe28fcd1c1940df4afe18d458a Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: I5d94f130937f18d3443878b3521715a8f87427e0 (cherry picked from commit 34d5a20c8bb57adae8711c7f9d90a77fbd4043c7)
/system/core/libnativeloader/native_loader.cpp
|
34d5a20c8bb57adae8711c7f9d90a77fbd4043c7 |
|
29-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Fix locking of libnativeloader This commit fixes race condition introduced in d047c925af62e1fe28fcd1c1940df4afe18d458a Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: I5d94f130937f18d3443878b3521715a8f87427e0
/system/core/libnativeloader/native_loader.cpp
|
4cd07681158830ec49f763f746d6644099a73b42 |
|
23-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Added function to explicitly initialize a namespace This change replaces lazy get-or-create logic for linker namespaces with the explicit one. ApplicationLoaders.getClassLoader(..) is now resposible for the namespace initialization for PathClassLoaders. Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: Ife987c3ca1db33a47c20f363a5ed61512be8b5a7 (cherry picked from commit d047c925af62e1fe28fcd1c1940df4afe18d458a)
/system/core/libnativeloader/native_loader.cpp
|
d047c925af62e1fe28fcd1c1940df4afe18d458a |
|
23-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Added function to explicitly initialize a namespace This change replaces lazy get-or-create logic for linker namespaces with the explicit one. ApplicationLoaders.getClassLoader(..) is now resposible for the namespace initialization for PathClassLoaders. Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: Ife987c3ca1db33a47c20f363a5ed61512be8b5a7
/system/core/libnativeloader/native_loader.cpp
|
6f80022908e79cb64b95828beb2883c7c3ce2a2c |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add PreloadPublicNativeLibraries function Shift responsibility of preloading native libraries to the user of the library. This lets applications that do not use jni but depend on libnative_loader.so to avoid unnecessary preloads of public libraries which could be expensive. Bug: http://b/27245894 Change-Id: I12a8100de5da639c068769bca21ecebff2b2d538 (cherry picked from commit 426799d77014888315233253e96277bef13158eb)
/system/core/libnativeloader/native_loader.cpp
|
426799d77014888315233253e96277bef13158eb |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add PreloadPublicNativeLibraries function Shift responsibility of preloading native libraries to the user of the library. This lets applications that do not use jni but depend on libnative_loader.so to avoid unnecessary preloads of public libraries which could be expensive. Bug: http://b/27245894 Change-Id: I12a8100de5da639c068769bca21ecebff2b2d538
/system/core/libnativeloader/native_loader.cpp
|
2f9cd05c47e7739cda5f931c120cc1f55e2a9e82 |
|
24-Feb-2016 |
Jesse Hall <jessehall@google.com> |
Merge "native_loader: add libvulkan.so to public native library list" into nyc-dev
|
dee3d96c01d6de65b3d890012162a367bb6918b7 |
|
24-Feb-2016 |
Jesse Hall <jessehall@google.com> |
native_loader: add libvulkan.so to public native library list Change-Id: I2228af5ec4b815631a9c5ca745718807d58028a3
/system/core/libnativeloader/native_loader.cpp
|
f44ecde58832372ca0edf053eeee44ad56f69944 |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Export FindNamespaceByClassLoader Bug: http://b/27189432 Change-Id: Ib80dcce949276ee620f601c47b20f783708e8e85 (cherry picked from commit 0cd10d83e4e14300d03a60f28547b90d0c805579)
/system/core/libnativeloader/native_loader.cpp
|
c914ebd4841ba9e5b8f446dfc5b6dfeecb56531f |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: refactor FindNamespaceByClassLoader method FindNamespaceByClassLoader returns android_namespace_t* to make it suitable for exporting this functionality. Bug: http://b/27189432 Change-Id: Ifef3de753192178e0184fb114596fe956fde2826 (cherry picked from commit 34fa704df45c5f74aeb5230e4bf3930585cf32fb)
/system/core/libnativeloader/native_loader.cpp
|
0cd10d83e4e14300d03a60f28547b90d0c805579 |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Export FindNamespaceByClassLoader Bug: http://b/27189432 Change-Id: Ib80dcce949276ee620f601c47b20f783708e8e85
/system/core/libnativeloader/native_loader.cpp
|
34fa704df45c5f74aeb5230e4bf3930585cf32fb |
|
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: refactor FindNamespaceByClassLoader method FindNamespaceByClassLoader returns android_namespace_t* to make it suitable for exporting this functionality. Bug: http://b/27189432 Change-Id: Ifef3de753192178e0184fb114596fe956fde2826
/system/core/libnativeloader/native_loader.cpp
|
dab56737ca898d913c79c4ded76d78d8b3f5ffa3 |
|
18-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Limit libart.so visibility to apps targeting <= M Add libart.so to the list of public libraries only for apps targeting android M and below. Bug: http://b/27210062 Bug: http://b/26436837 Change-Id: I1ed3b0335a343044a76273741ea8770dcce12ebe
/system/core/libnativeloader/native_loader.cpp
|
55bbb0d88ada4d7394411dba004d2af6086da6a4 |
|
10-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Preload public native libraries Preload libraries needed by the public namespace at the earlier stage. This saves time on InitPublicNamespace and saves memory because the libraries are linked before zygote fork. Bug: http://b/26409579 Change-Id: I59153a4180b930f31b542d8d2cb17b5d63c36774 (cherry picked from commit d68c8e9f84557484ef3e8a3ee03398d22f109fa8)
/system/core/libnativeloader/native_loader.cpp
|
d68c8e9f84557484ef3e8a3ee03398d22f109fa8 |
|
10-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Preload public native libraries Preload libraries needed by the public namespace at the earlier stage. This saves time on InitPublicNamespace and saves memory because the libraries are linked before zygote fork. Bug: http://b/26409579 Change-Id: I59153a4180b930f31b542d8d2cb17b5d63c36774
/system/core/libnativeloader/native_loader.cpp
|
4e9bda387315c88326813b9d13265bccaa22ceaf |
|
02-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Include icu4c libraries to the list of public libs" am: 17e33647f0 am: 819da66bec * commit '819da66bec28c31d564ba695d4d32f1a4727cad1': Include icu4c libraries to the list of public libs
|
c24ca894f541c78c661ad40ec9bcf78384f2b26d |
|
02-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Include icu4c libraries to the list of public libs Note that with this change the linker will ignore icu libraries provided by an app because public libraries are always provided by system. At this point it does not affect any apps because before Marshmallow all of them were getting platform version of icu4c libs anyways (they will be getting their own copy of the library only in Marshmallow release). Bug: http://b/26217329 Bug: http://b/26929349 Change-Id: I681cab43c9f28ec22319d9f0424bd3df00743a5f
/system/core/libnativeloader/native_loader.cpp
|
73d2bc07b25e8ee0794e6b63f331a72de631b1be |
|
26-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libcamera2ndk.so to the list of public libraries Bug: http://b/23012001 Change-Id: If5bfd9ea15fcfe508aee4731d7f84fe517bfb43e
/system/core/libnativeloader/native_loader.cpp
|
e803dd8aec98aa8e2c0679affd3cb661719e6f84 |
|
14-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Add libRS.so to the list of public libraries" am: ebe04a9b89 am: 108eaa1429 * commit '108eaa1429ec7cffd5aa38a97674fb3565ad581e': Add libRS.so to the list of public libraries
|
cdb6fee17c29dd6b2c84fdb05dbcc382e24e67c0 |
|
14-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libRS.so to the list of public libraries Bug: http://b/26509995 Change-Id: I8c0ae3629928171d229a901cfc997780665e3ae8
/system/core/libnativeloader/native_loader.cpp
|
6082622b1805e925412100c736fb98143d9390d7 |
|
12-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Make libwebviewchromium_plat_support.so public" am: cd60e4bdd6 am: ce292ad06c * commit 'ce292ad06ccd38beaa2d7bf8add13dbdf01f91e5': Make libwebviewchromium_plat_support.so public
|
3d5a43449f414cde4b7602a20b764f28c58dd740 |
|
11-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libart.so to the list of public libraries This is a temporary workaround for apps relying on libart internal state. Bug: http://b/26436837 Change-Id: Ibd6a766c3c8edebe885d897565a72a7a407828c3
/system/core/libnativeloader/native_loader.cpp
|
90bf68e8d1388ecf0ff24de4e408ff35d0532730 |
|
08-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Make libwebviewchromium_plat_support.so public Add libwebviewchromium_plat_support.so to the list of public libraries. Bug: http://b/26461431 Change-Id: I958a1182198bf59d9b6fc818953212ce505d6bdd
/system/core/libnativeloader/native_loader.cpp
|
619ffb4f5bec53adcd0b204c61c0e4d1d6ab529e |
|
16-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Revert "Temporary disable linker-namespaces" This reverts commit c18ac7cd2bc6214745b91d74e249962ce9ff7d26.
/system/core/libnativeloader/native_loader.cpp
|
d2a6220001c9693664f8cf514f0653a4e1b859ea |
|
15-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Add parameter for shared namespaces Shared namespaces are used for bundled app classloaders. Bug: http://b/22548808 Bug: http://b/26165097 Change-Id: I163033f70c50ef9ddb4164676c033ab30748964e (cherry picked from commit ef4639c1a5159726797dec719d84e3a88e96f8a0)
/system/core/libnativeloader/native_loader.cpp
|
c18ac7cd2bc6214745b91d74e249962ce9ff7d26 |
|
12-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Temporary disable linker-namespaces Bug: http://b/26164393 Change-Id: If6277407a6a5a4da9e3ad01dc45f57a7fc9954e4
/system/core/libnativeloader/native_loader.cpp
|
0d6e59407d7b57805a72fe4d3df03c5249ea7ae8 |
|
08-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Apply permitted path to the classloader-namespace Bug: http://b/25853516 Bug: http://b/22548808 Change-Id: I283e6ee8d743bc3ab41aab9f36af0abbe729943f
/system/core/libnativeloader/native_loader.cpp
|
8b0471462e5bb9e81652a1a53cc786df9848feef |
|
08-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename of base/ to android-base/. Change-Id: I974d67b6568e913bfb7700d952be55b4073388ee
/system/core/libnativeloader/native_loader.cpp
|
ac1b1919f8d655f652e77f59cc52813199085cd9 |
|
01-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Native loader as a separate library Extracted native loader to separate library in order to be able to reuse it for NativeActivities related native code in libandroid_runtime.so Bug: http://b/22548808 Change-Id: Ibcf5ddcdc5aba22e32e4b72887840e9c171c1986
/system/core/libnativeloader/native_loader.cpp
|