diff options
| author | 2015-12-11 12:37:43 -0800 | |
|---|---|---|
| committer | 2015-12-11 12:37:43 -0800 | |
| commit | 1b6dd57975aefbb28d66f0e58ecdf4abe56648b4 (patch) | |
| tree | ed8a1ce97cca924207da598fe7333c4ae7083f77 /runtime/java_vm_ext.cc | |
| parent | 4b273683dcc6087e70e1e4f98867c55aebed6f61 (diff) | |
| parent | 98d46d2d287c8081995517770392a21b4d59d2e9 (diff) | |
Merge "Use isolated namespaces for app native libs"
am: 98d46d2d28
* commit '98d46d2d287c8081995517770392a21b4d59d2e9':
Use isolated namespaces for app native libs
Diffstat (limited to 'runtime/java_vm_ext.cc')
| -rw-r--r-- | runtime/java_vm_ext.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index 7cc05f7cd4..15f51220e4 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -17,6 +17,7 @@ #include "jni_internal.h" #define ATRACE_TAG ATRACE_TAG_DALVIK + #include <cutils/trace.h> #include <dlfcn.h> @@ -31,6 +32,7 @@ #include "mirror/class-inl.h" #include "mirror/class_loader.h" #include "nativebridge/native_bridge.h" +#include "nativeloader/native_loader.h" #include "java_vm_ext.h" #include "parsed_options.h" #include "runtime-inl.h" @@ -715,6 +717,7 @@ void JavaVMExt::UnloadNativeLibraries() { } bool JavaVMExt::LoadNativeLibrary(JNIEnv* env, const std::string& path, jobject class_loader, + jstring library_path, jstring permitted_path, std::string* error_msg) { error_msg->clear(); @@ -774,7 +777,8 @@ bool JavaVMExt::LoadNativeLibrary(JNIEnv* env, const std::string& path, jobject Locks::mutator_lock_->AssertNotHeld(self); const char* path_str = path.empty() ? nullptr : path.c_str(); - void* handle = dlopen(path_str, RTLD_NOW); + void* handle = android::OpenNativeLibrary(env, runtime_->GetTargetSdkVersion(), + path_str, class_loader, library_path, permitted_path); bool needs_native_bridge = false; if (handle == nullptr) { if (android::NativeBridgeIsSupported(path_str)) { |