diff options
Diffstat (limited to 'libnativeloader/native_loader.cpp')
-rw-r--r-- | libnativeloader/native_loader.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libnativeloader/native_loader.cpp b/libnativeloader/native_loader.cpp index ce893db0f..3e4b15a01 100644 --- a/libnativeloader/native_loader.cpp +++ b/libnativeloader/native_loader.cpp @@ -130,7 +130,12 @@ class LibraryNamespaces { // TODO (dimitry): This is a workaround for http://b/26436837 // will be removed before the release. if (target_sdk_version <= 23) { - publicNativeLibraries += ":libart.so"; + // check if libart.so is loaded. + void* handle = dlopen("libart.so", RTLD_NOW | RTLD_NOLOAD); + if (handle != nullptr) { + publicNativeLibraries += ":libart.so"; + dlclose(handle); + } } // END OF WORKAROUND |